移動直播場景的坑與規避措施

咱們須要避免移動直播場景的坑,那麼該如何採起相應的規避措施?今天本篇內容爲你們闡述。網絡

1不一樣芯片平臺上的編碼差別性能

iOS 平臺上不管硬編仍是軟編,因爲是 Apple 一家公司出廠,幾乎不存在由於芯片平臺不一樣而致使的編碼差別。編碼

然而,在 Android 平臺上,Android Framework SDK 提供的 MediaCodec 編碼器,在不一樣的芯片平臺上,差別表現很大, 不一樣的廠家使用不一樣的芯片,而不一樣的芯片平臺上 Android MediaCodec 表現略有差別,一般實現全平臺兼容的成本不低。spa

另外就是 Android MediaCodec 硬編層面的 H.264 編碼畫質參數是固定的 baseline,因此畫質一般也通常。所以,在 Android 平臺下,推薦是用軟編,好處是畫質可調控,兼容性也更好。視頻

2低端設備如何上高性能地採集和編碼?圖片

 

例如 Camera 採集輸出的多是圖片,一張圖的體積並不會小,若是採集的頻次很高,編碼的幀率很高,每張圖都通過編碼器,那麼編碼器又可能會出現過載。這個時候,能夠考慮在編碼前,不影響畫質的前提下(前面咱們講過幀率的微觀意義),進行選擇性丟幀,以此下降編碼環節的功耗開銷。開發

3弱網下如何保障高清流暢推流直播

 

移動網絡下,一般容易遇到網絡不穩定,鏈接被重置,斷線重連,一方面頻繁重連,創建鏈接須要開銷。另外一方面尤爲是發生 GPRS / 2G / 3G / 4G 切換時,帶寬可能出現瓶頸。當帶寬不夠,幀率較高/碼率較高的內容較難發送出去,這個時候就須要可變碼率支持。it

即在推流端,可檢測網絡狀態和簡單測速,動態來切換碼率,以保障網絡切換時的推流流暢。class

其次編碼、封包、推流 這一部分的邏輯也能夠作微調,能夠嘗試選擇性丟幀,好比優先丟視頻參考幀(不丟 I 幀和音頻幀 ),這樣也能夠減小要傳輸的數據內容,但同時又達到了不影響畫質和版視聽流暢的目的。

4須要區分直播流的狀態和業務狀態

直播是媒體流、APP 的交互是 API 信令流,二者的狀態不能混爲一談。尤爲是不能基於 APP 的交互的 API 狀態來判斷直播流的狀態。

 

以上是移動直播場景下常見的幾個坑和規避措施。圖玩智能科技爲企業提供直播平臺二次開發服務,搭建更完善更妥當的直播系統,歡迎隨時諮詢www.toivan.com.

相關文章
相關標籤/搜索