客戶端上傳SDK指引
客戶端上傳,是指將移動(dòng)端媒體文件上傳到點(diǎn)播存儲(chǔ)。視頻點(diǎn)播提供客戶端上傳SDK以及相應(yīng)的使用Demo。本文介紹客戶端上傳SDK的使用場(chǎng)景、上傳流程和操作指引。
使用場(chǎng)景
客戶端上傳SDK適用于UGC(用戶生產(chǎn)內(nèi)容)、PGC(專業(yè)生產(chǎn)內(nèi)容)等場(chǎng)景,支持本地文件上傳和網(wǎng)絡(luò)文件上傳。
客戶端上傳SDK中的Android端上傳還支持短視頻上傳。短視頻上傳通過(guò)上傳實(shí)例(VODSVideoUploadClient
)完成,支持同時(shí)上傳視頻和封面圖片。
功能點(diǎn) | 說(shuō)明 | 備注 |
支持客戶端 | 目前支持的客戶端包括:Web、iOS、Android、微信小程序。 | 暫無(wú) |
媒體說(shuō)明 | 支持的媒體格式請(qǐng)參見(jiàn)媒體上傳概述。 支持本地文件上傳和網(wǎng)絡(luò)文件上傳(URL拉取方式)。 支持短視頻SDK錄制上傳。 同時(shí)上傳多個(gè)文件支持文件列表管理。包括文件的增加、刪除、取消、恢復(fù)、遍歷、清空。 |
說(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) |
媒資管理 | 支持設(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è)置。 |
上傳控制 | 包括開始、停止、暫停、恢復(fù)。 支持?jǐn)帱c(diǎn)續(xù)傳。 | 上傳SDK內(nèi)部會(huì)完成斷點(diǎn)續(xù)傳的功能,用戶不需要關(guān)心任何斷點(diǎn)和片段恢復(fù),因?yàn)楫惓G闆r導(dǎo)致的視頻上傳失敗重新上傳都會(huì)從斷點(diǎ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)上傳。 | 移動(dòng)端或Web端推薦使用STS臨時(shí)方式。 STS方式需要用戶自行搭建服務(wù)獲取STS臨時(shí)AK。 客戶端上傳SDK提供了刷新臨時(shí)Token的代碼示例。 |
上傳加速 | 開通后支持。開通需提交工單。 | 申請(qǐng)開通后,可通過(guò)獲取上傳地址和憑證相關(guān)接口的 |
網(wǎng)絡(luò)切換 | 支持移動(dòng)網(wǎng)絡(luò)3G/4G與WIFI之間切換。 | 為了避免浪費(fèi)3G/4G網(wǎng)絡(luò)下的流量,切換到3G/4G網(wǎng)絡(luò)時(shí),可以調(diào)用pause暫停上傳。在切換回WIFI網(wǎng)絡(luò)時(shí),調(diào)用resume恢復(fù)上傳(網(wǎng)絡(luò)切換部分需要應(yīng)用自己實(shí)現(xiàn)判斷)。 |
上傳地址和憑證相關(guān)接口包括:
上傳流程
客戶端上傳SDK封裝了OSS上傳邏輯。在客戶端上傳媒體文件時(shí),會(huì)直接將文件上傳到點(diǎn)播存儲(chǔ)(基于OSS),不會(huì)再經(jīng)服務(wù)端進(jìn)行中轉(zhuǎn),故客戶端上傳必須進(jìn)行鑒權(quán),也就是需要您在應(yīng)用服務(wù)器上部署授權(quán)服務(wù)以獲取上傳地址和憑證。目前客戶端上傳SDK支持兩種授權(quán)方式:
使用上傳地址和憑證授權(quán):建議集成點(diǎn)播服務(wù)端SDK來(lái)獲取上傳地址和憑證。
使用STS方式授權(quán):需要提前為RAM用戶創(chuàng)建角色并授權(quán),也需要自行搭建STS授權(quán)服務(wù)。
上傳地址和憑證方式上傳流程詳解
以集成點(diǎn)播服務(wù)端SDK獲取上傳地址和憑證為例,完整的上傳流程如下圖所示:
用戶在上傳應(yīng)用服務(wù)器部署授權(quán)服務(wù)(如集成點(diǎn)播服務(wù)端SDK)用于獲取上傳地址和憑證。
客戶端向上傳應(yīng)用服務(wù)器發(fā)起請(qǐng)求獲取上傳地址和憑證。
上傳應(yīng)用服務(wù)器向視頻點(diǎn)播服務(wù)發(fā)起請(qǐng)求獲取上傳地址和憑證。
點(diǎn)播服務(wù)返回上傳地址和憑證。
說(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ù)器向客戶端下發(fā)上傳地址和憑證。
重要下發(fā)地址和憑證即可,無(wú)需Base64解碼。
客戶端使用上傳地址和憑證初始化上傳實(shí)例。
客戶端構(gòu)造上傳參數(shù)發(fā)起上傳請(qǐng)求。
OSS服務(wù)返回上傳結(jié)果。
說(shuō)明上傳結(jié)果也可以通過(guò)提前配置回調(diào)接收上傳相關(guān)事件來(lái)監(jiān)聽。
STS方式上傳流程詳解
使用STS方式上傳的完整的流程如下圖所示:
用戶在上傳應(yīng)用服務(wù)器部署授權(quán)服務(wù)(如集成阿里云STS SDK)用于獲取STS臨時(shí)Token。
客戶端向上傳應(yīng)用服務(wù)器發(fā)起請(qǐng)求獲取STS臨時(shí)Token。
上傳應(yīng)用服務(wù)器向阿里云STS服務(wù)發(fā)起請(qǐng)求獲取STS臨時(shí)Token。
阿里云STS服務(wù)返回上傳地址和憑證。
上傳應(yīng)用服務(wù)器向客戶端下發(fā)STS臨時(shí)Token。
客戶端使用STS臨時(shí)Token初始化上傳實(shí)例。
客戶端構(gòu)造請(qǐng)求發(fā)起上傳請(qǐng)求。
OSS服務(wù)返回上傳結(jié)果。
說(shuō)明上傳結(jié)果也可以通過(guò)提前配置回調(diào)接收上傳相關(guān)事件來(lái)監(jiān)聽。
操作指引
不同客戶端上傳SDK的集成與使用方法不同。請(qǐng)根據(jù)需要點(diǎn)擊以下鏈接跳轉(zhuǎn)至具體的操作指引。