接口功能介绍
通过本接口可在点播模式下创建一个视频条目。
由于视频文件的存储是在媒体存储(原 对象存储融合版),而管理信息在云点播服务,因此我们需要3步来进行文件上传。
步骤1:初始化上传,在此步骤需要将所有的业务管理信息发送到云点播服务中创建视频文件接口,接口成功之后会返回分片上传的地址列表,如下文响应示例所示。
调用了该接口但未调用完成上传视频接口,系统会在数据库中存入这些业务信息(以及一些中间信息,例如uploadId),但由于这条视频信息还处于 UPLOADING
的状态,除了删除视频外的其他接口,均不会对这些视频造成影响。例如在提交任务接口中,甚至会返回找不到该视频的错误。
步骤2: 将视频文件片上传到步骤1返回的URL列表中。
将完整的视频按照步骤1约定的大小进行切片,然后将片段按照顺序使用 data.uploadUrls
中返回的预签名 URL 上传到服务器。signature签名可以参考签名应用及示例中SHELL实例。例如:
PUT https://example.xstore.ctyun.cn/Objectname/uploadPart?partNum=1signature=xxxxxx
步骤3. 调用云点播服务上传视频接口完成本次上传。步骤2每次上传成功之后,需要记录请求 Response 中的 eTag 头部信息,在步骤3完成上传视频的接口参数中传入该参数。
接口约束
本接口的单用户QPS限制为20次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。
URI
POST /video/create
请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
name | 是 | String | 视频的名称 | 平凡的世界 | |
regionCode | 否 | String | 视频存储的区域,请保证您开通了该区域的存储,当不填写或填写空字符串/空格时使用默认资源池。 | xs-shanghai-1 | |
remark | 否 | String | 视频简介 | 讲述了在面对现实压力和人生抉择时,兄弟俩依旧坚守最初梦想和对爱情执着的追求的故事。 | |
tags | 否 | Array of Strings | 视频标签 | 励志片 | |
fileInfo | 是 | Object | 视频信息 | fileInfo | |
categoryId | 否 | Integer | 视频所属分类ID。 | 10000600056 |
表 fileInfo
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
fileSize | 是 | Integer | 文件大小,单位为 byte。 | 1024000 | |
partSize | 否 | Integer | 分片大小,单位为byte,建议设置成5M,如果不填写,默认为5M。 | 5242880 | |
md5 | 否 | String | 当视频上传合并完成之后会对上传视频进行md5校验,校验失败会返回上传失败,如果为空则不检查。 | “” |
响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
code | 是 | Integer | 本次请求的结果码。 | 0 | |
message | 是 | String | 错误文本信息,创建成功时,为空字符串。 | "" | |
data | 是 | Object | 返回数据。 | data |
表data
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
videoId | 是 | String | 视频的 id,仅可用在 完成上传视频 接口以及 删除视频 接口。 |
34c71dba-f280-4f5e-a05f-f4daed837fef | |
uploadUrls | 是 | Array of Strings | 上传地址列表。 | [https://example.xstore.ctyun.cn/Objectname/uploadPart?partNum=1signature=xxxxxx] |
请求示例
{
"name": "videoNmae",
"regionCode": "xs-shanghai-1",
"remark": "",
"tags": ["爱情片", "历史片"],
"fileInfo": {
"fileSize": 1024000,
"partSize": 5242880,
"md5": ""
},
"categoryId":10000600056
}
响应示例
{
"code": 0,
"message": "",
"data" : {
"videoId": "34c71dba-f280-4f5e-a05f-f4daed837fef",
"uploadUrls": ["https://example.xstore.ctyun.cn/Objectname/uploadPart?partNum=1signature=xxxxxx",
"https://example.xstore.ctyun.cn/Objectname/uploadPart?partNum=2signature=xxxxxx"]
}
}
状态码
Http 状态码 | 状态码信息 | 状态码描述 |
---|---|---|
0 | 表示业务成功 | 表示业务成功 |
400 | 请求参数有误 | 请求参数有误 |
403 | 用户鉴权失败,用户无操作权限 | 用户鉴权失败,用户无操作权限 |
404 | 请求的资源不存在,输入错误的URL | 请求的资源不存在,输入错误的URL |
500 | 业务执行异常 | 业务执行异常 |
错误码
OpenAPI错误码请参考 错误码说明。