详情页标题前

腾讯云云点播如何在服务端上传视频

详情页1

使用须知

内容介绍

文档开发者介绍如何将服务器本地的视频文件上传到云点播(VOD)。

费用

本文提供的代码是免费开源的,但在使用的过程中可能会产生以下费用:购买腾讯云云服务器(CVM)用于执行上传脚本,详见 CVM 计费消耗 VOD 存储用于存储上传的视频,详见 存储计费存储资源包

将 CVM 上的视频上传到 VOD

步骤1:准备腾讯云 CVM

上传脚本需要运行在一台腾讯云 CVM 上,要求如下:地域:任意。机型:官网最低配置(1核1GB)即可。公网:需要拥有公网 IP,带宽1Mbps或以上。操作系统:官网公共镜像Ubuntu Server 16.04.1 LTS 64位Ubuntu Server 18.04.1 LTS 64位购买 CVM 的方法请参见 操作指南 – 创建实例。重装系统的方法请参见 操作指南 – 重装系统注意:如果您没有符合上述条件的腾讯云 CVM,也可以在其它带外网的 Linux(如 CentOS、Debian 等)或 Mac 机器上执行脚本,但需根据操作系统的区别修改脚本中的个别命令,具体修改方式请开发者自行搜索。

步骤2:开通云点播

请参考 快速入门 – 步骤1 开通云点播服务。

步骤3:获取 API 密钥

上传视频需要使用到开发者的 API 密钥(即 SecretId 和 SecretKey)。如果还未创建过密钥,请参见 创建密钥文档 生成新的 API 密钥;如果已创建过密钥,请参见 查看密钥文档 获取 API 密钥。

步骤4:下载代码并安装 SDK

登录 步骤1 中准备好的 CVM(登录方法详见 操作指南 – 登录 Linux),在远程终端输入以下命令并运行:

ubuntu@VM-69-2-ubuntu:~$ export SECRET_ID=AKxxxxxxxxxxxxxxxxxxxxxxx; export SECRET_KEY=xxxxxxxxxxxxxxxxxxxxx;git clone https://github.com/tencentyun/vod-server-demo.git ~/vod-server-demo; bash ~/vod-server-demo/installer/server_upload.sh

说明:请将命令中的 SECRET_ID 和 SECRET_KEY 赋值为 步骤3 中获取到的内容。该命令将从 Github 下载 Demo 源码并自动执行安装脚本。安装过程需几分钟(具体取决于 CVM 网络状况),期间远程终端会打印类似如下的信息:

[2020-06-23 19:56:31]开始安装 pip3。[2020-06-23 19:56:34]pip3 安装成功。[2020-06-23 19:56:34]开始安装 VOD Python 上传 SDK[2020-06-23 19:56:36]VOD Python 上传 SDK 安装完成。[2020-06-23 19:56:36]开始配置 SDK 参数。[2020-06-23 19:56:36]SDK 参数配置完成。

步骤5:上传视频

发起上传之前,开发者需要在 CVM 上准备好视频文件和封面图片(可选)。如果开发者不方便上传视频到 CVM,可以在远程终端执行以下命令,将测试视频和测试封面下载到 CVM 上:

ubuntu@VM-69-2-ubuntu:~$ wget http://1400329073.vod2.myqcloud.com/d62d88a7vodtranscq1400329073/7a9b2b565285890804459281865/v.f100010.mp4 -O ~/vod-server-demo/server_upload/tencent_cloud.mp4; wget http://1400329073.vod2.myqcloud.com/ff439affvodcq1400329073/8aa658d15285890804459940822/5285890804459940825.jpg -O ~/vod-server-demo/server_upload/tencent_cloud.jpg

执行server_upload.py脚本发起上传:

ubuntu@VM-69-2-ubuntu:~$ cd ~/vod-server-demo/server_upload/; python3 server_upload.py ./tencent_cloud.mp4 ./tencent_cloud.jpg

说明:请将命令中的视频路径和封面图片路径替换为实际文件的路径,其中封面图片路径参数是可选的,如果不填则上传后的视频没有封面。该命令将 tencent_cloud.mp4 视频上传到 VOD,同时上传 tencent_cloud.jpg 图片作为其封面。上传完成后远程终端会打印出类似如下信息:

{"CoverUrl": "http://1400329073.vod2.myqcloud.com/ff439affvodcq1400329073/8aa658d15285890804459940822/5285890804459940825.jpg", "FileId": "5285890804459940822", "MediaUrl": "http://1400329073.vod2.myqcloud.com/ff439affvodcq1400329073/8aa658d15285890804459940822/f0.mp4", "RequestId": "84a7fb42-9f05-4acd-9cc8-843690b188ce"}

