15分钟

服务端上传(基于 Python SDK)

服务端上传(基于 Python SDK)

<time>10min ~ 20min</time>

使用云点播服务端上传 Python SDK,将服务器上的本地视频文件上传到云点播。

确认前置条件

开始操作前,请确认您已经开通了腾讯云云点播(VOD)服务,以及已经准备好了 API 密钥。

安装 pip3 工具

在终端执行:

sudo apt install -y python3-pip

<checker type="output-contains" command="pip3 --version" hint="请先安装 pip3"> <keyword regex="^pip" /> </checker>

安装服务端上传 Python SDK

在终端执行:

pip3 install vod-python-sdk

<checker type="output-contains" command="pip3 show vod-python-sdk" hint="请先安装 Python SDK"> <keyword regex="Name: vod-python-sdk" /> </checker>

编写上传代码

创建测试目录并开始编写代码文件,在终端执行:

mkdir ~/svr_upload/; cd ~/svr_upload; vim svr_upload.py;

将以下代码输入到 svr_upload.py 中并保存,注意其中的 SECRET_IDSECRET_KEY 需要使用您的 API 密钥:

#!/usr/bin/python3
# -*- coding:utf-8 -*-

"""云点播服务端上传脚本
1. 输入参数为本地待上传视频文件的路径
2. 调用 VOD Python 上传 SDK 进行上传
3. 打印出 SDK 的原始返回内容
"""

import sys
from qcloud_vod.vod_upload_client import VodUploadClient
from qcloud_vod.model import VodUploadRequest


SECRET_ID = ""  # 请填入真实的 secret id
SECRET_KEY = "" # 请填入真实的 secret id


def usage():
    """脚本用法"""
    print("Usage: python3 sys.argv[0] {LocalVideoPath}")
    sys.exit(1)


def upload_media(video):
    """调用 VOD Python 上传 SDK 进行上传"""
    try:
        client = VodUploadClient(SECRET_ID, SECRET_KEY)
        req = VodUploadRequest()
        req.MediaFilePath = video

        rsp = client.upload("ap-chongqing", req)
        return rsp
    except KeyError as err:
        print(err)


def main():
    """main"""
    # 解析参数,获取待上传文件路径
    if len(sys.argv) < 2:
        usage()
    video_path = sys.argv[1]

    # 发起上传
    rsp = upload_media(video_path)
    if rsp is not None:
        print(rsp)


if __name__ == "__main__":
    main()

<checker type="output-contains" command="ls -la ~/svr_upload" hint="请先编写上传代码"> <keyword regex="svr_upload.py" /> </checker>

准备测试视频

下载测试视频到服务器上,在终端执行:

wget http://1400329073.vod2.myqcloud.com/d62d88a7vodtranscq1400329073/7a9b2b565285890804459281865/v.f100010.mp4 -O ~/svr_upload/test.mp4

<checker type="output-contains" command="ls -la ~/svr_upload" hint="请下载测试视频"> <keyword regex="test.mp4" /> </checker>

上传视频

在终端执行(上传过程可能需要几十秒):

python3 ~/svr_upload/svr_upload.py ~/svr_upload/test.mp4 > ~/svr_upload/upload.log

<checker type="output-contains" command="cat ~/svr_upload/upload.log" hint="请上传视频"> <keyword regex="FileId" /> </checker>

检查上传结果

现在可以访问云点播控制台媒资管理页面,查看刚刚上传的文件。