腾讯云点播web端视频上传及其注意事项

这篇具有很好参考价值的文章主要介绍了腾讯云点播web端视频上传及其注意事项。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述:项目组长让我们研究一下云点播的视频上传是如何实现的,于是我们就买了一个9.9元的新手包进行测试。结果测试了两天依然没办法在web端把视频上传到腾讯云上,查了很多资料还是不行,最后去找客服进行友好的交流(对线)之后才成功的解决了视频上传的问题

ps:他的官方文档真的容易误导人!

首先贴上官方文档,本文对官方文档进行一些补充和解释云点播 客户端上传指引 - 开发指南 - 文档中心 - 腾讯云操作场景客户端视频上传是指App的最终用户将本地视频上传到云点播平台,其流程图如下。本文将为您介绍如何使用客户端上传视频。前提条件1.开通服务开通云点播服务,详细请参见购买指引。https://cloud.tencent.com/document/product/266/9219这里按照官方文档走,一直到服务端签名派发这一步,本文使用的是java,在写完了生成签名的工具类,在Controller层根据响应生成签名,生成签名后放入msg里

如果签名有错或者不确定签名是否正确的,这里贴上两个官方验证签名和生成签名的网址:

生成签名:点播客户端上传-签名生成工具

验证签名:点播客户端上传-签名校验工具 

获取签名类如下所示:

@GetMapping("/getSign")
public BaseMessage getUploadSign(){
        BaseMessage msg = new BaseMessage();
        Signature sign = new Signature();
        // 设置 App 的云 API 密钥
        sign.setSecretId("这里填写个人 API 密钥中的 Secret Id");
        sign.setSecretKey("这里填写个人 API 密钥中的 Secret Key");
        sign.setCurrentTime(System.currentTimeMillis() / 1000);
        sign.setRandom(new Random().nextInt(java.lang.Integer.MAX_VALUE));
        sign.setSignValidDuration(3600 * 24 * 2); // 签名有效期:2天

        try {
            String signature = sign.getUploadSignature();
            if (msg != null){
                msg.setMsg(signature);
                msg.setCode(1);
            }
            return msg;

        } catch (Exception e) {
            e.printStackTrace();
            // return JsonResult.fail("获取签名失败");
            msg.setCode(0);
            msg.setMsg("获取签名失败");
            return msg;
        }
    }

!这里一定要注意的是:返回给web端的值只能是签名本身,也就是字符串signature。

在官方文档里的这一句让我误导了很久,真的是泪的教训 

腾讯云点播web端视频上传及其注意事项

web端我使用的是vue+element-ui组件来进行视频上传

template部分:
<template>
  <div class="container">
    <h2 class="handle-title">视频上传中</h2>
    <div class="upload_video" id="upload_video">
      <el-upload
        class="upload-demo"
        ref="upload"
        action="#"
        :http-request="uploadVideo"
        :limit="1"
        :on-remove="handleRemove"
        :on-change="handleChange"
        :auto-upload="false">
        <el-button slot="trigger" size="small" type="primary">选取视频</el-button>
        <el-button style="margin-left: 40px;" size="small" type="success" @click="submitUpload">点击上传</el-button>
        <el-progress class="progress" :text-inside="true" :stroke-width="18" :percentage="progress"
                     status="exception"></el-progress>
        <div slot="tip" class="el-upload__tip">建议上传mp4文件,且不超过500M</div>
      </el-upload>
    </div>
  </div>
</template>
script部分:
<script>
  import TcVod from 'vod-js-sdk-v6' //点播云必备的依赖
  import {getSignature} from "../../api/videoAPI/api"; //从后端拿到签名的接口

  export default {
    name: '',
    data() {
      return {
        // 文件列表
        fileList: [],
        // 上传成功后的地址
        videoURL: '',
        // 进度条百分比
        progress: 0,
        // 上传视频获取成功后拿到的fileID【备用】
        fileId: '',
        //云点播签名
        msg: ""
      }
    },
    mounted() {
      let that = this;
      // 获取签名 这里的签名请求是由后端提供的,只需要拿到后端给的签名请求即可
      getSignature().then((res)=>{
        that.msg = res.data.msg
        //console.log(res)
      })
    },
    methods: {
      // 文件列表改变时 将文件列表保存到本地
      handleChange(file, fileList) {
        this.fileList = fileList
      },
      // 点击上传时
      submitUpload() {
        if (this.fileList.length < 1) return this.$alert('请先选取视频,再进行上传', '提示')
        this.uploadVideo()
      },
      // 自定义上传
      uploadVideo(e) {
        let that = this;
        //console.log(this.fileList[0].raw)
        if (this.fileList.length < 1) {
          window.alert('您还没有选取文件')
        } else {
          //必须以函数的形式返回 sdk参数限制
          const getSignature = async () => {
            const data = that.msg;
            //console.log(this.msg)
            return data
          }
          // //console.log(this.msg)
          const tcVod = new TcVod({
            getSignature: getSignature // 获取上传签名的函数
          })
          // 获取通过elementui上传到本地的文件 因为参数类型必须为file 不能直接以对象的形式传输
          const mediaFile = this.fileList[0].raw
          const uploader = tcVod.upload({
            mediaFile: mediaFile
          })
          // 监听上传进度
          uploader.on('media_progress', info => {
            this.progress = parseInt(info.percent * 100)
          })
          // 上传结束时,将url存到本地
          uploader.done().then(doneResult => {
            this.fileId = doneResult.fileId
            this.videoURL = doneResult.video.url
          })
        }
      },
      // 点击删除时
      handleRemove(file, fileList) {
        //console.log(file, fileList.length)
      }
    },
  }
