開發直播帶貨系統過程中,需要注意這些“坑”

萬嶽教育系統發表於2020-07-29

直播帶貨系統發展到現在,已經覆蓋了h5、小程式和app等多個平臺。但就目前市場情況來看,很多使用者還是比較鍾情於app,覺得它可靠,相比起小程式來講,對於功能定製的可選性更多。所以有些開發商把大部分精力都放在了直播帶貨系統app版本的開發上。但是,在 開發直播帶貨系統 的過程中,有一些“坑”需要各位開發者格外注意,而這些“坑”主要是“直播功能”上的問題。

如何減少音影片的延遲情況,對於直播來說,是一塊比較難啃的骨頭,尤其是在app中,其裝置受環境影響的因素比較多,訊號延遲率就比較高。根據 開發 直播帶貨系統總結下來的經驗,app上直播的“坑”主要有兩個方面:裝置差異,以及網路環境這些場景下帶來的技術考驗。

那麼,如何做?

一、瞭解不同晶片平臺上的編碼差異

音影片編碼解碼的速度高低會直接影響到訊號輸出的效率,給使用者一種“延遲”的感覺。通常情況下, 平臺無論硬編還是軟編,由於是蘋果一家公司出廠,幾乎不存在因為晶片平臺不同而導致的編碼差異。

然而,在 安卓平臺上,Android Framework SDK提供的MediaCodec編碼器,在不同的晶片平臺上,其差異表現很大。其具體表現為:不同的廠家使用不同的晶片,而不同的晶片平臺上Android MediaCodec表現略有差異,再加上通常實現全平臺相容的成本也不低,因此,若在Android上對訊號使用硬編,那麼效率肯定不統一。此外,Android MediaCodec硬編層面的H.264編碼畫質引數是固定的baseline,所以畫質表現通常也一般。因此,在安卓平臺上,推薦用軟編處理訊號,好處是畫質可調控,相容性也更好,處理效率更高。

二、 考慮如何在低端裝置上進行高效能地採集和編碼

例如相機採集輸出的可能是圖片,一張圖的體積並不會小,如果採集的頻次很高,編碼的幀率很高,每張圖都經過編碼器,那麼編碼器又可能會出現過載。移動直播裝置(主要是手機)對於音影片訊號的採集也是同樣一個道理。這個時候,在不影響畫質的前提下,可以考慮在編碼前,進行選擇性丟幀,比如優先丟影片參考幀(不丟I幀和音訊幀 ),以此來降低編碼環節的功耗開銷。

三、 要儘量在弱網環境下保障高畫質流暢推流

行動網路下,通常容易遇到網路不穩定、連線被重置、斷線重連的情況。一方面頻繁重連,建立連線需要開銷。另一方面,當發生GPRS、2G、3G 、4G、5G切換時,頻寬可能出現瓶頸。當頻寬不夠,幀率較高、位元速率較高的內容較難傳送出去,這個時候就需要可變位元速率支援。具體實現方式:在推流端,可透過檢測網路狀態和簡單測速,進行動態切換位元速率,以保障網路切換時的推流流暢。

以上,就是在 開發直播帶貨系統 時,需要注意的,尤其是在“直播功能”上的坑。只有解決好這個問題,才能讓主播順暢的帶貨不是嗎?

宣告:以上內容為作者本人原創,未經作者本人同意,禁止轉載,否則將追究相關法律責任。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69968464/viewspace-2707851/,如需轉載,請註明出處,否則將追究法律責任。

相關文章