本文介紹ApsaraVideo for Media Processing服務的幾個基本概念和關係,以便您更好的理解和使用ApsaraVideo for Media Processing服務。

示意圖:

概念解釋:
  • 作業

    作業在ApsaraVideo for Media Processing服務裡面是一個抽象的概念,包含多種類型的作業:轉碼作業、截圖作業、媒體資訊作業等。

    在一個作業中,包含3個關鍵資訊:輸入、輸出和參數。輸入和輸出設定作業執行時的輸入檔案以及執行後的輸出檔案,參數則用來設定執行具體功能的詳細配置。

  • 參數
    • 模板參數

      由於作業的參數很多,每次提交作業時都重複填寫比較麻煩,模板是為解決此問題而提出的概念。模板是一些參數的合集,把一些常用的參數組合在一起,可以減少提交作業的參數數量,簡化提交作業的代碼。

    • API參數

      如果給每種不同的參數組合都建立模板,會導致模板的數量劇增,也使得範本管理員變的複雜。所以不僅可以在模板中設定參數,也可以在實際調用API時設定對應的參數。

    • 覆蓋順序

      API參數比模板中對應參數的優先順序更高,會覆蓋模板中對應的參數。

      舉個例子:同一個視頻可以轉碼輸出多種清晰度(高清、標清等),不同清晰度的容器格式(MP4)、編碼通訊協定(H.264)、幀率(25幀)是相同的,區別只是碼率和解析度的不同。就可以先建立(MP4+H.264+25FPS+2Mbps+1280x720)這樣一個預設參數組合模板。調用API時,如果不設定API參數,則按照預設參數(2Mbps+1280x720)執行作業,如果設定API參數(4Mbps+1920x1080),這按照API參數(4Mbps+1920x1080)執行作業。

  • 管道

    當使用者通過API介面提交作業後,作業會先進入管道中進行排隊,根據優先順序和提交順序依次執行。

    管道中的作業可以有多種優先順序(最高10,最低1,預設6),相同優先順序的作業之間,提交作業時間早的比晚的先執行,不同優先順序的作業之間,高優先順序的比低優先順序的先執行。

  • 作業執行和結果
    • 同步和非同步

      根據作業的類型不同,一些作業能很快完成,但是大部分的作業都無法即時完成,作業執行有2種方式:同步和非同步。同步方式(例如,截圖作業)會立即返回結果,非同步方式(例如,轉碼作業)的結果有2種查詢方式:定時輪詢和訊息通知。

    • 定時輪詢

      每個作業都有一個唯一作業ID來標識,在提交作業時會同步返回給調用方,之後可以通過作業ID查詢作業結果。這種方式的缺點是不夠即時。

      訊息通知:

      管道可以配置訊息通知,就能及時獲得作業結果。訊息通知中包含了幾個重要的資訊:作業ID、使用者資料和結果。
      • 作業ID

        提交作業時記錄下作業ID,然後和訊息通知的作業ID對比,就能知道是哪個作業的結果。

      • 使用者資料

        提交作業時,可以填寫自訂的使用者資料參數(例如,商品ID),然後訊息通知中會返回自訂的使用者資料參數,這樣可以不需要在業務系統中記錄作業ID,使用自訂的使用者資料(例如,商品ID)來關聯業務系統。