</script>

折腾了很久,最后成功上传了,开心文章来源地址https://www.toymoban.com/news/detail-403644.html

到了这里,关于腾讯云点播web端视频上传及其注意事项的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手机怎么剪视频?分享一些剪辑工具和注意事项

    视频剪辑是一种将多个视频片段进行剪切、合并和编辑的技术,它可以帮助我们制作出精彩的视频作品。如今,随着智能手机的普及,我们可以随时随地使用手机进行视频剪辑。本文将为大家介绍一些手机剪辑工具和注意事项,帮助大家更好地进行视频剪辑。   首先,我们来

    2024年02月10日
    浏览(39)
  • 安防视频监控系统EasyCVR实现H.265视频在3秒内起播的注意事项

    可视化云监控平台/安防视频监控系统EasyCVR视频综合管理平台,采用了开放式的网络结构,可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力,同时还具备权限管理、设

    2024年02月04日
    浏览(36)
  • 海康硬盘录像机接入RTSP/onvif协议安防视频平台EasyNVR的注意事项

    EasyNVR安防视频云服务平台可支持设备通过RTSP/Onvif协议接入平台,能提供视频监控直播、录像、云存储、检索与回看、国标级联等视频能力,可支持分发RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式的视频流。 有用户咨询,将海康硬盘录像机接入EasyNVR平台后显示离线,不知道什

    2024年02月05日
    浏览(65)
  • cocos creator对接字节跳动(抖音)小游戏激励视频广告注意事项(审核不通过,次数不一致和重复获得奖励等)

    首先是官方文档里的对接方式:(https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/api/open-interface/ads/rewarded-video/tt-createRewardedVideoAd) 在cocos creator开发的小游戏中,把onLoad换成start就差不多了,场景初始化的时候把视频对象初始化好,事件绑定好,如果是单场景的游戏确

    2024年02月16日
    浏览(37)
  • Web开发的富文本编辑器CKEditor介绍,Django有库ckeditor_uploader对它进行支持,django-ckeditor安装方法及使用注意事项

    当需要在网页应用程序中提供富文本编辑功能时,CKEditor是一个流行的选择。CKEditor是一个开源的JavaScript富文本编辑器,它提供了强大的功能和用户友好的界面,使用户可以轻松创建和编辑格式化的文本内容。 以下是CKEditor的一些主要特性: 所见即所得编辑 :CKEditor提供了所

    2024年02月16日
    浏览(42)
  • 学习Linux的注意事项(使用经验;目录作用;服务器注意事项)

    本篇分享学习Linux过程中的一些经验 Linux严格区分大小写 Linux中所有内容以文件形式保存 ,包括硬件,Linux是以管理文件的方式操作硬件 硬盘文件是 /dev/sd[a-p] 光盘文件是 /dev/sr0 等 对于设置需要写入文件,命令行的设置在重启之后就会失效,只有下入文件才可以保存下来 文

    2024年02月11日
    浏览(56)
  • 弱电线布线注意什么?弱电线布线的注意事项

    弱电 弱电一般是指直流电路或音频、视频线路、网络线路、电话线路,直流电压一般在36V以内。家用电器中的电话、电脑、电视机的信号输入(有线电视线路)、音响设备(输出端线路)等用电器均为弱电电气设备。 弱电线的种类如:电话线、网络线、有线电视线及音响线

    2024年02月07日
    浏览(32)
  • 低代码选型注意事项

    凭借着革命性的生产力优势,低代码技术火爆了整个IT圈。面对纷繁复杂的低代码和无代码产品,开发者该如何选择? 在研究低代码平台的年数上,本人已有3年,也算是个低代码资深用户了,很多企业面临低代码选型上的困难,选平台容易,换平台难。下面基于个人理解给大

    2024年02月03日
    浏览(47)
  • 算法竞赛个人注意事项

    浅浅记录一下自己在算法竞赛中的注意事项。 注意看数大小,数学库中的函数尽量加上 * 1.0 , 转成double,防止整型溢出。 , int 型相乘如果可能溢出,乘 * 1LL 。 数据范围大于1e6,注意用快读。 浮点数输入输出: 取模,注意取成负数的情况。 全 int ,但是数据太大,全转

    2024年02月09日
    浏览(37)
  • 钢网的清洗注意事项

    在smt贴片加工的生产过程中,由于钢网受重力影响会变形、定位可能会有不准确、支撑没有到位或者是设计等其他问题,这样的话在锡膏印刷的时候钢网和电路板的焊盘之间很难形成理想的密封状态,在SMT贴片加工的过程中,会引起焊锡膏在钢网跟电路板的空隙间挤出来,并

    2024年02月11日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包