说明:如果开发者使用自己的视频进行测试,建议使用较小的视频文件(例如几个MB),避免因 CVM 带宽不足而需要耗费很长的上传时间。

步骤6:查看结果

在控制台应用管理 > 媒资管理 > 音视频管理 页面上可以看到刚上传的视频文件和封面:

腾讯云云点播如何在服务端上传视频



代码解读

1. main()为脚本入口。2. 调用parse_conf_file(),从config.json文件中读取配置信息。配置项说明如下:

字段 数据类型 功能
secret_id String API 密钥
secret_key String API 密钥
procedure String 任务流名称,即视频上传完成后自动触发该任务流。默认为空
subappid String 是否将视频上传到 云点播子应用

说明:本 Demo 仅支持proceduresubappid两个上传参数,完整功能请参考 Python 上传 SDK 接口描述3. 从命令行参数中获取待上传视频文件的本地路径,以及封面图片路径(如果有封面),然后调用upload_media()发起上传:

    if len(sys.argv) < 2:        usage()        return    video_path = sys.argv[1]    cover_path = sys.argv[2] if len(sys.argv) > 2 else ""
# 发起上传 rsp = upload_media(configuration, video_path, cover_path)

4. upload_media()中,使用 Python SDK 提供的方法构造一个上传实例client,然后在req中设置上传参数,最后发起上传:

        client = VodUploadClient(conf["secret_id"], conf["secret_key"])        req = VodUploadRequest()
req.MediaFilePath = video if cover != "": req.CoverFilePath = cover if conf["procedure"] != "": req.Procedure = conf["procedure"] req.SubAppId = int(conf["subappid"])
rsp = client.upload("ap-guangzhou", req) return rsp

注意:client.upload()中的第一个参数("ap-guangzhou")是指上传实例的接入地域,不是指视频上传后的存储地域。该参数固定填为"ap-guangzhou"即可,如果需要指定视频上传后的存储地域,请设置req.StorageRegion参数。

其它功能

VOD 服务端上传 SDK 还支持其它特性,如设置视频名称、分类、过期时间等,详情请参考各语言 SDK 开发指南:JavaC#PHPPythonNode.jsGolang
云点播官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/143230.html

(0)
上一篇 2023年12月9日 上午1:33
下一篇 2023年12月9日 上午1:33
详情页2

相关推荐

  • 腾讯云对象存储基础知识

    腾讯云为广大用户提供了多种类型的视频教程,为服务开发者提供了专业的云技术学习平台。以下是对象存储基础知识相关的视频教程: 对象存储官网1折活动,限时活动,即将结束,速速收藏同尘科技为腾讯云授权服务中心。购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

    腾讯云 2023年12月9日
  • PolarDB能给数据库中的视图加列存索引吗?-云小二-阿里云

    PolarDB能给数据库中的视图加列存索引吗? 以下为热心网友提供的参考意见 VIEW中引用的表加上列存索引就可以了。此回答整理自钉群“PolarDB专家面对面 – HTAP(列存索引)”

    阿里云 2023年12月28日
  • 腾讯云云直播实时日志分析

    实时日志分析通过对直播访问日志进行实时采集,再进行清洗、分析来快速定位访问故障,通过对日志数据的挖掘来实现数据驱动运维及运营,从而快速准确地制定运营策略。注意实时日志分析现已开放公测,欢迎体验。后续有计费相关变动,我们会先行通知,请及时关注。 功能简介 实时采集:日志数据实时采集,三分钟后报表数据趋于稳定。域名分组:可以通过创建不同日志主题,将域名进行分组管…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云内容分发网络CDN关于 CDN 用户统一欠费保护期公告

    调整说明 为了提升客户体验,降低被攻击导致高额账单的风险,2023年12月5日及之后新转按月结算的用户欠费后停服缓冲保护期由原来24小时统一调整为2小时,即欠费后2个小时内未进行充值冲正,则停止加速服务。 调整时间 2023年12月5日10点 影响范围 2023年12月5日及之后新增按月结算的 CDN 用户,加速类型包括内容分发网络 CDN 和 全站加速网络…

    2023年12月9日
  • 腾讯云对象存储异步处理任务接口

    简介 本文档提供关于文档预览任务接口的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 CreateDocProcessJobs 提交文档预览任务 用于提交一个文档预览任务 DescribeDocProcessJob 查询指定的文档预览任务 用于查询指定的文档预览任务 DescribeDocProcessJobs 拉取符合条件的文档预览任务 …

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。