本文对新增媒体接口参数的规则、注意事项进行了说明,并提供了示例代码。

说明
  • 如果已经配置工作流,上传媒体文件到OSS后,OSS会自动通知MPS,MPS会根据OSS的Bucket,Object自动匹配激活状态的工作流自动执行,因此通常情况下不需要手动调用AddMedia接口处理文件,只有当在OSS上有存量视频时,处理存量视频可以用此接口,从而避免了重新上传视频到OSS。
  • 媒体信息获取,只有在指定激活状态的工作流处理时,自动获取;不指定工作流时,不会获取媒体信息。

请求参数

名称 类型 是否必须 描述
Action String 操作接口名,系统规定参数,取值:AddMedia
FileURL String 媒体文件路径。
  • 不超过3200字节。
  • URL遵循 RFC 2396(UTF8编码,并进行URLEncode)。
Title String 媒体标题。
  • 长度限制不超过128个字节。
  • utf-8编码。
Description String 描述。
  • 长度限制不超过1024个字节。
  • utf-8编码。
CoverURL String 封面。
  • 不超过3200字节。
  • URL遵循 RFC 2396(UTF8编码,并进行URLEncode)。
CateId Long 类目ID。

不允许为负数。

Tags String 标签列表。
  • 用逗号分隔,不超过16个标签,
  • 单个标签不能超过32个字节,
  • utf-8编码。
MediaWorkflowId String 媒体工作流ID。
MediaWorkflowUserData String 媒体工作流用户自定义数据。
  • 不超过1024字节,
  • 要求UTF8编码。
OverrideParams Json 覆盖参数。
  • 示例1:HLS打包字幕覆盖{“WebVTTSubtitleOverrides”,[{“RefActivityName”:”subtitleNode”,”WebVTTSubtitleURL”:”http://test.oss-cn-hangzhou.aliyuncs.com/subtitle1.vtt"}]}。
  • 示例2:DASH打包字幕覆盖 {“subtitleTransNodeName”:{“InputConfig”:{“Format”:”stl”,”InputFile”:{“URL”:”http://subtitleBucket.oss-cn-hangzhou.aliyuncs.com/package/subtitle/CENG.stl"}}}}。
  • 工作流触发匹配规则
    规则匹配执行策略如下:以新增文件的路径为基础,检查工作流绑定的位置,如果新增文件的路径中包含规则绑定的字符串则匹配,不包含则不匹配。如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"
        }