FFmpeg网络传输协议
目錄
- 1. 抓流和推流
- 2. 各種協(xié)議比較
抓流和推流
視頻直播中說的抓流和推流,是什么意思,兩種有什么區(qū)別? - 知乎
各種協(xié)議比較
RTMP直播應(yīng)用與延時(shí)分析-andersonyan-ChinaUnix博客
關(guān)于直播,所有的技術(shù)細(xì)節(jié)都在這里了(二) | U刻
直播服務(wù)器簡(jiǎn)單實(shí)現(xiàn) http_flv和hls 內(nèi)網(wǎng)直播桌面 - lucpp - 博客園
直播協(xié)議的選擇:RTMP vs. HLS - 推酷
HLS與RTMP ,RTSP對(duì)比 - coder - CSDN博客
直播http-flv小調(diào)研 - ahoustep的博客 - CSDN博客
http、rtmp、hls
支持的音視頻格式、是否分片、延遲、自適應(yīng)碼率
hls: 蘋果公司開發(fā)、主要用于iOS設(shè)備、流媒體的直播和點(diǎn)播、視頻和音頻數(shù)據(jù)封裝為MPEG-TS包、需要分片、延遲大(與TS切片有關(guān))、自適應(yīng)碼率、任意兩個(gè)切片無縫連接,播放器播放不卡頓
rtmp:Adobe Systems、
flv有文件大小限制,剩下功能性的差不多,ts可以實(shí)時(shí)插入節(jié)目數(shù)據(jù),flv也能要自定義一些東西實(shí)現(xiàn)
假如你有這樣一個(gè)需求,你需要直播拉斯維加斯一個(gè)賭桌上,一個(gè)荷官在玩21點(diǎn)的游戲。如果延時(shí)很高。比如用HLS來直播,那么會(huì)有超過10秒以上的延時(shí)。你看到服務(wù)端發(fā)過來的牌點(diǎn)數(shù),但是視頻上的荷官10秒后才發(fā)牌,完全不能用。
那么只能選擇低延遲的直播協(xié)議,而所有直播協(xié)議延遲和實(shí)時(shí)性最好的就是RTMP,在中國看美國的視頻直播延遲也能控制在1秒內(nèi),很神奇的一個(gè)協(xié)議。但是RTMP有個(gè)缺點(diǎn),他只能在PC端上用flash來直播,不支持移動(dòng)端。如果要在手機(jī)上網(wǎng)頁端用html5播放,那么只能選擇HLS,而且HLS在中國看美國的視頻直播有時(shí)候高達(dá)18秒的延遲。
而真正能解決這個(gè)需求的,目前來說只有flv.js,通過HTTP-FLV,在手機(jī)網(wǎng)頁端用html5播放,延遲是能控制在1秒內(nèi)的。
其實(shí)很多外國游戲直播網(wǎng)站都是用RTMP來直播。他們都是在手機(jī)上用APP,用C++來解析的。看過一個(gè)英文論壇上的討論,他們的技術(shù)對(duì)于網(wǎng)頁端播放低延遲直播幾乎無解,網(wǎng)頁端非常難。很多人都沒有意識(shí)到,這是非常有技術(shù)含量,非常偉大的一項(xiàng)技術(shù)。
對(duì)于flv.js的作用,個(gè)人持看中立態(tài)度,首先,這個(gè)東西有必要存在,為什么這么說呢,首先,國內(nèi)直播主要傳輸協(xié)議都是httpflv,因?yàn)閔ttpflv擁有極低的延時(shí)和極好的穿透性,還有,flv這個(gè)封裝格式極其簡(jiǎn)單,對(duì)服務(wù)器開發(fā)人員友好。所以,國內(nèi)主流直播平臺(tái)都是httpflv為主線路,比如斗魚熊貓。然而,html5可不支持flv格式的解碼,所以,前有hls.js,后有flv.js,就是通過html5,獲取http視頻流數(shù)據(jù),比如獲取flv格式流數(shù)據(jù),然后解包flv至aac&h264,然后再次封包成mp4,mp4就直接能用html5播放了,值得注意的是整個(gè)過程可用了N多html5技術(shù)。
但是這么做有缺點(diǎn),那就是耗費(fèi)cpu,首先,js這個(gè)東西,算不上快,而且是單線程,解flv然后封裝為mp4,喂給html5,這是個(gè)既簡(jiǎn)單也算復(fù)雜的計(jì)算過程,有點(diǎn)耗費(fèi)cpu的,所以,低端設(shè)備比如手機(jī),這個(gè)東西就別想了,甚至在pc瀏覽器端,這也并不是一個(gè)很優(yōu)秀的選擇,用優(yōu)化過后的flv.js和flash來播放一段httpflv流,flash占用cpu反而稍微低一點(diǎn)點(diǎn)。
最后,反正flash詬病很多,總要被淘汰的,而如今直播協(xié)議中,延時(shí)低且具有http穿透性而且封裝簡(jiǎn)單,那首當(dāng)其沖的就是httpflv了,flv.js算是歷史長河中應(yīng)有的存在。
貌似熊貓tv的pc端,也有這個(gè)的直播技術(shù)了,用上了html5播放器來播放httpflv。
如何看待嗶哩嗶哩的開源 HTML5 播放器內(nèi)核 flv.js? - 知乎
總結(jié)
以上是生活随笔為你收集整理的FFmpeg网络传输协议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国传媒大学李兴国:高清技术放大电影梦幻
- 下一篇: 电影KB-QA 3