omniture

  • <sup id="8old7"><fieldset id="8old7"></fieldset></sup><legend id="8old7"><span id="8old7"></span></legend><tt id="8old7"></tt>
      1. <td id="8old7"></td>
          四虎在线播放亚洲成人,亚洲一本二区偷拍精品,国产一区二区一卡二卡,护士张开腿被奷日出白浆,99久久精品国产一区二区蜜芽,国产福利在线观看免费第一福利,美女禁区a级全片免费观看,最新亚洲人成网站在线影院

          七牛云盧俊:淺談直播技術中的播放卡頓問題

          2017-05-17 19:29 9866
          七牛云推出新系列《直播疑難雜癥排查》, 會把協(xié)助客戶解決直播問題的經驗逐步分享出來,同時也會穿插一些音視頻開發(fā)的基礎知識和優(yōu)化經驗,希望能夠幫助到直播領域的開發(fā)者們。本文是《直播疑難雜癥排查》系列的第二篇文章, 主要分析下 如何排查播放卡頓問題。

          上海2017年5月17日電 /美通社/ -- 七牛直播云在2016年6月發(fā)布之后,幫助廣大客戶解決過形形色色的問題,如直播卡頓、馬賽克、花屏、黑屏、雜音、音畫不同步等等,這其中,有一些是網絡原因,有一些是開發(fā)者的使用姿勢問題,有一些是參數配置錯誤,當然,也有一些是 SDK 本身的問題。

          總結下來,如果開發(fā)者能夠對直播領域的一些基礎知識有更深入的了解,掌握一些基本的排障手段,很多問題是能夠很快自行解決的,甚至也能夠更好地防患于未然。

          因此,繼《直播技術詳解》系列文章之后,七牛云推出了這個新的系列《直播疑難雜癥排查》,會把協(xié)助客戶解決直播問題的經驗逐步分享出來,同時也會穿插一些音視頻開發(fā)的基礎知識和優(yōu)化經驗,希望能夠幫助到直播領域的開發(fā)者們。本文是《直播疑難雜癥排查》系列的第二篇文章,主要分析如何排查播放卡頓問題

          播放卡頓的表現

          播放卡頓的表現總結下來包括但不限于以下這些:頻繁出現緩沖、播放不夠流暢畫面一卡一卡的。

          常見播放卡頓問題排查

          從代碼層面來看,什么是卡頓?其實是指播放器渲染的幀率太低,比如:1s 顯示 3~5 幀,或者渲染完一幀后,過很久才渲染下一幀。

          因此,我們需要排查,是什么原因導致了播放器無法流暢地渲染數據,通??赡苡腥缦聨状箢悾?/p>

          原因一:網絡帶寬不足

          一個完整的直播應用,簡單來說數據流是這樣的:主播 -> CDN -> 觀眾

          因此,直播出現卡頓,三個端都可能是問題的源頭:主播端的網絡不好,導致推流上行不穩(wěn)定、服務端的線路質量不好,導致分發(fā)不穩(wěn)定觀眾端的網絡不好,導致拉流下行不穩(wěn)定

          那么,我們如何確切地判斷是哪一個環(huán)節(jié)出了問題導致的播放卡頓呢?

          如何判斷主播網絡不好

          主播端網絡不好,直接影響到的就是千千萬萬的觀眾,因此,如果發(fā)現所有的觀眾都出現頻繁卡頓,那么多半就是主播端的問題了。

          1. 帶寬測試

          用帶寬測試工具http://www.speedtest.net/測試下主播的帶寬,如果主播的上行帶寬明顯小于推流的碼率,那么肯定會出現推流幀率不穩(wěn)定。

          2. 統(tǒng)計回調

          一般的推流 SDK 都會統(tǒng)計主播推流的實時視頻幀率,如果預設的幀率是 20 fps,但是實際的幀率低得很多,比如 5 fps,排除手機性能低的原因的話,多半也是網絡帶寬不足引起的。

          3. CDN 廠商給出的后臺統(tǒng)計

          比如,七牛直播云就給我們的每一個客戶提供了如下的后臺 Portal 界面,可以用于監(jiān)控每一個主播的實時推流情況:

          Portal 界面
          Portal 界面

          從這個圖來看,該主播的推流上行其實還是蠻穩(wěn)定的,一直在 20 fps 左右。

          如何判斷觀眾端網絡不好

          觀眾是整個直播的終端環(huán)節(jié),一般如果不是大面積的觀眾出現卡頓,那么很可能是這個觀眾自身的網絡問題,可以考慮切換到別的 WiFi 網絡,或者 4G 下播放試試,我們還可以通過如下手段,具體確認下是網絡的原因。

          1. 帶寬測試

          跟主播端類似,我們依然可以用帶寬測試工具,測試下觀眾端的帶寬,如果該觀眾的帶寬明顯低于主播的推流碼率,那么肯定會出現卡頓。

          2. 網絡質量測試

          可以在觀眾端的網絡下,ping 一下播放域名,看看當前丟包率是多少,一般好的網絡,ping 值的丟包率是 0%。

          ping播放域名,查看丟包率
          ping播放域名,查看丟包率

          當然,還有一些更加專業(yè)的網絡性能測試工具,如 iperf,這里就不展開詳細的介紹了。

          3. 如何判斷 CDN 線路不好

          如果排除了主播端上行網絡原因以及觀眾端下行的網絡原因,那么,剩下的就很可能是 CDN 線路質量原因了。

          關于 CDN 線路質量,一方面可以通過聯(lián)系 CDN 廠商來排查,另一方面,也可以通過播放端的打點上報,統(tǒng)計出各家 CDN 的線路質量(比如:首開,卡頓率),分地區(qū)做一些線路的調整和優(yōu)化。

          七牛實時流網絡(LiveNet)會根據網絡流量、各節(jié)點的連接、負載狀況及到用戶網絡的響應時間等綜合信息,實時地將用戶的請求調度到較佳服務節(jié)點上,同時可計算出較佳服務節(jié)點與視頻源節(jié)點的較佳網絡路徑,使用戶可以更快速的獲取到視頻內容,提高視頻服務的響應速度和用戶體驗。

          原因二:播放設備性能不足

          越高清的碼率,對解碼的要求也越高,很多手機性能不足以支撐 720P 甚至 1080P 的視頻解碼,特別是很多低端的 Android 手機,因此導致實際解碼播放的幀率遠小于視頻碼流的實際幀率,從而產生卡頓。

          解決這個問題的思路主要有如下幾個方面:

          盡可能選擇使用硬解,充分利用 GPU 加速
          如果有多種碼流,盡可能在低端機上選擇非高清碼流
          增大緩沖區(qū),有助于緩解解碼不穩(wěn)定帶來的卡頓

          原因三:視頻流時間戳問題

          這個問題也遇到的比較多,特別是客戶自己寫的推流 SDK 或者碼流經過一些轉碼處理后,沒有處理好音視頻時間戳從而產生的問題。播放器一般是嚴格根據碼流中的音視頻的時間戳來做音畫同步的,因此,如果碼流中的音視頻時間戳出現錯誤,肯定會影響到播放畫面的渲染時機。

          例如,曾經遇到一個流的時間戳信息如下:

          時間戳信息
          時間戳信息

          可以看到,它的視頻時間戳出現了「回退」,而播放器一般 master 主時鐘是單調遞增的,當后來的視頻幀小于了當前的主時鐘,播放器就會做丟幀處理,從而導致播放的視頻幀率遠低于實際碼流中的視頻幀率,從而產生卡頓現象。

          消息來源:七牛云
          China-PRNewsire-300-300.png
          全球TMT
          微信公眾號“全球TMT”發(fā)布全球互聯(lián)網、科技、媒體、通訊企業(yè)的經營動態(tài)、財報信息、企業(yè)并購消息。掃描二維碼,立即訂閱!
          collection