網頁全終端安防視頻流媒體播放器EasyPlayer.js如何實現在web瀏覽器播放H.265編碼視頻?

目前安防監控行業,基本所有的攝像頭都支持H264編碼,但是已經有部分攝像頭開始支持H265,並且支持H265的攝像機已經越來越多。H265相比H264有着很多優勢,壓縮更高,網絡傳輸消耗的帶寬更小,相同碼率下H265視頻更清晰。H264目前已經可以在各種web瀏覽器、客戶端等進行解碼播放,但是目前H.265編碼在瀏覽器中的硬件解碼支持情況並不普及。

 

長久以來,安防領域的網絡攝像機(IPC)的WEB視頻直播都依賴於瀏覽器插件,IE瀏覽器使用ActiveX插件,Chrome和Firefox瀏覽器使用NPAPI插件。之所以開發瀏覽器插件來收流、解碼、播放IPC的實時視頻,是因爲早期HTML的發展過於緩慢,在純web代碼無法實現的情況下開發者只能使用插件來輔助。現在Edge、Chrome、Safari、Firefox等瀏覽器已經不支持NPAPI插件,只剩下IE瀏覽器還在支持ActiveX插件,導致IPC的web頁面只能在IE內核的瀏覽器播放實時視頻。所以實現web無插件實時播放IPC的H264/H265視頻十分重要。

安防直播是目前最流行的一種信息傳播和社交方式,區別於錄製的點播視頻,它要求播放器可以實時的獲取並播放流式視頻數據。爲了實現直播播放,播放器內核需要藉助一些HTML5的技術。

視頻播放器架構:

 

播放器內核主要模塊與依賴的背景技術:

 

高像素數量導致需要更復雜的編解碼器來最小化帶寬需求。持續連接PC或TV,平滑處理4K信號的最小碼流是20Mbit/s,例如Netflix要求用戶的互聯網連接至少提供持續的25Mbit/s帶寬量。20到25Mbit/s代表帶寬的巨大改善,原生的、非壓縮的4K視頻需要在60Mbit/s的帶寬上纔會有好的表現。對於大多數的行業應用來說,H265就是解決這一問題的答案。

爲了解決IPC播放H265視頻的難題,我們經歷了不斷的調整和測試,最終將H256視頻兼容到EasyPlayer.JS的視頻播放當中。

我們將攝像頭、硬盤錄像機或其他視頻平臺通過RTMP、RTSP等協議接入到自己的流媒體平臺(以EasyDSS爲例),當請求播放視頻時設備端將視頻數據以PS流的形式發送到EasyDSS,EasyDSS接收到PS流後Demux出視頻數據,得到裸的H265以及音頻數據。最終EasyDSS將H265和音頻數據封裝成多種互聯網直播的通用流格式RTMP、HTTP-FLV、HLS、RTSP格式,分發給EasyPlayer.JS。這樣就實現了EasyPlayer.JS的H265視頻播放。

EasyPlayer.JS中H265視頻播放效果

 

 

EasyPlayer.JS支持四分屏操作,可同時播放4路視頻流,輸出格式爲FLV;同時也支持單路視頻流大屏播放。EasyPlayer.js網頁直播/點播播放器集 rtmp,hls,flv,websocket於一身,使用簡單,功能強大,也爲開發者提供二次集成的路徑參考。不論是測試還是被集成,都能夠很方便的爲使用者提供服務。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章