為應用快速整合安全、穩定的音視頻播放能力,ApsaraVideo for VOD提供從播放憑證、URL鑒權到視頻加密的全套安全機制,以及跨平台播放器SDK,能夠快速實現視頻播放,降低開發成本。本文介紹音視頻播放的工作原理、播放地址、播放方式和播放安全。
工作原理
音視頻檔案能否播放,取決於其狀態 Status。只有狀態為正常(Status欄位值為Normal)的視頻才能正常播放,即通過點播API/SDK能擷取到播放地址。
審核中(Checking)或屏蔽(Blocked)狀態的視頻,僅能在點播控制台預覽,或通過已設定的審核安全IP進行訪問。
視頻從上傳到可播放的狀態流轉路徑如下:
有轉碼
不轉碼
因此,在擷取播放地址前,必須確認視頻狀態已變為Normal。
判斷方式
使用者上傳視頻完成後,並不代表視頻已準備就緒,還需點播服務端確認接收完成,可根據事件通知來確定上傳的視頻何時能播放。
前提條件
配置加速網域名稱更多資訊,請參見網域名稱准入標準。ApsaraVideo for VOD不強制要求配置加速網域名稱(是否必須配置CDN,取決於訪問方式):如果未配置加速網域名稱,可通過擷取視頻播放地址介面(
GetPlayInfo)擷取帶時效性鑒權參數的 OSS URL 進行播放(不配置加速網域名稱也能播放);配置加速網域名稱後,則可使用 CDN 網域名稱進行匿名訪問,或通過 URL 鑒權實現更靈活的緩衝控制。兩種方式均可正常播放,配置加速網域名稱並非播放視頻的必須步驟。網域名稱CNAME解析:請確保網域名稱完成了CNAME綁定,否則無法播放。CNAME綁定請參見 阿里雲(原萬網)解析配置CNAME流程,同時也支援DNSPod的網域名稱接入。
確認轉碼配置:ApsaraVideo for VOD支援對上傳至點播的媒體檔案做轉碼和不轉碼處理,請參見音視頻轉碼。
確認安全配置:ApsaraVideo for VOD支援多種對視頻內容的保護機制,包括訪問限制、URL鑒權、遠程鑒權、視頻加密及安全下載,視頻是否可播放受限制於以上幾種安全配置,請參見視頻安全。
配置 Web 播放器 SDK License:自 Web 播放器 SDK 2.37.8 版本起,必須配置 License 方可使用,包括 localhost 本地測試環境也需要配置有效 License,不存在臨時 License。需要在點播控制台建立 Web 應用程式並免費購買綁定 License,擷取 License Key 和綁定網域名稱後接入代碼。老版本 SDK 存在資料合規問題,海外地區使用必須升級至新版本 SDK 並綁定 License。License 的申請與配置詳細步驟,請參見 Web 播放器常見問題中的License 相關問題。
播放地址
配置加速網域名稱
在點播控制台配置加速網域名稱後,視頻播放地址為CDN檔案地址,可在點播控制台的音/視頻>管理>視頻地址頁面查看,分為固定和動態兩種,取決於是否在網域名稱管理裡開啟了URL鑒權開關,開啟和配置,請參見URL鑒權。
固定地址
適用於安全性要求低的情境,地址永久有效,即關閉鑒權開關後不含鑒權資訊的地址(URL中的
auth_key參數值即為鑒權資訊)。目前控制台添加網域名稱後鑒權開關預設為關閉。動態地址
適用於安全性要求高的情境,地址動態產生,一定時間後到期。動態地址的預設有效時間為您在URL鑒權裡配置的
預設有效時間長度,同時您也可以在產生播放地址或擷取視頻播放地址時設定到期時間;若地址到期則訪問時CDN會返回HTTP 403。動態地址樣本:
http://example.aliyundoc.com/video/aliyun-sample.mp4?auth_key=1500523200-0-0-80cd3862d699b7118eed99103f2a****說明樣本中的auth_key參數值首碼1500523200(時間為2017-07-20 12:00:00),且預設有效時間長度設定為60分鐘,則表示該地址會在2017-07-20 13:00:00到期。
未配置加速網域名稱
未配置加速網域名稱時,返回的播放地址為OSS檔案地址,此時無法使用URL鑒權,但會預設產生OSS鑒權資訊,請參見OSS-在URL中包含簽名。此時,通過播放調用擷取視頻播放地址介面擷取播放地址時,仍可使用
AuthTimeout參數指定視頻OSS地址的到期時間,但無法根據AccessKey自訂鑒權資訊。如您在控制台的儲存管理版面設定了儲存
Bucket為公用讀取,則可忽略OSS鑒權資訊(具體操作,請參見儲存管理),此時地址為永久有效,但有被盜鏈、非法下載的風險,故儲存Bucket應盡量設定為私人。
更多播放地址的常見設定,請參見播放常見設定。
可以通過以下兩種方式擷取播放地址:
播放方式
點播控制台預覽
ApsaraVideo for VOD預覽播放器,為您提供快進、音量、字幕、音軌、清晰度、彈幕等功能。讓您預覽視頻更加便捷。

