現在視頻直播監控客在輕客戶端發展,由於近兩年flash開始退出web市場,技術h5直播監控已經全面替代flash的rtmp方案,但由於對延時性,兼容性的要求,各個平台差異很大,一直沒有統一方案,參考github上的一個產品ovsyunlive,對h5直播上一些技術再做如下分析:
H5平台上視頻方案有http-hls,http-flv,ws-flv,ws-h264
首先市面的宣稱h5直接支持rtmp,rtsp協議的播放器是不存在的,h5沒有自定義協議的開發框架,目前所有的rtsp,rtmp在h5上直播都要轉協議成http流或ws流,最新也可以轉成webrtc。
協議優缺點:直播上用http流延時還是太大,如轉成webrtc流兼容性很差,很多瀏覽器不支持,集成也較麻煩,webrtc不是推拉模式,一般要直播做成房間的模式分發。ws流這塊兼兩塊優勢,速度和兼容都較好,所以監控直播優先ws流
h5視頻流的編碼和打包也是低延時直播的關鍵,目前主要的flv,hls的m3u8,裸流h264,裸流h265,裸流mpeg
編碼優缺點:兼容性上hls的m3u8格式用h5自帶video控件兼容最好,但m3u8分塊流,延時不可控,一般有20秒左右,這塊做對延時有較高要求的監控是不合適的,flv需要mse支持,目前大部分手機web上不能兼容,也用用wasm匯編解包的flv,但性能太差,主流手機都不能很好支持,也有對ws-h265的解包目前只能用js軟解,設備性能都不能達到。 測試過程中只有ws-h264,ws-mpeg基於滿足要求,延時在1秒內,兼容和性能較好平橫。
測試分析中,ovsyunlive基本全面支持上述各種方案,在兼容性能上都還不錯,有興趣可以自已測試一下: