服務(wù)端上傳SDK指引
服務(wù)端上傳,是指將應(yīng)用服務(wù)器上的媒體文件上傳到點(diǎn)播存儲(chǔ)。視頻點(diǎn)播提供常用語(yǔ)言的服務(wù)端上傳SDK以及相應(yīng)的使用Demo。服務(wù)端上傳SDK封裝了獲取上傳地址和憑證的邏輯,只需簡(jiǎn)單配置即可進(jìn)行上傳。本文介紹服務(wù)端上傳SDK的使用場(chǎng)景、上傳流程和操作指引。
使用場(chǎng)景
服務(wù)端上傳SDK適用于自動(dòng)化上傳、大批量遷移視頻上傳等場(chǎng)景,也適用于網(wǎng)絡(luò)媒體文件上傳(原理是先下載到服務(wù)器本地再上傳到點(diǎn)播)。
功能點(diǎn) | 說(shuō)明 | 備注 |
支持語(yǔ)言 | 目前支持的開發(fā)語(yǔ)言包括:Java、Python、PHP、C/C++。 | 其它語(yǔ)言可基于OSS原生SDK上傳。詳情請(qǐng)參見(jiàn)基于OSS原生SDK上傳。 |
媒體說(shuō)明 | 支持的媒體格式請(qǐng)參見(jiàn)媒體上傳概述。 支持本地文件上傳和網(wǎng)絡(luò)文件上傳(URL拉取方式)。 |
說(shuō)明 設(shè)置URL上傳時(shí)需要將URL編碼后再傳入后使用,避免存在特殊字符導(dǎo)致無(wú)法上傳的情況。 |
存儲(chǔ)地址 | 支持使用默認(rèn)存儲(chǔ)地址或指定存儲(chǔ)地址。 | 默認(rèn)存儲(chǔ)地址可以修改。詳情請(qǐng)參見(jiàn)管理存儲(chǔ)Bucket。 URL上傳僅支持華東2(上海)地域。 可通過(guò)設(shè)置獲取上傳地址和憑證相關(guān)接口StorageLocation參數(shù)實(shí)現(xiàn)。 |
內(nèi)網(wǎng)上傳 | 如果上傳腳本部署在ECS,可在上傳邏輯中指定上傳腳本部署的ECS地域。如果ECS地域和上傳的視頻點(diǎn)播存儲(chǔ)地域相同,則自動(dòng)使用內(nèi)網(wǎng)上傳,上傳更快且更省公網(wǎng)流量。 | 由于視頻點(diǎn)播API只提供外網(wǎng)域名訪問(wèn),因此部署上傳腳本的ECS服務(wù)器必須具有訪問(wèn)外網(wǎng)的權(quán)限。 |
媒資管理 | 支持設(shè)置元數(shù)據(jù),如媒體標(biāo)題、媒體標(biāo)簽、媒體分類、視頻封面等。 | 可通過(guò)獲取上傳地址和憑證相關(guān)接口的參數(shù)(如Title、Tags、CateId、CoverURL等)設(shè)置。 |
音視頻轉(zhuǎn)碼 | 支持通過(guò)指定轉(zhuǎn)碼模板或工作流設(shè)置轉(zhuǎn)碼。 也支持不轉(zhuǎn)碼。 | 可通過(guò)獲取上傳地址和憑證相關(guān)接口的參數(shù)(如TemplateGroupId、WorkflowId等)設(shè)置。 |
上傳控制 | 支持設(shè)置上傳進(jìn)度條。支持默認(rèn)進(jìn)度回調(diào)和自定義進(jìn)度回調(diào)。 Java語(yǔ)言支持?jǐn)帱c(diǎn)續(xù)傳,其它語(yǔ)言不支持。 | M3U8文件上傳暫不支持設(shè)置上傳進(jìn)度條。 |
事件通知 | 支持設(shè)置回調(diào)獲取上傳事件通知。支持的事件通知請(qǐng)參見(jiàn)上傳設(shè)置。 | 配置回調(diào)請(qǐng)參見(jiàn)回調(diào)設(shè)置。 |
上傳授權(quán) | 支持上傳憑證方式(使用阿里云賬號(hào)AK或經(jīng)過(guò)授權(quán)的RAM用戶AK初始化)授權(quán)上傳。 支持STS方式(使用STS臨時(shí)AK初始化)授權(quán)上傳。 | STS方式需要用戶自行搭建服務(wù)獲取STS臨時(shí)AK。 |
上傳加速 | 開通后支持。開通上傳加速功能需提交工單。 | 申請(qǐng)開通后,可通過(guò)獲取上傳地址和憑證相關(guān)接口的 |
上傳地址和憑證相關(guān)接口包括:
上傳流程
服務(wù)端上傳SDK封裝了獲取上傳地址和憑證的邏輯和OSS上傳邏輯,只需簡(jiǎn)單配置即可進(jìn)行上傳。完整的上傳流程如下圖所示:
流程詳解
用戶在上傳應(yīng)用服務(wù)集成點(diǎn)播服務(wù)端上傳SDK并完成上傳設(shè)置,如:AK信息、文件地址、存儲(chǔ)地址、媒資管理、轉(zhuǎn)碼設(shè)置、上傳控制等。
上傳應(yīng)用服務(wù)器使用點(diǎn)播服務(wù)端上傳SDK調(diào)用上傳地址和憑證相關(guān)接口獲取上傳地址、上傳憑證及媒資信息。
說(shuō)明您也可以構(gòu)造HTTP/HTTPS請(qǐng)求獲取上傳地址和憑證,但需要自行構(gòu)造簽名,出錯(cuò)概率較高。上傳地址和憑證相關(guān)接口包括:
點(diǎn)播服務(wù)在請(qǐng)求結(jié)果中返回上傳地址(UploadAddress)、上傳憑證(UploadAuth)和媒體ID等信息。
說(shuō)明點(diǎn)播服務(wù)在下發(fā)上傳地址和憑證時(shí)還會(huì)自動(dòng)創(chuàng)建媒資信息,即媒體ID(MediaId),用于媒資生命周期管理或媒體處理。
獲取視頻上傳地址和憑證返回的
VideoId
即媒體ID。獲取圖片上傳地址和憑證返回的
ImageId
即媒體ID。獲取輔助媒資上傳地址和憑證返回的
MediaId
即媒體ID。請(qǐng)妥善保存媒體ID,作為媒資管理、音視頻播放、媒體處理等的輸入。
上傳應(yīng)用服務(wù)器通過(guò)點(diǎn)播服務(wù)端上傳SDK封裝好的OSS上傳邏輯開始上傳。
OSS服務(wù)返回上傳結(jié)果。
說(shuō)明上傳結(jié)果也可以通過(guò)提前配置回調(diào)接收上傳相關(guān)事件來(lái)監(jiān)聽。
操作指引
不同語(yǔ)言的服務(wù)端上傳SDK的集成與使用方法不同。請(qǐng)根據(jù)需要點(diǎn)擊以下鏈接跳轉(zhuǎn)至具體的操作指引。
點(diǎn)播服務(wù)端上傳SDK與點(diǎn)播服務(wù)端SDK的區(qū)別
點(diǎn)播服務(wù)端上傳SDK與點(diǎn)播的服務(wù)端SDK是不同的概念。點(diǎn)播服務(wù)端上傳SDK封裝了完整的上傳邏輯,可直接集成使用。而點(diǎn)播服務(wù)端SDK集成了點(diǎn)播的全部功能,其中上傳功能僅僅提供獲取上傳地址和憑證部分的邏輯,需要結(jié)合具體的使用場(chǎng)景使用,也需要用戶自行實(shí)現(xiàn)上傳邏輯,包括在點(diǎn)播服務(wù)獲取上傳憑證和地址、Base64解碼上傳憑證和地址、調(diào)用OSS能力完成上傳等。關(guān)于點(diǎn)播服務(wù)端SDK的詳細(xì)信息請(qǐng)參見(jiàn)點(diǎn)播服務(wù)端SDK。