整合阿里雲播放器SDK
您可以從服務端擷取播放憑證,回傳給用戶端進行播放,好處在於安全性較高。更多資訊,請參見擷取播放憑證。使用 Web 播放器 SDK 時,需注意配置 License,具體要求請參見"前提條件"章節。
目前阿里雲播放器支援直接使用播放地址進行播放,可以將擷取到的播放地址直接傳遞給播放器進行播放。更多資訊,請參見擷取播放地址播放。阿里雲播放器 SDK 提供標準版與專業版兩種版本:專業版額外支援 H.266 編碼、DASH 協議、外掛字幕、預先載入、預渲染、進階 ABR 策略等進階功能,標準版不包含上述功能。如果僅需基礎播控功能(點播/直播播放、倍速、清晰度切換等),標準版已足夠;如需上述專業功能,建議購買專業版。
整合第三方播放器
您可以整合第三方播放器擷取播放地址播放。
擷取到播放地址後,傳遞給自主播放器進行播放,方式比較靈活,但需要自己實現清晰度切換、異常處理等開發工作。
播放安全(限制播放和下載)
計費說明
配置加速網域名稱後,音視頻播放產生加速服務計費。
未配置加速網域名稱,音視頻播放產生儲存流出流量計費。
詳情請參見基礎服務計費。
常見問題
視頻播放失敗,如何排查
檢查網路:確認用戶端網路連接正常。
檢查視頻狀態:調用擷取音視頻播放地址介面或在控制台查看視頻狀態是否為
Normal。檢查播放地址/憑證:檢查
auth_key是否到期或簽名是否正確。檢查播放器:確認使用的播放器是否支援該視頻格式,阿里雲播放器支援格式請參見播放器SDK功能詳情。
手機瀏覽器直接複製播放地址,播放卡頓或載入失敗:原因是播放地址缺少 URL 鑒權簽名,或網域名稱開啟了 Referer 防盜鏈校正並攔截了該請求。解決方案:確認播放地址是否開啟了 URL 鑒權並攜帶有效
auth_key簽名;檢查網域名稱的 Referer 防盜鏈白名單配置;建議使用帶簽名的播放連結,或通過播放器 SDK 訪問,避免直接暴露原始播放地址。微信小程式
video組件倍速播放時音畫不同步:原因是微信小程式原生video組件底層對 edit list 支援不完善,音頻初始位移在倍速播放或 Seek 操作時會累積放大。解決方案:建議使用阿里雲 Web 播放器 SDK 替代原生video組件,或對視頻進行轉碼處理以提升相容性。Chrome 瀏覽器升級後 Web 播放器無法使用(涉及 HLS 相容性問題):建議將 Web 播放器 SDK 升級至 2.37.8 及以上版本以解決該相容性問題,並按需申請配置免費的 License(License 申請方式參見"前提條件"中的說明)。
更多異常請參考播放異常自主排查。
如何?視頻加密播放
ApsaraVideo for VOD提供多種加密方案,如阿里雲視頻加密和HLS標準加密,需要配置加密轉碼模板組進行轉碼,並在播放時使用阿里雲播放器SDK解密播放。詳情請參見視頻加密。
加密播放報錯 InvalidParameter,提示 Rand 參數無效
播放加密視頻時,如果報錯 InvalidParameter 且提示 Rand 參數無效,需要在播放配置中設定對應的 encryptType 參數。具體配置方式請參見加密視頻播放說明。