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文檔使用隨記

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