阿里雲播放器SDK(ApsaraVideo Player SDK,後續統稱“播放器SDK”)是MediaBox音視頻SDK的子產品之一,提供直播和點播情境中視頻播放功能,支援Web、Android、iOS、Flutter、HarmonyOS、Windows、macOS等多種平台。通過閱讀本文,您可以瞭解播放器SDK支援的功能。
標準功能
本文以Web、Android端、iOS端、Flutter端、HarmonyOS端為例,為您介紹了播放器SDK的標準功能。其中,✔️和❌分別表示支援和不支援該功能,— 表示該端無需擁有或並不具備該項功能。
播放協議與格式
功能 | 說明 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
點播播放 | 支援常見的FLV、HLS、MP4、MP3等點播情境的音視頻格式。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
直播播放 | 支援常見的RTMP、FLV、HLS等直播情境的音視頻格式。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️,不支援RTMP協議 |
直播時移 | 支援直播時移視頻流播放,可設定開始、結束和當前支援時間,支援拖動。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
H.264編碼協議 | 支援播放H.264編碼協議的視頻流,支援軟硬解切換。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️,Web端軟硬解取決於瀏覽器設定 |
H.265編碼協議 | 支援播放H.265編碼協議的視頻流,支援軟硬解切換。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️,Web端軟硬解取決於瀏覽器設定,需申請後方可使用,詳見增值功能。 |
H.266編碼協議 | 支援播放H.266編碼協議的視頻流。 | ✔️,需申請後方可使用,詳見增值功能。 | ✔️,需申請後方可使用,詳見增值功能。 | ✔️,需申請後方可使用,詳見增值功能。 | ❌ | ✔️,需申請後方可使用,詳見增值功能。 |
超低延時直播RTS | 支援高並發、低卡頓、毫秒級延遲的阿里雲超低延時直播RTS。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
低延時直播 | 支援LL-HLS、DASH協議的低延時流播放。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
DASH協議 | 支援標準協議的DASH視頻流播放,例如:SegmentBase 、SegmentTemplate。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Quic加速 | 支援 Quic 傳輸協議,有效提升視頻傳輸效率 | ✔️ | ✔️ | ✔️ | ✔️ | — |
HDR視頻播放 | 支援HDR10/HLG等多種HDR格式。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️,取決於瀏覽器是否支援 |
URL播放 | 支援線上視頻、本地視頻以URL的方式播放。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
VID播放 | 支援VID方式播放,同時對視頻下發多個清晰度的播放地址(若有),例如:VidAuth播放、VidSts播放。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
SEI訊息 | 接受讀取SEI訊息。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
網路通訊協定
功能 | 說明 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
自訂Header | 請求音視頻資源時,自訂HTTP Headers內容。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️,MP4 不支援,HLS、DASH 部分支援 |
HTTPDNS | 支援標準HTTPDNS,降低DNS劫持風險。 | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
HTTP/2 | 支援HTTP/2,通過二進位分幀、多工、首部壓縮等最新的特性,能夠大幅度提高Web效能,降低資料互動延遲。 | ✔️ | ✔️ | ✔️ | ✔️ | 取決於瀏覽器是否支援,詳情請參見Can I use http2? |
HTTP/3 | 支援HTTP/3,支援基於QUIC協議進行加速,加速效果更快更優。 | ✔️ | ✔️ | ✔️ | ✔️ | 取決於瀏覽器是否支援,詳情請參見Can I use http3? |
播放控制
功能 | 說明 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
基礎控制 | 支援開始、結束、暫停、seek、自動播放等播放控制功能。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
seek | 支援拖動到指定位置(UI支援手勢);支援已經緩衝的視頻內容在拖動時不清除緩衝內容並快速拖動。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
精確seek | 支援精確到幀層級拖動到指定位置。 | ✔️ | ✔️ | ✔️ | ✔️ | 支援毫秒層級的精確seek |
緩衝內seek | 支援已經緩衝的視頻內容在seek時不清除緩衝內容並快速seek。 | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
續播 | 支援設定續播起播時間點。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
迴圈播放 | 支援音視頻播放結束後自動重播。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
列表播放 | 支援短視頻列表播放功能,提升載入速度。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
倍速播放 | 支援變速播放,支援音頻變速不變調。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
清晰度(手動)切換 | 可使用視訊點播的多路清晰度流切換。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
無縫切換 | 針對阿里雲直播流地址,在播放過程中支援無縫切換多個解析度的直播流(switchStream),提升使用者的播放體驗。 | ✔️ | ✔️ | ✔️ | ❌ | ❌,支援HLS和Dash的無縫切換。 |
切換音軌 | 可使用視訊點播的多路音軌流切換。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
截圖 | 支援截取當前播放畫面幀並儲存為靜態圖片。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
鎖定螢幕 | 支援鎖屏功能,包含鎖定旋轉和隱藏介面元素。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
視頻效果
功能 | 說明 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
填充 | 支援畫面填充和畫面裁剪兩種填充模式。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
旋轉 | 支援0°、90°、180°和270°四個視頻畫面渲染角度設定。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
鏡像 | 支援無鏡像、水平鏡像和垂直鏡像三種鏡像模式設定。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
縮圖預覽(雪碧圖) | 支援進度條縮圖預覽。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
亮度調節 | 支援系統的亮度調節(UI支援手勢)。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
自訂播放器尺寸 | 支援自訂設定播放器的寬高。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
畫中畫(小窗)播放 | 支援切換到畫中畫以小窗形式播放。 | ✔️ | ✔️,iOS14及其以下版本不支援在App外播放 | ✔️,支援iOS的畫中畫介面,暫不支援安卓的畫中畫介面 | ❌ | ❌ |
音頻效果
功能 | 說明 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
音量大小 | 支援調用系統介面調節觀看視頻的音量。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
靜音 | 支援開啟和關閉靜音功能。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
純音頻播放 | 支援只播放視頻檔案中的音頻和常見的音頻檔案,例如:MP3、AAC。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
雙聲道音頻 | 支援播放雙聲道音頻 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
多音軌 | 支援播放含多音軌的視頻檔案,播放時可切換音軌,如英文切換中文 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
後台播放 | 支援介面切到後台後繼續播放音頻。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
播放效能
功能 | 說明 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
播放失敗重試 | 播放失敗時自動重試。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
自動重連 | 支援直播的自動重連功能。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
本機快取 | 可使用視訊播放的同時緩衝下載後面的內容到本地,滿足短視頻情境下的迴圈播放,節約使用者流量。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
預先載入 | 對本機快取功能的升級,提升視頻的起播速度。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
多執行個體 | 支援在一個介面添加多個播放器同時播放。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
網路自適應播放多碼率視頻流 | 支援多碼率HLS、DASH的無縫切換。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
動態追幀 | 支援直播的動態追幀,降低延時。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
互動功能
功能 | 說明 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
字幕 | 支援匯入自訂的字幕檔案。 | ✔️,支援SRT、SSA、ASS、VTT字幕 | ✔️,支援SRT、SSA、ASS、VTT字幕 | ✔️,支援SRT、SSA、ASS、VTT字幕 | ❌,僅支援字幕文本解析 | ✔️,支援VTT字幕 |
視頻安全
功能 | 說明 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
referer黑白名單 | 支援通過播放請求中攜帶的referer欄位識別請求來源,以黑名單或白名單方式對請求來源進行控制。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
HLS標準加密 | 支援標準AES-128加密方案。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
阿里雲加密(私人加密) | 支援阿里雲加密(私人加密)方案,即HLS格式(URL尾碼為.m3u8)和MP4格式視頻的私人加密,防止視頻泄露和盜鏈問題。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️,部分瀏覽器支援,詳情請參見H5功能適配說明 |
安全下載 | 支援通過唯一應用下載視頻並進行加密。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
DRM加密 | 支援Widevine、Fairplay的DRM加密方案。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
品質服務
功能 | 說明 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
日誌上報 | 支援上報播放器SDK日誌,統計音ApsaraVideo for VOD、直播相關播放埋點資訊。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
播放異常追溯 | 支援按照指定使用者、播放會話對播放歷史進行追溯,定位播放異常原因。 | ✔️,免費版支援查詢最近3天資料 | ✔️,免費版支援查詢最近3天資料 | ✔️,免費版支援查詢最近3天資料 | ✔️,免費版支援查詢最近3天資料 | ✔️,免費版支援查詢最近3天資料 |
播放資料大盤 | 支援觀測播放量、播放使用者數等宏觀資料。 | ✔️,免費版支援查詢最近3天資料 | ✔️,免費版支援查詢最近3天資料 | ✔️,免費版支援查詢最近3天資料 | ✔️,免費版支援查詢最近3天資料 | ✔️,免費版支援查詢最近3天資料 |
開發支援
功能 | 說明 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
渲染資料輸出 | 支援邊渲染邊輸出PCM和YUV資料。 | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
事件回調 | 支援對播放狀態回調、首幀回調、播放完成或失敗回調。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
解碼策略黑名單 | 提供不支援硬體解碼的機型列表,以及最佳化支援。 | ✔️ | ✔️ | ✔️ | ❌ | — |
網速顯示 | 支援播放器執行個體的即時網速上報。 | ✔️ | ✔️ | ✔️ | ✔️ | 僅支援超低延時直播RTS |
UI組件 | 包含完整UI,您可以根據自身需求選用。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
增值功能
本文以Web、Android和iOS端為例,為您介紹了播放器SDK的增值功能。如需使用,請先提交工單,申請開通增值服務。其中,✔️和❌分別表示支援和不支援該功能。
功能 | 功能概述 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
播放H.265視頻 | 支援播放H.265的視頻流,相對於H.264視頻流有效降低頻寬消耗,改善播放效能。 說明 Web播放器SDK如需播放H.265視頻,請先提交工單或聯絡阿里雲商務經理申請開通。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
播放H.266視頻 | 支援播放H.266的視頻流,相對於H.264/H.265視頻流有效降低頻寬消耗,改善播放效能。 說明 如需播放H.266視頻,請先提交工單或聯絡阿里雲商務經理申請開通。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
進階ABR策略 | 相對於普通ABR策略更好地適應多碼率HLS或DASH視頻流,明顯降低卡頓,提昇平均播放碼率。 | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
端側超分 | 將低解析度視頻轉換為高解析度視頻,以提高視頻播放的清晰度,改善播放體驗。 在確保視頻主觀體驗的前提下,適應更低碼率的視頻源,降低視頻傳輸費用。 | ✔️ | ✔️ | ❌ | ❌ | ❌ |
端側銳利化 | 突出映像的輪廓和銳利化模糊的細節,從而提供更清晰、更銳利的觀看效果。 | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
端側插幀 | 消除低幀率視頻的卡頓感,從而提供絲滑流暢的播放體驗。 | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
音頻增強 | 全景聲空間音頻技術,提供更加沉浸、真實的體驗。 | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
增強型HTTPDNS | 支援阿里雲CDN網路精準調度、即時解析生效,有效提高網路效能。 說明 播放器SDK從6.7.0版本開始支援增強型HTTPDNS。6.7.0~6.11.0版本播放器SDK,請先提交工單或聯絡阿里雲商務經理申請開通;6.12.0及以後版本無需申請,預設開啟。 | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |