直播專題問題排查-播放失敿砘馈(一)

播放失敗

導致播放失敗的原因,有很多種梭域,不一定是播放器本身的問題斑举,不過通過播放器,我們很容易反過來排查服務(wù)端或者推流端的問題病涨。下面我們會從播放失敗的表現(xiàn)富玷、播放問題排查工具、常見問題分析等多個方面展開討論既穆。

1. 播放失敗的表現(xiàn)

播放失敗的表現(xiàn)總結(jié)下來包括但不限于以下這些:

  • 界面上一直顯示 “加載中”赎懦,或者提示播放失敗的錯誤
  • 播放畫面卡死不動,但 UI 按鈕可以點擊
  • 有聲音沒有畫面幻工,有畫面沒有聲音

2. 播放問題的排查工具

一旦我們遇到視頻播放不了铲敛,第一件事,就是要找?guī)讉€別的播放器也播放看看会钝,做一下對比測試伐蒋,或者對碼流做一些基礎(chǔ)分析,以便更好地定位問題的源頭迁酸,各個平臺比較常見的播放/分析工具有如下幾個:

2.1 命令行工具

ffplay先鱼,ffprobe,mediainfo奸鬓,hls-analyzer

2.2 網(wǎng)頁端工具

http://www.cutv.com/demo/live_test.swf

2.3 App 應(yīng)用

vlc焙畔,vplayer,mxplayer

2.4 Windows 工具

mp4info串远,F(xiàn)lvParse宏多,F(xiàn)LVMeta,Elecard StreamEye Studio

3. 常見播放失敗問題排查

3.1 基礎(chǔ)概念

從給播放器傳入播放地址澡罚,到播放畫面顯示出來伸但,一般有如下幾個步驟:

  • DNS 解析,將播放地址中的域名解析為對應(yīng)的服務(wù)器 ip 地址
  • 連接服務(wù)器留搔,完成 http 請求或者 rtmp 握手過程
  • 接收服務(wù)器發(fā)送的數(shù)據(jù)更胖,解協(xié)議解封裝,拿到音視頻數(shù)據(jù)解碼播放

香港衛(wèi)視的 RTMP 直播流:rtmp://live.hkstv.hk.lxdns.com/live/hks
W3C School 的測試 mp4 流:http://www.w3school.com.cn/i/movie.mp4

3.2 域名解析失敗

如果播放地址的域名無法解析,會導致播放失敗却妨,一般斷網(wǎng)了或者域名無效饵逐,則播放的時候,會有報錯彪标。

當然倍权,如果有網(wǎng)絡(luò),但是域名解析失敗捞烟,一般 ISP 運營商可能會返回一些類似 404 頁面薄声,或者跳轉(zhuǎn)到其他的默認網(wǎng)頁,因此坷襟,對于 HLS奸柬,HTTP-FLV生年,HTTP-mp4 等碼流婴程,會因為讀到一些 “臟數(shù)據(jù)” 從而返回一些其他的錯誤

遇到這類錯誤,一般可以通過 ping 一下域名試試抱婉,看看是否可以 ping 通档叔,如果 ping 不通,則可能要檢查下域名解析的配置了蒸绩。

3.3 服務(wù)器連接失敗

如果域名正確衙四,并且有網(wǎng)絡(luò)連接的狀態(tài),多半是可以正常解析出服務(wù)器 ip 地址的患亿,但是依然有連接失敗的可能传蹈,比如,這臺服務(wù)器相應(yīng)的服務(wù)掛掉了步藕,或者并沒有在相應(yīng)的端口提供服務(wù)惦界,從而導致播放器連接失敗

當然,也有可能是這臺服務(wù)器雖然提供了 rtmp 拉流服務(wù)但是宕機了咙冗,因此沾歪,我們需要通過 dig 命令確定最終訪問的是哪一臺服務(wù)器,并排查下該服務(wù)器為什么無法連接雾消,當然灾搏,最好是修改下 ffpmeg 源碼,把解析出來的服務(wù)器 ip 地址打印出來立润,這樣就可以直接看到所連接的服務(wù)器地址了狂窑。

3.4 請求的資源不存在

對于 http 協(xié)議的直播地址,請求的播放資源不存在桑腮,返回的錯誤還是比較快的蕾域,比如:

$ ffplay http://jhuster.com/live/hks.mp4
http://jhuster.com/live/hks.mp4: Server returned 404 Not Found
$ ffplay http://www.w3school2.com.cn/i/movie2.mp4
http://www.w3school2.com.cn/i/movie2.mp4: Invalid data found when processing input

注:由于讀到 ISP 運營商返回的跳轉(zhuǎn)頁面的 “臟數(shù)據(jù)”,因此也有可能返回上面這種錯誤

RTMP 直播協(xié)議,跟 HTTP 協(xié)議的播放旨巷,有著一個很大的不同巨缘,就是播放器請求的數(shù)據(jù),并不一定 “存放” 在服務(wù)器采呐,因此若锁,服務(wù)器無法簡單通過 URI 定位不到則返回 404,這些數(shù)據(jù)是在 RTMP握手之后斧吐,由生產(chǎn)端逐步產(chǎn)生并由服務(wù)器轉(zhuǎn)發(fā)到客戶端又固,因此很難簡單判斷說 “資源不存在”。

通常RTMP 協(xié)議的直播流煤率,如果推流端沒有推流了仰冠,播放器這邊一般是讀數(shù)據(jù)超時后才會返回錯誤

3.4 不支持的格式

視頻流的采用的網(wǎng)絡(luò)協(xié)議、編碼格式蝶糯、封裝格式有很多種洋只,網(wǎng)絡(luò)協(xié)議比如 http/https/rtmp/rtsp等等,編碼格式比如h.264昼捍,mpeg4识虚,aac,speex等等妒茬,封裝格式比如 flv担锤,mp4,avi乍钻,rmvb 等等肛循,這些協(xié)議和格式的流,都是需要播放器專門添加支持的银择,因此多糠,播放器遇到不支持的協(xié)議或者格式,也會導致播放失敗

3.5 只有音頻沒有視頻欢摄,或者只有視頻沒有音頻

出現(xiàn)該錯誤的原因可能有如下幾點:

  • 音頻/視頻的編碼格式不支持熬丧,導致解碼失敗
  • 音頻/視頻的數(shù)據(jù)內(nèi)容異常,導致解碼失敗
  • 基于 ffmpeg 的播放器的 probesize 設(shè)置太小怀挠,導致解析碼流信息不足
  • 碼流/文件本身的前半段只有音頻沒有視頻析蝴,或者只有視頻沒有音頻

這個問題播放啟動流程已經(jīng)完成,只是出現(xiàn)了畫面缺失绿淋、或者音頻缺失闷畸,也算是一種播放失敗

3.6 其他播放失敗

上面只分析了常見的播放失敗問題,其實導致播放失敗的原因還有千千萬萬種吞滞,這里無法一一都列出來佑菩,不過通過 ffplay 的報錯盾沫,就知道大概的原因,再聯(lián)合服務(wù)端一起調(diào)試調(diào)試殿漠,一般都是可以找到根本原因的赴精。移步ffmpeg 常見的錯誤分類

直播專題問題排查-播放失斀驶稀(一)
直播專題問題排查-播放卡頓(二)
直播專題問題排查-首開慢(三)
直播專題問題排查-延時高(四)
直播專題問題排查-音畫不同步(五)
直播專題問題排查-黑屏猪狈、花屏芋簿、閃屏(六)
直播專題問題排查-播放雜音、噪音哲银、回聲(七)
直播專題問題排查-拖動不準(八)
直播專題問題排查-功耗高(九)
直播專題問題排查-馬賽克(十)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載童太,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者鄙才。
  • 序言:七十年代末庵朝,一起剝皮案震驚了整個濱河市阱洪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌问顷,老刑警劉巖昂秃,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異择诈,居然都是意外死亡械蹋,警方通過查閱死者的電腦和手機出皇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門羞芍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人郊艘,你說我怎么就攤上這事荷科。” “怎么了纱注?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵畏浆,是天一觀的道長。 經(jīng)常有香客問我狞贱,道長刻获,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任瞎嬉,我火速辦了婚禮蝎毡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘氧枣。我一直安慰自己沐兵,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布便监。 她就那樣靜靜地躺著扎谎,像睡著了一般碳想。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上毁靶,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天胧奔,我揣著相機與錄音,去河邊找鬼预吆。 笑死葡盗,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的啡浊。 我是一名探鬼主播觅够,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼巷嚣!你這毒婦竟也來了喘先?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤廷粒,失蹤者是張志新(化名)和其女友劉穎窘拯,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坝茎,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡涤姊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嗤放。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片思喊。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖次酌,靈堂內(nèi)的尸體忽然破棺而出恨课,到底是詐尸還是另有隱情,我是刑警寧澤岳服,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布剂公,位于F島的核電站,受9級特大地震影響吊宋,放射性物質(zhì)發(fā)生泄漏纲辽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一璃搜、第九天 我趴在偏房一處隱蔽的房頂上張望拖吼。 院中可真熱鬧,春花似錦腺劣、人聲如沸绿贞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽籍铁。三九已至涡上,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拒名,已是汗流浹背吩愧。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留增显,地道東北人雁佳。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像同云,于是被迫代替她去往敵國和親糖权。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容