播放異常自主排查
本文主要介紹當(dāng)播放異常時自主排查異常根因的定位思路及排查步驟等。
排查思路
導(dǎo)致視頻播放異常的原因有多種,定位問題時,可首先分析異常產(chǎn)生是否呈現(xiàn)一定的分布特征。若異常產(chǎn)生具有明顯分布特征時,可按下述表格中歸納出來的可能原因進行排查定位問題;若異常產(chǎn)生無明顯分布特征時,則可以按端(終端設(shè)備)、流(音視頻流)、網(wǎng)(網(wǎng)絡(luò)節(jié)點)的思路逐步定位問題;若經(jīng)過自主排查最終無法定位問題,您可以提供異常信息獲取阿里云技術(shù)支持。
異常呈現(xiàn)分布特征:
異常分布特征
異常產(chǎn)生可能原因
終端用戶集中在某些ISP或是地區(qū)
可能是當(dāng)?shù)剡\營商網(wǎng)絡(luò)、CDN區(qū)域調(diào)度問題導(dǎo)致。
終端設(shè)備的操作系統(tǒng)呈現(xiàn)集中特征
可能是SDK在不同平臺之間的實現(xiàn)差異、系統(tǒng)兼容性問題導(dǎo)致。
終端設(shè)備品牌或機型呈現(xiàn)集中特征
可能是設(shè)備兼容性問題導(dǎo)致。
特定音視頻文件呈現(xiàn)集中特征
可能是音視頻文件的編碼、CDN預(yù)熱或是業(yè)務(wù)訪問策略問題導(dǎo)致。
異常無明顯分布特征:異常產(chǎn)生原因比較復(fù)雜或被數(shù)據(jù)量所掩蓋,需要從內(nèi)容到人的業(yè)務(wù)鏈路重要節(jié)點逆向排查,逐步定位問題節(jié)點以追溯原因。
步驟一:排查端
終端設(shè)備兼容性
首先判斷當(dāng)前音視頻流的協(xié)議是否為操作系統(tǒng)與應(yīng)用環(huán)境所支持,若不支持,請做轉(zhuǎn)碼處理,轉(zhuǎn)碼操作請參見轉(zhuǎn)碼推薦。播放器SDK支持的音視頻協(xié)議及編碼格式如下。
Native App
操作系統(tǒng) | 視頻編碼格式 | 視頻協(xié)議 | 音頻編碼格式 |
Android |
|
|
|
iOS | |||
Windows | |||
macOS | |||
Linux |
Web
若音視頻協(xié)議滿足下述Web端兼容要求,請確認您已配置了HTTPS證書和跨域訪問,相關(guān)操作請參見HTTPS安全加速設(shè)置、配置跨域訪問。
操作系統(tǒng) | 視頻編碼格式 | 視頻協(xié)議 | 音頻編碼格式 |
Android | H.264 |
|
|
iOS | H.264 |
說明 不支持FLV和MPEG-DASH。 | |
H.265 |
| ||
Windows | H.264 | ||
macOS | H.264 |
| |
H.265 |
|
Android設(shè)備部分瀏覽器需要MSE拓展才能支持HLS播放,具體情況如下:
Android設(shè)備瀏覽器 | HLS支持情況 |
微信 | 支持 |
釘釘 | 支持 |
UC/夸克 | 支持 |
QQ瀏覽器 | 支持 |
Chrome | MSE拓展支持 |
華為瀏覽器 | MSE拓展支持 |
OPPO瀏覽器 | 支持 |
vivo瀏覽器 | 支持 |
小米瀏覽器 | MSE拓展支持 |
播放器SDK兼容性
當(dāng)上述終端設(shè)備兼容性滿足要求時,可以通過使用其他播放器(非阿里云播放器)播放視頻輔助排查是否為播放器SDK兼容性問題。
若其他播放器播放正常,則可能是阿里云播放器SDK的兼容性問題導(dǎo)致,此時您可以獲取技術(shù)支持。
若其他播放器播放異常,則需要從流、網(wǎng)定位問題原因。
步驟二:排查流
排除了上述可能原因后,可以對音視頻流進行重新轉(zhuǎn)碼后再次嘗試播放,若轉(zhuǎn)碼后播放正常,則說明可能是原有音視頻流編碼不規(guī)范導(dǎo)致播放異常。
當(dāng)播放MP4視頻起播慢或MOV視頻播放失敗時,可能由于源視頻的moov(音視頻數(shù)據(jù)索引)在mdat(音視頻數(shù)據(jù))之后造成,可以通過轉(zhuǎn)碼源視頻將moov移到mdat之前,以加快播放解析。
通過如下命令檢測moov位置:
# 源視頻地址可以是本地文件地址也可以是在線URL,例如:http://pla****.alicdn.com/video/aliyunmedia.mp4 ffmpeg -v trace -i "源視頻地址" 2>&1 | grep -e type:\'mdat\' -e type:\'moov\'
正常情況下,moov在mdat之前,如下圖所示。
異常情況下,moov在mdat之后,如下圖所示。
通過如下命令或ffprobe命令行工具(工具地址)可以查詢源文件的音頻、視頻編碼格式等信息,可以用于分析產(chǎn)生異常的視頻是否存在某類規(guī)律或特征:
ffprobe "input.mp4"
或ffprobe "源視頻地址"
轉(zhuǎn)碼推薦
轉(zhuǎn)碼輸出:建議轉(zhuǎn)為H.264的MP4或HLS視頻流。
轉(zhuǎn)碼方式:建議使用以下阿里云服務(wù)或本地工具。
分類
服務(wù)名稱/工具名稱
說明
阿里云服務(wù)
視頻點播
視頻點播提供的音視頻轉(zhuǎn)碼功能支持完善的轉(zhuǎn)碼和轉(zhuǎn)封裝能力,以滿足豐富的媒體格式轉(zhuǎn)換需求,支持普通轉(zhuǎn)碼、窄帶高清1.0轉(zhuǎn)碼、窄帶高清2.0轉(zhuǎn)碼、原畫轉(zhuǎn)碼。詳細內(nèi)容請參見音視頻轉(zhuǎn)碼。
媒體處理
媒體處理提供的媒資轉(zhuǎn)碼功能可以將多媒體數(shù)據(jù)轉(zhuǎn)碼成適合在全平臺播放的格式,支持普通轉(zhuǎn)碼、窄帶高清1.0轉(zhuǎn)碼、窄帶高清2.0轉(zhuǎn)碼、倍速轉(zhuǎn)碼、分辨率倍增轉(zhuǎn)碼,適用于視頻源文件存儲在OSS自有Bucket中的用戶。詳細內(nèi)容請參見媒資轉(zhuǎn)碼。
智能媒體服務(wù)
智能媒體服務(wù)提供點播轉(zhuǎn)碼和實時轉(zhuǎn)碼能力,支持對存儲在OSS或VOD中的音視頻轉(zhuǎn)碼,并支持對直播流進行轉(zhuǎn)碼,詳細內(nèi)容請參見點播轉(zhuǎn)碼和實時轉(zhuǎn)碼。
本地工具
FFmpeg Codecs
下載地址:FFmpeg Codecs
格式工廠
下載地址:格式工廠
步驟三:排查網(wǎng)
排除了上述可能原因后,可以通過對網(wǎng)絡(luò)傳輸進行檢查以定位播放異常原因。
確認終端設(shè)備網(wǎng)絡(luò)是否正常。
Wi-Fi:當(dāng)前網(wǎng)絡(luò)是否穩(wěn)定可訪問?下行網(wǎng)速 ≥ 碼率?
可以使用測速網(wǎng)獲取下行網(wǎng)速,若下行網(wǎng)速< 碼率則會出現(xiàn)加載失敗或播放卡頓。
移動網(wǎng)絡(luò):當(dāng)前網(wǎng)絡(luò)是否為4G、5G等高速網(wǎng)絡(luò)?網(wǎng)絡(luò)信號強度如何?
弱網(wǎng)條件下網(wǎng)速可能不滿足視音視頻加載要求。
確認是否啟用了CDN加速。
未啟用CDN加速:建議配置CDN加速,可有效改善播放體驗。配置CDN加速請參見添加加速域名。
已啟用CDN加速
CDN配置問題:播放的音視頻內(nèi)容是否進行了預(yù)熱?內(nèi)容緩存是否過期?
若未進行預(yù)熱或內(nèi)容緩存已過期,則會造成CDN請求未命中,導(dǎo)致潛在的加載失敗或是播放卡頓。該問題高發(fā)于新上傳的視頻,建議主動為新上傳的視頻做CDN預(yù)熱,詳細內(nèi)容請參見刷新預(yù)熱。
其他:同一終端設(shè)備上,其他音視頻APP的播放是否正常?
若CDN配置無問題,且其他APP播放正常,則可能是CDN局部調(diào)度問題導(dǎo)致播放異常。
確認視頻源站與終端用戶分布區(qū)域。
若視頻源站使用中國內(nèi)地的服務(wù)區(qū)域,而終端用戶處于海外,則可能出現(xiàn)明顯的卡頓問題。此時,建議根據(jù)終端用戶分布情況選擇對應(yīng)的服務(wù)區(qū)部署視頻源站,以改善加速效果。
確認觀看時間段。
若特定時間段同時觀看人數(shù)過多,則可能出現(xiàn)源站限流造成播放卡頓的問題。
相關(guān)文檔
若您按照上述流程進行排查后依舊無法定位問題原因,可通過查看下述文檔,看是否有相同的案例及解決方案:
獲取技術(shù)支持
若您按照上述流程仍無法解決您的問題,您可以提交工單處理。關(guān)于如何提交工單,請參見聯(lián)系我們。
獲取技術(shù)支持時,建議您提供以下信息以便提升技術(shù)支持效率。
信息字段 | 示例 | 詳細說明 |
系統(tǒng)與設(shè)備平臺 | Android 9,小米 | 需提供發(fā)生問題的設(shè)備品牌及操作系統(tǒng)型號等信息,例如:Android幾+品牌、iOS幾、Windows幾、Mac/Linux幾。 |
SDK及版本號 | Android SDK 5.4.8.0 | 需說明使用的播放器SDK及SDK版本號,播放器SDK包括:Web SDK、Android SDK、iOS SDK、Flutter SDK、Windows SDK。 |
視頻源 | https://xxxxxx.m3u8 | 需提供可復(fù)現(xiàn)問題的視頻源地址或視頻文件。 |
問題描述+日志+錄屏 | 2022年08月29日,16:40開始播放,直到17:00左右出現(xiàn)卡頓,日志附件如下。 | 需詳細描述問題發(fā)生的步驟及現(xiàn)象,最好可具體到詳細的時間點。對于可復(fù)現(xiàn)的問題,需要提供完整復(fù)現(xiàn)步驟的日志(Android和iOS端可提供日志,日志獲取方式請參見Android端獲取問題日志或iOS端獲取問題日志),必要時可以附上錄屏的信息。 |
問題分布特征 | 只在Android設(shè)備上有這個問題,iOS設(shè)備上不存在。問題必現(xiàn)。 | 請說明問題發(fā)生是否具備分布特征及問題復(fù)現(xiàn)的規(guī)律及頻率。例如:問題發(fā)生集中在某個視頻源、某個設(shè)備平臺、某個版本號等,問題發(fā)生為偶現(xiàn)或必現(xiàn)等。 |