Vcloud Resource (Cloud) SDK for Python
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
vcloud
.gitignore
README.md
setup.py

README.md

Python-SDK 说明

1 简介

Python-SDK 是用于服务器端点播上传的软件开发工具包,提供简单、便捷的方法,方便用户开发上传视频或图片文件的功能。

2 功能特性

  • 文件上传
  • 获取进度
  • 断点续传
  • 查询视频
  • 设置回调

3 开发准备

3.1 下载地址

python sdk 的源码地址

3.2 环境准备

  • 适用于 Python2 和 Python 3版本。
  • 通过管理控制台->账户信息获取AppKey和AppSecret;
  • 下载 python sdk,如果安装了git命令行,执行 git clone https://github.com/vcloud/python-sdk.git 或者直接在github下载zip包,通过执行 python setup.py install 安装。
  • 参照 API 说明和 sdk 中提供的 demo,开发代码。

注:SDK 依赖 requests 包,需自行安装。

3.3 https支持

默认使用https协议,如需修改为http协议,请在sdk包中Config目录修改。

4 使用说明

4.1 初始化

接入视频云点播,需要拥有一对有效的 AppKey 和 AppSecret 进行签名认证,可通过如下步骤获得:

  • 开通视频云点播服务;
  • 登陆视频云开发者平台,通过管理控制台->账户信息获取 AppKey 和 AppSecret。

在获取到 AppKey 和 AppSecret 之后,可按照如下方式进行初始化:

from vcloud import Client
client = Client(AppKey, AppSecret)

4.2 文件上传

视频云点播在全国各地覆盖大量上传节点,会选择适合用户的最优节点进行文件上传,并根据用户传入的参数做不同处理,具体详见点播服务端 API 文档。

以下是使用示例:

from vcloud import Client
client = Client(appKey, secretKey)

#上传初始化的请求包体参数
body = {"originFileName":"beauty.mp4"}

#要上传文件的本地路径
localfile = '/Users/Royen/Documents/video/beauty.mp4'

res = client.upload_file(body, localfile)

注:具体使用示例详见 sdk 包中 examples 目录下的 upload.py 文件。

4.3 查询进度

视频云点播文件上传采用分片处理,可通过以下方法查询上传完成的文件进度。SDK 提供回调函数接收文件上传进度。

以下是使用示例:

#负责接收进度的回调函数
def upload_progress(offset, size):
	if size == 0:
		print "upload process ... {0}".format("%5.1f%%" % (100 * 0))
	else:
		ratio = float(offset) / size
		print "upload process ... {0}".format("%5.1f%%" % (100 * ratio))

from vcloud import Client
client = Client(appKey, secretKey)
	
#上传初始化的请求包体参数
body = {"originFileName":"beauty.mp4"}
	
#要上传文件的本地路径
localfile = '/Users/Royen/Documents/video/beauty.mp4'

res = client.upload_file(body, localfile, upload_progress)

注:具体使用示例详见 sdk 包中 examples 目录下的 upload.py 文件。

4.4 断点续传

在上传文件中,视频云点播通过唯一标识 context 标识正在上传的文件,可通过此标识获取到已经上传视频云的文件字节数。通过此方法可实现文件的断点续传。

为防止服务中止造成文件上传信息丢失,可通过在本地存储文件信息来记录断点信息,当服务重启启动,可根据文件继续上传文件。临时文件会在上传完成后删除记录。记录断点的临时文件在配置文件 config.py 中配置。

使用示例如 4.2 所示。

4.5 查询视频

视频上传成功后,可通过主动查询的方式获取到视频唯一标识,支持批量查询。

以下是使用示例:

from vcloud import Client
client = Client(appKey, secretKey)
#查询视频的请求包体参数
body = {"objectNames":["sdfs.mp4"]}
	
res = client.query_id(body)
if res != None:
	print "client.query_id res : {0}".format(vars(res))
else:
	print "query video error!"

注:具体使用示例详见 sdk 包中 examples 目录下的 upload_query.py 文件。

4.6 设置回调

如果设置回调,视频上传成功后会发送相关视频信息给回调接口。

以下是使用示例:

from vcloud import Client
client = Client(appKey, secretKey)

#设置回调地址的请求包体参数
body = {"callbackUrl":"http://1.111.11.1"}

res = client.set_callback(body)
if res != None:
	print "client.set_callback res : {0}".format(res)
else:
	print "set callback error!"

注:具体使用示例详见 sdk 包中 examples 目录下的 upload_set_callback.py 文件。

5 版本更新记录

v1.0.0

  1. Python SDK 的初始版本,提供点播上传的基本功能。包括:文件上传、获取进度、断点续传、查询视频、设置回调。