淺談
媒體處理,在通過工作流轉碼時可以通過給 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 再切換回來看下是否解決,如果此法解決說明和控制台顯示有關,可以提個工單跟進下。