此接口用于确认媒资上传到视频点播的结果。确认上传成功,将返回 Vid 以及媒资基础信息。了解完整上传流程可参考媒资上传概述。您可以配置开启视频上传完成回调通知,开启后当视频上传完成,您将收到事件回调消息,配置方法详见回调设置。
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Action | String | 是 | 接口名称,取值:CommitUploadInfo |
Version | String | 是 | 版本号:2020-08-01 |
SpaceName | String | 是 | 上传的空间名 |
SessionKey | String | 是 | 会话 ID。获取上传地址和凭证接口下发。 |
CallbackArgs | String | 否 | 回调时回传参数。通常为客户端上传时,服务端希望透传客户端的一些信息。 |
Functions | String | 否 | 上传的功能函数。 |
Functions 为可扩展的 json 数组,比如:
'Functions':[{ "Name": "Snapshot", "Input":{ "SnapshotTime": 2.0 }}, { "Name": "xxx", "Input":{} } ]
Name | Input | 响应对应的信息 | 描述 |
---|---|---|---|
Snapshot | SnapshotInput | PosterUri | 截图功能。默认抽第一帧,可以指定视频时间点抽帧做封面图 |
AddOptionInfo | OptionInfo | 无 | 添加媒资信息功能 |
StartWorkflow | WorkflowInput | 无 | 触发工作流功能 |
GetMeta | 无 | VideoMeta | 获取属性功能。若不传,上传成功与否不依赖抽取 Meta,可能取到 Meta 也可能没有 Meta;若传,则获取 Meta 与上传成功强绑定,当获取 Meta 失败的时候,上传失败。 |
当素材上传时,需要注意 Function 的顺序。当有 GetMeta 的 Function 时,要放在最前面。代码示例如下所示。
Functions:[{"Name":"GetMeta"},{"Name":"Snapshot","Input":{"SnapshotTime":0}},{"Name":"AddOptionInfo","Input":{"Title":"测试素材","Tags":"test","Description":"测试素材:字幕文件","Category":"subtitle","RecordType":2,"Format":"vtt"}}]
参数 | 类型 | 描述 |
---|---|---|
SnapshotTime | Float | 截图的时间 |
参数 | 类型 | 描述 |
---|---|---|
Title | String | 标题 |
Tags | String | 多个标签可用逗号隔开 |
Description | String | 描述信息 |
RecordType | Integer | 类型。音视频和素材的定义详见:媒资上传概述。取值如下:
|
Category | String | 素材分类。当上传类型为素材时,可以指定素材的分类信息,必填。可选的取值如下:
|
Format | String | 格式。在素材上传的情况下,若传入 Format 的话,控制台展示以您传入参数为准,否则以系统识别出的 Format 为准。若遇到特殊文件无法识别,Format 可能为空。 |
ClassificationId | int64 | 分类 ID,可在控制台系统设置 > 分类管理中查看或通过媒资分类OpenAPI 查询,素材不支持分类。 |
获取上传地址凭证中 FileType 取值和 Category 对应关系如下表所示。
FileType 取值 | 类型 | 对应 Category 取值 |
---|---|---|
media | String | video、audio |
image | String | image、dynamic_img |
object | String | subtitle、font |
参数 | 类型 | 描述 |
---|---|---|
TemplateId | String | 工作流模板 ID |
参数 | 类型 | 描述 |
---|---|---|
ResponseMetadata | ResponseMetadata | 通用返回结构 |
Result | VodCommitUploadInfoResult | 返回结果 |
参数 | 类型 | 描述 |
---|---|---|
RequestId | String | 请求 ID |
Action | String | 请求接口 |
Version | String | 版本 |
Service | String | 服务 |
Region | String | 区域 |
Error | ResponseError | 异常信息 |
参数 | 类型 | 描述 |
---|---|---|
Code | String | 错误码 |
Message | String | 详细错误信息 |
参数 | 类型 | 描述 |
---|---|---|
Data | VodCommitUploadInfoData | 返回信息 |
参数 | 类型 | 描述 |
---|---|---|
Vid | String | 视频 ID。RecordType 为 1 音视频时返回此参数。 |
PosterUri | String | 视频对应的封面图 URI ID |
SourceInfo | VodSourceInfo | 视频元信息 |
Mid | String | 素材 ID。RecordType 为 2 素材时返回此参数。 |
参数 | 类型 | 描述 |
---|---|---|
FileId | String | 文件 ID |
Md5 | String | hash 值 |
FileType | String | 文件类型。取值如下:
|
Codec | String | 编码格式 |
Height | int32 | 视频高度,单位为 px |
Width | int32 | 视频宽度,单位为 px |
Format | String | 文件格式 |
Duration | Float | 时长,单位为 s |
Size | Double | 文件大小,单位为字节。 |
StoreUri | String | 存储地址 |
Definition | String | 视频分辨率 |
Bitrate | int32 | 码率,单位为 Kbps |
Fps | Float | 帧率 |
CreateTime | String | 创建时间 |
Quality | String | 音频质量 |
VideoStreamMeta | VodVideoStreamMeta | 视频流信息 |
AudioStreamMeta | VodAudioStreamMeta | 音频流信息 |
参数 | 类型 | 描述 |
---|---|---|
Codec | String | 视频编码格式 |
Height | int32 | 视频高度,单位为 px |
Width | int32 | 视频宽度,单位为 px |
Duration | Float | 视频时长,单位为 s |
Definition | String | 视频清晰度 |
Bitrate | int32 | 视频码率,单位为 Kbps |
Fps | Float | 帧率 |
参数 | 类型 | 描述 |
---|---|---|
Duration | Float | 音频时长,单位为 s |
SampleRate | int32 | 音频采样率 |
Bitrate | int32 | 音频码率,单位为 Kbps |
https://vod.volcengineapi.com/?Action=CommitUploadInfo&Version=2020-08-01&SessionKey=ApplyUploadInfoReturnSessionKey&SpaceName=YourSpaceName&Functions=[{"Name": "GetMeta"},{"Name":"Snapshot","Input":{"SnapshotTime": 2.0}}]&CallbackArgs=""
{ "ResponseMetadata": { "RequestId": "2020110618300501022509205920011***", "Action": "CommitUploadInfo", "Version": "2020-08-01", "Service": "vod", "Region": "cn-north-1" }, "Result": { "Data": { "Vid": "v0c255fa007abu0lc8a0oej77lbbv***", "SourceInfo": { "StoreUri": "tos-path-v-da1421/49ad5efabc3a4b32bed5df34fa7fd***", "Md5": "cf2b56eaa3fe3ec856ec4503a068a***", "Width": 960, "Height": 540, "Duration": 52.036, "Bitrate": 2068561, "Format": "MP4", "Size": 13454959, "FileType": "video" }, "PosterUri": "tos-path-v-da1421/3108f4e3298248bda9e5658ae0a52***", "CallbackArgs": "" } } }
https://vod.volcengineapi.com/?Action=CommitUploadInfo&CallbackArgs=my callback&Functions=[{"Name":"GetMeta","Input":null},{"Name":"AddOptionInfo","Input":{"Title":"素材测试视频","Tags":"test","Description":"素材测试,视频文件","Category":"video","RecordType":2,"Format":"mp4"}}]&SessionKey=ApplyUploadInfoReturnSessionKey&SpaceName=YourSpaceName&Version=2020-08-01
{ "ResponseMetadata":{ "RequestId":"202105081616520102040500970B000***", "Action":"CommitUploadInfo", "Version":"2020-08-01", "Service":"vod", "Region":"cn-north-1" }, "Result":{ "Data":{ "Mid":"v02a36g10000c2b4hr46u54rsoatp***", "SourceInfo":{ "StoreUri":"tos-path-v-da1421/1b4df71b655b4e2c9612659adc685***", "Md5":"3845d3fb09755e551f2b7ffb2739c0b6", "Width":540, "Height":960, "Duration":36.16, "Bitrate":975999, "Format":"MP4", "Size":4411516, "FileType":"video" }, "CallbackArgs":"my callback" } } }
https://vod.volcengineapi.com/?Action=CommitUploadInfo&CallbackArgs=my callback&Functions=[{"Name":"GetMeta","Input":null},{"Name":"AddOptionInfo","Input":{"Title":"素材测试图片","Tags":"test","Description":"素材测试,图片文件","Category":"image","RecordType":2,"Format":"jpg"}}]&SessionKey=ApplyUploadInfoReturnSessionKey&SpaceName=YourSpaceName&Version=2020-08-01
{ "ResponseMetadata":{ "RequestId":"202105081731060102251070930A01B***", "Action":"CommitUploadInfo", "Version":"2020-08-01", "Service":"vod", "Region":"cn-north-1" }, "Result":{ "Data":{ "Mid":"i00c1li97hy2c2b5kmjc77u5vb34udm0", "SourceInfo":{ "StoreUri":"tos-path-v-da1421/33f809756c3549cbbc9f3b2214e7d***", "Md5":"e521c9e25296f10fd3ac996cfe930***", "Width":720, "Height":1280, "Format":"jpeg", "Size":93371 }, "CallbackArgs":"" } } }
https://vod.volcengineapi.com/?Action=CommitUploadInfo&CallbackArgs=my callback&Functions=[{"Name":"GetMeta","Input":null},{"Name":"AddOptionInfo","Input":{"Title":"素材测试字幕","Tags":"test","Description":"素材测试,字幕文件","Category":"subtitle","RecordType":2,"Format":"vtt"}}]&SessionKey=ApplyUploadInfoReturnSessionKey&SpaceName=YourSpaceName&Version=2020-08-01
{ "ResponseMetadata":{ "RequestId":"202105081734110102251070930A000***", "Action":"CommitUploadInfo", "Version":"2020-08-01", "Service":"vod", "Region":"cn-north-1" }, "Result":{ "Data":{ "Mid":"s00c1ukl07ahc2b5m4rc77u5vb34u***", "SourceInfo":{ "StoreUri":"tos-path-v-da1421/000d2e4070b542c69f8048921c0c9***", "Md5":"5cede5d5ef20c351873bc0273da1d***", "Size":1326 }, "CallbackArgs":"" } } }
下表列举了本接口特有的错误码。视频点播公共错误码,详见 公共错误码。
错误码 | 说明 |
---|---|
InvalidParameter.InvalidAccessKeyError | AK 错误 |
InvalidParameter.InvalidParamError | 参数错误,包括 Session 的各个部分错误 |
InvalidParameter.UserNotSupportTosError | 账号配置错误 |
RequestLimitExceeded.TooManyRequestError | 请求超过上限 |
InvalidParameter.InvalidSpaceError | Space 填写错误 |
ResourceNotFound.VideoNotFoundError | 未找到对应视频 |
InvalidParameter.InvalidTopAccountError | 账号无权限 |
InvalidParameter.CategoryMismatchError | 素材上传 Category 与 FileType 不匹配 |
InternalError.SaveDBError | 内部错误 |
InternalError.RunFunctionError | 内部错误,执行 Function 时失败 |
InternalError.GetSignError | 内部错误,获取上传地址签名失败 |
InternalError.RunPluginError | 内部错误,运行插件失败 |
InternalError.InternalError | 内部错误 |
点播 OpenAPI 提供了配套的服务端 SDK,支持多种编程语言,帮助您实现快速开发。建议使用服务端 SDK 来调用 API,此 API 各语言调用的示例代码,请参考如下: