邊轉邊播是面向視頻線上播放需求的即時轉碼功能。通過閱讀本文,您可以瞭解邊轉邊播功能的優勢以及如何使用邊轉邊播。
功能簡介
不同於媒體轉碼需要在視頻上傳完成後等待整個視頻轉碼完成才能播放,邊轉邊播作為即時轉碼功能,可以實現原視頻檔案上傳完成後立即開始播放,並在播放時僅對需要播放的視頻片段進行轉碼。邊轉邊播主要能為您帶來:
-
邊播放邊轉碼,播放無需等待。
-
轉碼最佳化,秒級開播跳播,接近本地的播放體驗。
-
不播放不轉碼,即使轉碼檔案刪除了也能重新轉,顯著節省轉碼和儲存成本。
-
支援幾十種轉碼參數,轉碼參數可高度自訂。
-
相容性高,支援300+種音視頻格式。
邊轉邊播不支援匿名播放。
使用流程
-
將視頻檔案上傳到Object Storage Service。
-
通過GenerateVideoPlaylist介面快速產生媒體播放清單檔案,並使用OSS的簽名功能對播放清單進行簽名,最終擷取簽名後的播放清單。
-
播放器擷取播放清單進行播放,播放過程中自動觸發邊轉邊播功能。
使用情境
-
網盤:使用者上傳視頻到網盤,各種網盤用戶端立即能根據網路情況選擇不同的解析度進行播放。既保證了播放的即時性,又能確保視頻在不同裝置上的相容性。且網盤中大部分視頻都是冷視頻,使用邊轉邊播功能,沒有被使用者播放的視頻內容不會觸發轉碼,極大節省了轉碼和儲存成本。
-
聊天軟體視頻預覽:在即時通訊或社交媒體平台中,發送方把視頻發送完畢(服務端接收完成),接收方立刻可以開始播放視頻,提高交流的即時性。歷史聊天記錄中長期不被觀看的視頻,轉碼產生的視頻檔案可以定期清理以降低儲存成本,再次播放時亦可立刻播放。
-
網路論壇與部落格交流:使用邊轉邊播功能,使用者在要分享的原視頻上傳完成後,其他使用者可以立即播放轉碼後的視頻,同時保證視頻播放的流暢性、清晰度和相容性。
功能特性
邊轉邊播的更多功能特性如下表所示。
|
特性 |
說明 |
|
標準化 |
|
|
低成本 |
|
|
高效率 |
|
支援音視頻格式列表
邊轉邊播支援的音視頻格式有300多種,幾乎包含了所有常見的音視頻格式。下面是邊轉邊播支援的部分常見音視頻格式。
|
輸入視頻格式 |
avi、mov、flv、mkv、webm、mpeg、wmv、rm、vob、ts等所有主流格式 |
|
輸入音頻格式 |
mp3、wav、aac、flac、wma等所有主流格式 |
|
輸出容器格式 |
ts |
前提條件
-
已開通OSS服務、建立儲存空間並上傳檔案到儲存空間。具體操作,請參見控制台快速入門。
-
已開通Intelligent Media Management服務並建立專案。具體操作,請參見開通產品和建立專案。
說明您也可以調用CreateProject介面建立專案。
您可以調用ListProjects - 列出所有專案資訊的列表介面列出指定地區下已建立的所有專案資訊。
-
使用邊轉邊播功能時,您需要為RAM使用者授予IMM處理所需的相關許可權。
-
使用邊轉邊播前,需要先綁定IMM Project。關於控制台和API如何綁定,請參見快速入門和綁定Object Storage Service桶。
-
如您對源視頻或輸出目標視頻所在Bucket啟用了防盜鏈,請確保您設定“允許空Referer”的防盜鏈策略。
-
如您的播放器需跨域訪問OSS,請務必為目標視頻所在的Bucket啟用OSS跨域訪問,請參見:跨網域設定。
使用方法
使用Media Playlist樣本
轉碼資訊
-
源視頻資訊
-
視頻格式:AVI
-
視頻源地址:oss://your-oss-bucket-name/test.avi
-
-
目標視頻資訊
-
轉碼分區大小:10秒
-
預轉視頻長度:36秒
-
視頻流格式:H.264
-
視頻解析度:1280x720
-
視訊框架率:25 fps
-
視頻碼率:2 Mbps
-
音頻流格式:AAC
-
音頻碼率:128 Kbps
-
目標檔案儲存路徑首碼:oss://your-oss-bucket-name/output/media
-
步驟一:產生播放清單
步驟二:對播放清單簽名
步驟三:播放視頻
使用Master Playlist樣本
轉碼資訊
-
源視頻資訊
-
視頻格式:AVI
-
視頻源地址:oss://your-oss-bucket-name/test.avi
-
-
Master playlist地址:oss://your-oss-bucket-name/output/master.m3u8
-
目標視頻資訊1
-
轉碼分區大小:10秒
-
預轉視頻長度:36秒
-
視頻流格式:H.264
-
視頻解析度:1920x1080
-
視訊框架率:25 fps
-
音頻流格式:AAC
-
音頻碼率:128 Kbps
-
目標檔案儲存路徑首碼:oss://your-oss-bucket-name/output/1080p/1080p
-
-
目標視頻資訊2
-
轉碼分區大小:10秒
-
預轉視頻長度:36秒
-
視頻流格式:H.264
-
視頻解析度:1280x720
-
視訊框架率:25 fps
-
音頻流格式:AAC
-
音頻碼率:96 Kbps
-
目標檔案儲存路徑首碼:oss://your-oss-bucket-name/output/720p/720p
-
-
目標視頻資訊3
-
轉碼分區大小:10秒
-
預轉視頻長度:36秒
-
視頻流格式:H.264
-
視頻解析度:720x540
-
視訊框架率:25 fps
-
音頻流格式:AAC
-
音頻碼率:64 Kbps
-
目標檔案儲存路徑首碼:oss://your-oss-bucket-name/output/540p/540p
-
步驟一:產生播放清單
步驟二:對播放清單簽名
步驟三:播放視頻
常見問題
需要使用定製的播放器嗎?
不需要。邊轉邊播功能支援標準的HLS協議,您使用支援標準HLS協議的播放器(例如:阿里雲Aliplayer播放器,Safari瀏覽器)即可使用邊轉邊播功能。
輸出檔案包括有哪些?
我們會根據您指定的輸入路徑首碼產生m3u8檔案和ts檔案,m3u8檔案立刻產生。
如果您指定了預轉時間長度,系統將非同步產生與該預轉時間長度相對應的TS檔案。未指定預轉的部分將在視頻播放時按需觸發非同步轉碼。如果視頻從未播放,則不會為未指定預轉的部分產生TS檔案。例如,如果視頻從15分鐘的位置開始播放,系統僅會從該位置開始進行轉碼。相應產生的檔案分類樹如下:
.
├── outobjprefix.m3u8
├── outobjprefix-c280f054328fcde47c1732a8f2915009-0.ts
├── outobjprefix-c280f054328fcde47c1732a8f2915009-1.ts
├── outobjprefix-c280f054328fcde47c1732a8f2915009-2.ts
├── outobjprefix-c280f054328fcde47c1732a8f2915009-3.ts
已經產生的ts檔案手動刪除後能正常播放嗎?
可以。只要視頻源檔案和m3u8播放清單未被刪除,手動刪除部分或全部ts檔案後,視頻仍能正常播放。這是因為當m3u8播放清單再次被請求時,會觸發ts檔案的重建。這種方法允許對之前已播放但長時間未被觀看的視頻的ts檔案進行清理,從而減少儲存成本,而不影響視頻未來的重新播放。
能使用非邊轉邊播的m3u8檔案做邊轉邊播嗎?
不允許使用非邊轉邊播產生的m3u8檔案來實現邊轉邊播功能。
能使用CDN為邊轉邊播加速嗎?
可以。詳情參見使用CDN為邊轉邊播加速。