低延時的RTMP網絡直播
互聯網時代的直播需求越來越多,觀看直播的人群對直播的要求也越來越高。在百度或谷歌等搜索引擎裏輸入關鍵詞“網絡直播延時”,大家的疑問不少:
ü 什麽軟件看直播無延遲?
ü 為什麽網絡直播與電視直播有大概2分鐘的延遲?
ü CCTV 的新聞直播是實時直播,還是做了延遲處理?
ü 網絡直播哪家好,沒有延遲的?
ü 為什麽在網上看直播會比電視直播有幾分鐘的延遲?
ü 大家如何看待關於網絡直播延時的問題?
ü 如何解決直播延遲?
ü 視頻直播時,你看到的是幾秒以前的畫面?
ü 希望大家推薦一個延時比較低的直播軟件。
總結下來完美的直播需要滿足:
ü 低延時,最好無延時
ü 畫面超高清質量
ü 觀看體驗極致,無需下載任何插件
ü 支持多種終端:安卓手機,蘋果手機,PAD, PC
直播的觀看用戶對延時如此關註,那麽從發布直播的運營商或者說直播技術提供商角度來說,如何控制高清網絡直播的延時呢?也就是說實時的steam串流影音傳輸技術涉及到的專用直播流媒體服務器系統是否能滿足低延時的需求呢?
說到網絡直播,那麽我們肯定要提及流媒體服務器直播系統以及所支持的直播網絡應用協議:RTMP, HLS,P2P。
從低延時直播的角度來看,RTMP協議是作為直播協議輸出最佳選擇。
RTMP的特點如下:
1. Adobe支持得很好:
RTMP實際上是現在編碼器輸出的工業標準協議,基本上所有的編碼器(攝像頭之類)都支持RTMP輸出。原因在於PC市場巨大,PC主要是Windows,Windows的瀏覽器基本上都支持flash,Flash又支持RTMP支持得非常好。對於手機移動端目前大多數選擇HLS協議,但是這個移動端協議延時較高。如果希望移動端延時低,那麽目前最佳的選擇是開發支持RTMP協議的APP
2. 適合長時間播放:
因為RTMP支持的很完善,所以能做到flash播放RTMP流長時間不斷流,對於商用流媒體應用,客戶端的穩定性當然也是必須的,否則最終用戶看不了還怎麽玩?
3. 延遲較低:
比起YY的那種UDP私有協議,RTMP算延遲大的(延遲在1-3秒),比起HTTP流的延時(一般在10秒以上)RTMP算低延時。 一般的直播應用,只要不是電話類對話的那種要求,RTMP延遲是可以接受的。
4. 有累積延遲:
技術一定要知道弱點,RTMP有個弱點就是累積誤差,原因是RTMP基於TCP不會丟包。所以當網絡狀態差時,服務器會將包緩存起來,導致累積的延遲;待網絡狀況好了,就一起發給客戶端。這個的對策就是,當客戶端的緩沖區很大,就斷開重連。
筆者做了RTMP協議的直播延時的兩個測試:(800li media server為測試直播分發系統)
1. 經過軟件編碼推送直播至流媒體直播系統RTMP網絡分發
測試結果:從H.264編碼、經過流媒體系統的分發、最終PC觀看者的過程,延時在3秒。
2. 網絡攝像頭輸出的RTSP流,經過八百裏外部信號適配器軟件轉協議不編碼,進入八百裏流媒體服務器系統RTMP網絡分發
測試結果:從RTSP流、經過外部信號適配器軟件轉流、流媒體系統分發、最終PC觀看者的過程,延時1秒。
本文出自 “12894099” 博客,請務必保留此出處http://12904099.blog.51cto.com/12894099/1928859
低延時的RTMP網絡直播