本文对新增媒体接口参数的规则、注意事项进行了说明,并提供了示例代码。
说明
- 如果已经配置工作流,上传媒体文件到OSS后,OSS会自动通知MPS,MPS会根据OSS的Bucket,Object自动匹配激活状态的工作流自动执行,因此通常情况下不需要手动调用AddMedia接口处理文件,只有当在OSS上有存量视频时,处理存量视频可以用此接口,从而避免了重新上传视频到OSS。
- 媒体信息获取,只有在指定激活状态的工作流处理时,自动获取;不指定工作流时,不会获取媒体信息。
请求参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
Action | String | 是 | 操作接口名,系统规定参数,取值:AddMedia |
FileURL | String | 是 | 媒体文件路径。
|
Title | String | 否 | 媒体标题。
|
Description | String | 否 | 描述。
|
CoverURL | String | 否 | 封面。
|
CateId | Long | 否 | 类目ID。
不允许为负数。 |
Tags | String | 否 | 标签列表。
|
MediaWorkflowId | String | 否 | 媒体工作流ID。 |
MediaWorkflowUserData | String | 否 | 媒体工作流用户自定义数据。
|
OverrideParams | Json | 否 | 覆盖参数。
|
- 工作流触发匹配规则
规则匹配执行策略如下:以新增文件的路径为基础,检查工作流绑定的位置,如果新增文件的路径中包含规则绑定的字符串则匹配,不包含则不匹配。如
http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test1.flv
规则:1、http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/ 匹配 2、http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/ 匹配 3、http://bucket.oss-cn-hangzhou.aliyuncs.com/A/ 匹配 4、http://bucket.oss-cn-hangzhou.aliyuncs.com/ 匹配 5、http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.flv 匹配 6、http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/CC/ 不匹配 7、http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B2/ 不匹配 8、http://bucket.oss-cn-hangzhou.aliyuncs.com/A2/B/C/ 不匹配
说明 请您不要配置一个工作流的输入路径为另外一个工作流的输入路径的前缀,否则会一个增量文件触发两次工作流执行实例。例如:两个工作流的输入路径分别配置test和test1,则当输入文件上传到test1文件夹下同样满足test前缀,因此会触发两次工作流执行实例。 - 匹配文件扩展名
触发要求必须是多媒体文件,媒体库服务是通过文件扩展名来判断的。文件或者没有扩展名(文件名中不包含扩展名分割符号“.”),或者扩展名符合下面的规则:说明 对于swf,截图及转码服务质量不保障。
类型 扩展名 视频 3gp、asf、avi、dat、dv、flv、f4v、gif、m2t、m3u8、m4v、mj2、mjpeg、mkv、mov、mp4、mpe、mpg、mpeg、mts、ogg、qt、rm、rmvb、swf、vob、wmv、webm 音频 aac、acm、amr、ape、caf、flac、m4a、mp3、ra、wav、wma、aiff - 媒体工作流消息
媒体工作流采用 阿里云消息服务 发送消息给视频云服务接入方,媒体工作流会在(Start/Report)活动节点完成时发送消息,若需要接收消息,需要在Start活动上设置队列/通知名称,媒体工作流产生的消息存储在队列/通知中,可以使用 消息服务SDK 获取消息,消息规格如下:
名称 类型 描述 RunId String 工作流执行Id。 Name String 活动名称。 Type String 活动类型。 范围:Report、Start
State String 活动状态。 范围:Fail、Success
Code String 错误码。 如果活动状态是Fail时,会给出具体的错误码。
Message String 错误消息。 如果活动状态是Fail时,会给出详细的错误描述信息。
MediaWorkflowExecution MediaWorkflowExecution 媒体工作流执行信息。 - JSON消息体示例
{ "RunId": "8f8aba5a62ab4127ae2add18da20b0f2", "Name": "Act-7", "Type": "Report", "State": "Success", "MediaWorkflowExecution": { "Name": "ConcurrentSuccess", "RunId": "8f8aba5a62ab4127ae2add18da20b0f2", "Input": { "InputFile": { "Bucket": "inputfirst", "Location": "oss-test", "Object": "mediaWorkflow/ConcurrentSuccess/01.wmv" }, "UserData":"test" }, "State": "Success", "MediaId": "2be491ab4cb6499cd0befe5fcf0cb670", "ActivityList": [ { "RunId": "8f8aba5a62ab4127ae2add18da20b0f2", "Name": "Act-1", "Type": "Start", "State": "Success", "StartTime": "2016-03-15T02: 53: 41Z", "EndTime": "2016-03-15T02: 53: 41Z" }, { "RunId": "8f8aba5a62ab4127ae2add18da20b0f2", "Name": "Act-2", "Type": "Transcode", "JobId": "f34b6d1429dd491faa7a6c1c8f905285", "State": "Success", "StartTime": "2016-03-15T02: 53: 43Z", "EndTime": "2016-03-15T02: 53: 47Z" }, { "RunId": "8f8aba5a62ab4127ae2add18da20b0f2", "Name": "Act-3", "Type": "Transcode", "JobId": "888ac3903ecf4898b9d790cf7f1d969e", "State": "Success", "StartTime": "2016-03-15T02: 53: 44Z", "EndTime": "2016-03-15T02: 53: 48Z" }, { "RunId": "8f8aba5a62ab4127ae2add18da20b0f2", "Name": "Act-5", "Type": "Snapshot", "JobId": "c14150be33304825a5d67cd5364c35cb", "State": "Success", "StartTime": "2016-03-15T02: 53: 44Z", "EndTime": "2016-03-15T02: 53: 45Z" }, { "RunId": "8f8aba5a62ab4127ae2add18da20b0f2", "Name": "Act-6", "Type": "Snapshot", "JobId": "8c30c30ca7324286afda1a9a1b14d03c", "State": "Success", "StartTime": "2016-03-15T02: 53: 48Z", "EndTime": "2016-03-15T02: 53: 49Z" }, { "RunId": "8f8aba5a62ab4127ae2add18da20b0f2", "Name": "Act-7", "Type": "Report", "State": "Success", "StartTime": "2016-03-15T02: 53: 49Z", "EndTime": "2016-03-15T02: 53: 49Z" } ], "CreationTime": "2016-03-15T02: 53: 39Z" } }
返回参数
名称 | 类型 | 描述 |
---|---|---|
Media | Media | 媒体 |
示例
请求示例
http://mts.cn-hangzhou.aliyuncs.com?MediaWorkflowUserData=test&MediaWorkflowId=09bc2f74e39c48dd86597849e2b060f6&FileURL=http%3A%2F%2Fzzzinput-test.oss-cn-hangzhou.aliyuncs.com%2Ftail_comm-33.mp4&<公共参数>
返回示例
XML
<AddMediaResponse>
<Media>
<CoverURL>http://zzyoutputbucket.oss-cn-hangzhou.aliyuncs.com/aa9bb3115da54befa74e0bd81a7a9e46%2F0.jpg</CoverURL>
<Format>mov,mp4,m4a,3gp,3g2,mj2</Format>
<PublishState>Published</PublishState>
<Height>1280</Height>
<MediaId>3e6149d5a8c944c09b1a8d2dc3e4ac65</MediaId>
<Title>tail_comm-33.mp4</Title>
<CreationTime>2016-09-20T03:02:40Z</CreationTime>
<RunIdList>
<RunId>adee42a78b1f407184a792b8777efb3c</RunId>
</RunIdList>
<CateId>0</CateId>
<Duration>2.645333</Duration>
<Width>1280</Width>
<Fps>25.0</Fps>
<Bitrate>1148.77</Bitrate>
<Size>379860</Size>
</Media>
<RequestId>13E58723-4746-46A5-900D-B41D425A2A44</RequestId>
</AddMediaResponse>
JSON
{
"Media": {
"CoverURL": "http://zzyoutputbucket.oss-cn-hangzhou.aliyuncs.com/adee42a78b1f407184a792b8777efb3c%2F0.jpg",
"Format": "mov,mp4,m4a,3gp,3g2,mj2",
"PublishState": "Published",
"Height": "1280",
"MediaId": "3e6149d5a8c944c09b1a8d2dc3e4ac65",
"Title": "tail_comm-33.mp4",
"CreationTime": "2016-09-20T03:02:40Z",
"RunIdList": {
"RunId": [
"cbad98d35629470fa05ff393d347fd73"
]
},
"CateId": 0,
"Duration": "2.645333",
"Width": "1280",
"Fps": "25.0",
"Bitrate": "1148.77",
"Size": "379860"
},
"RequestId": "A29ED91C-84A2-41FE-8F7F-116531A28544"
}
在文档使用中是否遇到以下问题
更多建议
匿名提交