雲計算

媒體處理 MTS-工作流

作者:張醫博

基礎分析

在使用媒體處理(MTS) 產品的工作流轉碼時,我們先補充基礎認知。
一句話概括,工作流就是一套模版在特定條件自動觸發對視頻進行處理的流程,那我們先要知道類型的視頻文件支持工作流。

  • 視頻: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, ac3, acm, amr, ape, caf, flac, m4a, mp3, ra, wav, wma, aiff。
  • 另類:沒有後綴的文件也會觸發工作流,觸發後再判斷是否在上述的視頻封裝格式內。

也就是說只有上述幾個條件的音視頻才能觸發工作流,除此之外是不會觸發工作流的。工作流是和 OSS bucket 關聯的,常用在有新文件上傳到 OSS 時觸發工作流的轉碼。

案例分析 NoneExistFileURL

背景:

該案例是 Z 某調用 QueryMediaListByURL 接口時,返回的的 medialist 不存在,NoneExistFileURL 是 OSS 的存儲地址。
image.png

QueryMediaListByURL:

當上傳文件到 OSS 觸發工作流轉碼時,如果轉碼完成,可以通過 QueryMediaListByURL 接口查詢轉碼完成後的媒體信息。這個接口只針對工作流觸發的轉碼任務才能查詢。

或者存量視頻可以讓用戶先調用 AddMedia 添加媒體信息,然後在調用 QueryMediaListByURL

分析:

-該案例 Z 某沒有獲取到 MediaList 內容,無非就兩個原因:

  • 客戶端不是觸發工作流進行的轉碼,而是 SubmitJobs 進行的轉碼。
  • 配置的工作流沒有觸發。

結論:

經過確認是通過工作流轉碼,但是為什麼沒有觸發呢?查看源文件才發現因為後綴是 QuickTime 的,不在我們上述支持的後綴反饋內,後續將後綴去掉就觸發流轉碼。

http://xxxx.oss-cn-hangzhou.aliyuncs.com/m3u8MultibitrateIn64/d13f51ca-de4b-11e8-a0b9-112a0a.quicktime

案例分析 MPS 上雲

背景:

客戶端開發的 APP 將文件上傳到 OSS ,調用轉碼服務後,將轉碼完成後返回一個 CDN 地址讓客戶端 APP 可以播放。

分析:

整個架構中涉及到四種產品 OSS、 CDN、 MPS 、MNS ,如果完整的串聯起來提供高性能服務,由我給大家通過兩張圖介紹一下。

image.png

圖中完整的將所有產品串聯起來,關鍵緩解是視頻上傳、視頻轉碼兩個時間耗時。建議幾個注意點:

  • app 要有完整的上傳記錄,包括 OSS requestID ,出現問題時便於讓阿里雲排查。
  • 客戶的業務服務器提供回調的接口要記錄日誌,並且保證網絡良好,能和 mns 正常通信。
  • 上傳的視頻一定遇見做好後綴判斷和封裝格式判斷。
  • 第五步拼裝客戶端播放的 CDN 地址,客戶可以通過 QueryMediaList 的接口,傳入 mediaID 獲取轉碼完成的輸出地址文件後,將域名替換為 CDN 域名即可傳給 APP 播放。
  • MPS(MTS) 會投遞什麼信息給 mns 可以參考,https://help.aliyun.com/knowledge_detail/50627.html 有詳細的回調內容。

案例:工作流無法自動觸發進行轉碼

【場景】:

用戶設置流工作流自動觸發轉碼,但實際效果工作流沒有被觸發;

【分析】

  1. )檢查 工作流的輸入源(OSS bucket)是否有文件上傳,如果沒有則不處罰,有的話繼續排查
  2. )檢查客戶工作流是否設置了智能分析模版,如果設置了智能分析,轉碼要採用預置智能模版進行轉碼,因為智能分析的前置條件是動態參數轉碼不能使用靜態的模版
  3. )與用戶確認是否設置了手動觸發轉碼 鏈接

Leave a Reply

Your email address will not be published. Required fields are marked *