直播
- 概述
從古老的RTSP到RTMP咪橙,HTTP漸進式下載限嫌,到HTTP流送粱,到HLS和HDS褪贵,到DASH,到私有的websocket。
點播
- http漸進式
mp4 flv文件比較合適脆丁,nginx也有對應(yīng)的模塊插件處理世舰,性能都很不錯。點播本質(zhì)上是文件的分發(fā)槽卫,走的是http協(xié)議跟压。 - 其他
DRM(Digital rights management),彈幕歼培,分享震蒋,多終端轉(zhuǎn)封裝,文件調(diào)度躲庄,HTTP API調(diào)度查剖,熱點,mp4/flv-range請求噪窘,存儲等等笋庄。大多都有了成熟的方案,和HTTP文件一樣的技術(shù)倔监,要么就是播放器支持直砂,這些和流媒體一毛錢關(guān)系都沒有。
協(xié)議選擇
rtmp和hls并存
rtmp一般用于pc-flash播放直播浩习,而hls用于移動端播放静暂。rtsp
監(jiān)控行業(yè)的協(xié)議。不足是不支持推模式谱秽,只能是拉取的方式洽蛀,使用起來不方便。
流媒體系統(tǒng)的層次包括:
網(wǎng)絡(luò)層(socket或st)負責傳輸弯院,
協(xié)議層(rtmp或http)負責網(wǎng)絡(luò)打包辱士,
封裝層(flv、ts听绳、hls颂碘、hds、adts椅挣、annexb)負責編解碼數(shù)據(jù)的封裝头岔,
編碼層(h.264和aac)負責圖像壓縮。
算法性能排名
- 視頻
h.265(HEVC) > VP9 > H.264> VP8 > MPEG4 > H.263 > MPEG2 - 音頻
AAC+ > MP3PRO > AAC> RealAudio > WMA > MP3
如何選擇合適的協(xié)議鼠证?
1.延遲要求峡竣,是否要求低于5秒的延遲?如果是硬指標量九,就只能選擇RTMP或HTTP-FLV流适掰。移動端需要自己編譯FFMPEG支持颂碧,無法直接播放。
2.終端適配类浪,是否要求支持PC和移動端(IOS和Android)载城?如果需要廣泛支持移動端,HLS是最好的選擇费就。
3.節(jié)約帶寬诉瓦,是否要求支持WebP2P?如果需要支持FlashP2P力细,或者移動端P2P睬澡,選擇HLS。
如果用一句話說流媒體直播:實時性要求高的用RTMP或HTTP-FLV眠蚂,其他都用HLS煞聪。