Flv.js多窗口(或多宮格或矩陣)使用隨記 [含GIF動圖,流量患者慎入]


關鍵字:Flv.js | Flv js | Flv-js | HTML5 FLV Player | 多宮格 | 矩陣 | 多實例
同一頁面,多窗口排列播放時,這種情況下客戶應該只是去看畫面,有聲音的需求應該會很少。
這種情況在player創建前,可能有人會想:可以把MediaDataSource的hasAudio置為false,這樣就不會音頻解碼,少了解碼就少了開銷。如下圖:



雖然這樣可以減少開銷,但如果你的客戶機器能吃得消,不太建議這么去做,直接給全部靜音就好了,至於為什么看底下問題記錄。

 
“點播” 9窗口的效果,如下圖:



“直播” 9窗口的效果,畫面不太容易看出在動,可以放大圖片看時間秒數,如下圖:





問題記錄:
Q1:[無音頻流 有視頻頻流,靜音播放] 會出現谷歌瀏覽器頁面被后台運行時畫面靜止的情況,如切換到別的Tab標簽頁,或最小化,再切換回來時才繼續播放。[有音頻流有視頻流,靜音播放]、[有音頻流有視頻流,非靜音播放] 則不存這種情況。
頁面最小化或隱藏CPU和GPU會立馬下降,不再渲染處理。頁面恢復CPU和GPU會立馬上升,繼續渲染處理。
將原flv視頻轉換成mp4並脫掉音頻數據,僅保留視頻數據,使用H5原生標簽也還是會發生,換成火狐后雖然也會發生但是它會自動跳轉到對應時間的畫面后繼續播放,基本無影響。
A1:經測試是谷歌瀏覽器的機制原因。FLV源多窗口直播,FLV源多窗口點播都有這種情況,記得避坑。

Q2:FLV直播時瀏覽器有同源請求限制(http1.X),不同瀏覽器數量不一樣,谷歌6個。FLV點播目前9個沒問題,其余個數未測。
A2:對於此問題的解決有那么幾個:服務端采用http2.0協議、或者多域名、或者多地址、或者基於WebSocket協議。

Flv.js文檔使用隨記


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM