全部產品
Search
文件中心

ApsaraVideo VOD:服務端上傳SDK指引

更新時間:Jul 13, 2024

服務端上傳,是指將應用伺服器上的媒體檔案上傳到點播儲存。ApsaraVideo for VOD提供常用語言的服務端上傳SDK以及相應的使用Demo。服務端上傳SDK封裝了擷取上傳地址和憑證的邏輯,只需簡單配置即可進行上傳。本文介紹服務端上傳SDK的使用情境、上傳流程和操作指引。

使用情境

服務端上傳SDK適用於自動化上傳、大批量遷移視頻上傳等情境,也適用於網路媒體檔案上傳(原理是先下載到伺服器本地再上傳到點播)。

功能點

說明

備忘

支援語言

目前支援的開發語言套件括:Java、Python、PHP、C/C++。

其它語言可基於OSS原生SDK上傳。詳情請參見基於OSS原生SDK上傳

媒體說明

支援的媒體格式請參見媒體上傳概述

支援本地檔案上傳和網路檔案上傳(URL拉取方式)。

  • 本地檔案:最大支援48.8 TB的單個檔案。

  • 網路檔案:最大支援5 GB的單個檔案。

說明

設定URL上傳時需要將URL編碼後再傳入後使用,避免存在特殊字元導致無法上傳的情況。

儲存地址

支援使用預設儲存地址或指定儲存地址。

預設儲存地址可以修改。詳情請參見管理儲存Bucket

URL上傳僅支援華東2(上海)地區。

可通過設定擷取上傳地址和憑證相關介面StorageLocation參數實現。

內網上傳

如果上傳指令碼部署在ECS,可在上傳邏輯中指定上傳指令碼部署的ECS地區。如果ECS地區和上傳的ApsaraVideo for VOD儲存地區相同,則自動使用內網上傳,上傳更快且更省公網流量。

由於ApsaraVideo for VODAPI只提供外網網域名稱訪問,因此部署上傳指令碼的ECS伺服器必須具有訪問外網的許可權。

媒資管理

支援設定中繼資料,如媒體標題、媒體標籤、媒體分類、視頻封面等。

可通過擷取上傳地址和憑證相關介面的參數(如Title、Tags、CateId、CoverURL等)設定。

音視頻轉碼

支援通過指定轉碼模板或工作流程設定轉碼。

也支援不轉碼。

可通過擷取上傳地址和憑證相關介面的參數(如TemplateGroupId、WorkflowId等)設定。

上傳控制

支援設定上傳進度條。支援預設進度回調和自訂進度回調。

Java語言支援斷點續傳,其它語言不支援。

M3U8檔案上傳暫不支援設定上傳進度條。

事件通知

支援設定回調擷取上傳事件通知。支援的事件通知請參見上傳設定

配置回調請參見回調設定

上傳授權

支援上傳憑證方式(使用阿里雲帳號AK或經過授權的RAM使用者AK初始化)授權上傳。

支援STS方式(使用STS臨時AK初始化)授權上傳。

STS方式需要使用者自行搭建服務擷取STS臨時AK。

上傳加速

開通後支援。開通上傳加速功能需提交工單

申請開通後,可通過擷取上傳地址和憑證相關介面的UserData參數中的AccelerateConfig參數設定。

上傳流程

服務端上傳SDK封裝了擷取上傳地址和憑證的邏輯和OSS上傳邏輯,只需簡單配置即可進行上傳。完整的上傳流程如下圖所示:服務端上傳SDK流程

流程詳解

  1. 使用者在上傳應用服務整合點播服務端上傳SDK並完成上傳設定,如:AK資訊、檔案地址、儲存地址、媒資管理、轉碼設定、上傳控制等。

  2. 上傳應用伺服器使用點播服務端上傳SDK調用上傳地址和憑證相關介面擷取上傳地址、上傳憑證及媒資資訊。

    說明

    您也可以構造HTTP/HTTPS請求擷取上傳地址和憑證,但需要自行建構簽章,出錯機率較高。上傳地址和憑證相關介面包括:

  3. 點播服務在請求結果中返回上傳地址(UploadAddress)、上傳憑證(UploadAuth)和媒體ID等資訊。

    說明

    點播服務在下發上傳地址和憑證時還會自動建立媒資資訊,即媒體ID(MediaId),用於媒資生命週期管理或ApsaraVideo for Media Processing。

    • 擷取視頻上傳地址和憑證返回的VideoId即媒體ID。

    • 擷取圖片上傳地址和憑證返回的ImageId即媒體ID。

    • 擷取輔助媒資上傳地址和憑證返回的MediaId即媒體ID。

    • 請妥善儲存媒體ID,作為媒資管理、音視頻播放、ApsaraVideo for Media Processing等的輸入。

  4. 上傳應用伺服器通過點播服務端上傳SDK封裝好的OSS上傳邏輯開始上傳。

  5. OSS服務返回上傳結果。

    說明

    上傳結果也可以通過提前配置回調接收上傳相關事件來監聽。

操作指引

不同語言的服務端上傳SDK的整合與使用方法不同。請根據需要點擊以下連結跳轉至具體的操作指引。

點播服務端上傳SDK與點播服務端SDK的區別

點播服務端上傳SDK與點播的服務端SDK是不同的概念。點播服務端上傳SDK封裝了完整的上傳邏輯,可直接整合使用。而點播服務端SDK整合了點播的全部功能,其中上傳功能僅僅提供擷取上傳地址和憑證部分的邏輯,需要結合具體的使用情境使用,也需要使用者自行實現上傳邏輯,包括在點播服務擷取上傳憑證和地址、Base64解碼上傳憑證和地址、調用OSS能力完成上傳等。關於點播服務端SDK的詳細資料請參見點播服務端SDK