1.wfs.js庫中做了緩存,收到一定的數據之后才執行fMP4 fragment的封裝:
解決:把wfs.js庫中的緩存去掉,每來一幀數據都執行fMP4 fragment的封裝
2.chrome book 硬解會緩沖一幀數據:
解決:針對chrome在服務器端多發一幀數據
3.優化:
另寫一個js里預判斷延時方法1:
let end = g_Video.buffered.end(0); let diff = end - g_Video.currentTime; if(diff>0.8){ console.log(g_Video.currentTime); console.log(end); console.log(diff); g_Video.currentTime = end - 0.1; //clearInterval(intervalId); //this.changeView(); }
另寫一個js里預判斷延時方法2:改進
4.優化:
使用WebSocket協議向服務器發送WebSocket連接時,后面的路徑改為副碼流(之前是h5新增碼流 【0/0/2】 視頻質量最差,主碼流的話畫面最清晰但有卡頓的情況,經測試副碼流較合適)
經初步測試,視頻質量有提高,延遲在200m上下並不緩存疊加,后續優化可考慮把wfs.js延遲方法干掉