隨著大屏?xí)r代和高清時(shí)代的到來(lái),人們已經(jīng)不再滿足于VGA、CIF這種小分辨率了,取而代之的是720P、1080P、4K級(jí)的視頻傳輸,雖然我們國(guó)家的基礎(chǔ)帶寬一直在上升,但普遍情況下,傳輸高清視頻還是帶寬流量不夠用,而且存在一個(gè)流量費(fèi)用偏高的情況,然而目前市面上的大部分互聯(lián)網(wǎng)直播視頻協(xié)議都是基于H.264壓縮方式,不得不說(shuō)現(xiàn)在在安防領(lǐng)域,H.265的時(shí)代到來(lái)了,互聯(lián)網(wǎng)上H.265不斷從編碼端,還是傳輸、解碼播放端,都還沒(méi)跟上,我們需要從多個(gè)方面,將H.265的特性支持于RTSP、RTMP、HTTP等流媒體通用協(xié)議中!
目前在RTMP推流協(xié)議中,還沒(méi)有統(tǒng)一的推送H.265的標(biāo)準(zhǔn),都是各家CDN公司自己定義私有字段,再自己解析播放,目前擁有統(tǒng)一H.265推流和播放標(biāo)準(zhǔn)的,應(yīng)該就是RTSP/RTP的直播協(xié)議,因?yàn)榱鞒袒靖鶫.264的推流和H.265的播放過(guò)程一樣,只是在SDP和RTP包上有所區(qū)別,而在整個(gè)流程上,RTSP推流還是原來(lái)的:Announce、Setup、Play、RTP流程,RTSP播放流程還是原來(lái)的Describe、Setup、Play、RTP流程,那么,整個(gè)H.265直播推流+轉(zhuǎn)發(fā)+播放的核心功能就可以拆分為幾個(gè)部分:
1. RTSP/RTP推流;
2. RTSP/RTP轉(zhuǎn)發(fā);
3. RTSP/RTP拉流與播放;
RTSP/RTP推流的方案我們之前在博客《ffmpeg推送,EasyDarwin轉(zhuǎn)發(fā),vlc播放 實(shí)現(xiàn)整個(gè)RTSP直播》中有詳細(xì)的流程描述,ffmpeg是一個(gè)非常好的推流工具,在做調(diào)研驗(yàn)證的階段可以采用ffmpeg.exe進(jìn)行推流驗(yàn)證,在實(shí)際項(xiàng)目集成的過(guò)程中,可以采用ffmpeg的av庫(kù)進(jìn)行二次開(kāi)發(fā),在功能性和穩(wěn)定性上,覺(jué)得是世界一流;
同樣在RTSP/RTP直播流的H.265播放上,ffmpeg的ffplay也是兼容性極強(qiáng),幾乎市面上大部分的流媒體都能播放,而且在各種平臺(tái)上都有對(duì)應(yīng)的開(kāi)源項(xiàng)目,例如ijkplayer等等;
那么,主要就是轉(zhuǎn)發(fā)用到的流媒體服務(wù)器,目前開(kāi)源的比較有名的就是我們開(kāi)源團(tuán)隊(duì)做的EasyDarwin開(kāi)源流媒體服務(wù)器(好像也沒(méi)其他好的選擇),經(jīng)過(guò)測(cè)試,EasyDarwin完全能夠支持H.265的RTSP/RTP轉(zhuǎn)發(fā)與分發(fā),EasyDarwin只做網(wǎng)絡(luò)流轉(zhuǎn)發(fā),不做編解碼,也就是相對(duì)來(lái)說(shuō),轉(zhuǎn)發(fā)H.265是給EasyDarwin進(jìn)行了減負(fù),并發(fā)能力得到了提升!
這里推薦一個(gè)推流與直播播放的替代方案,畢竟ffmpeg的學(xué)習(xí)成本比較高,首先從推流上,EasyPusher能夠完全替代ffmpeg,以一種比較簡(jiǎn)便的方式進(jìn)行調(diào)用再推流,EasyPusher有完備的PC、Android、iOS、arm推流的調(diào)用示例,能夠滿足各種平臺(tái)的直播推流(H.264、H.265)、轉(zhuǎn)發(fā)需求:
項(xiàng)目地址:https://github.com/EasyDarwin/EasyPusher
播放方面,可以采用EasyPlayer播放器,也是一個(gè)比較輕的、小而美的播放器,能夠滿足各種流媒體協(xié)議、各種音視頻編碼格式的播放:
項(xiàng)目地址:https://github.com/EasyDarwin/EasyPlayer
QQ群:587254841
Copyright ? EasyDarwin.org 2012-2017
聯(lián)系客服