媒体处理-工作流消息通知

浅谈

媒体处理,在通过工作流转码时可以通过给 pipeline 绑定 mns 消息通知或者队列方式,将转码成功的结果投递给 mns ,mns 用户可以通过创建一个主题的方式,订阅 mts 投递过来的消息,然后通过绑定的 url ,通知用户的接口,将消息投递给用户的接口地址。

mns 主题创建方式

媒体处理-工作流消息通知

创建一个订阅

媒体处理-工作流消息通知

MTS 配置

配置好 管道 ID,并且绑定好 mns 的消息通知方式

媒体处理-工作流消息通知

创建工作流指定管道

媒体处理-工作流消息通知

上述配置完整后,工作流会检测 input bucket 有增量视频文件出现后就会触发工作流转码,将转码完成的文件输出到绑定的 bucket。

消息通知内容

媒体处理转码成功,会投递消息给 mns ,关于消息的数据结构可以消息的字段含义,请看下以下文档:

  • 消息体结构
{
        "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"
        }
    }

注意:

  • 回调的消息中只有 input bucket 文件的存储地址,用户要想要完成的 url 需要自己 拼下。
  • 回调消息中没有输出的 bucket 完整 url ,用户要根据回调消息中的 jobid 然后调用 QueryJobList 接口查询转码的状态信息,包含了转码后的输出 bucket 的地址和详细的转码信息。

案例:

案例一:

我们现在需要媒体处理的消息通知功能,在消息服务里创建了一个主题,再给管道绑定消息通知的时候 看不到刚才创建的主题

媒体处理-工作流消息通知

分析:

  • 用户先确认下,mns 配置的账号和 mts 的账号是否都是一个主账号下的。
  • mns 配置的 region 和 mts 是否一致。
  • 在 mts 控制台上刷新下控制台然后再切换到其他 region 再切换回来看下是否解决,如果此法解决说明和控制台显示有关,可以提个工单跟进下。
上一篇:【大数据新手上路】“零基础”系列课程--如何通过大数据开发套件Data IDE玩转大数据


下一篇:1024,开发者专属大礼包等你来拿