天天看點

一對一社交源碼在直播中優化技術的幾種形式

一對一直播,通過字面意思我們可以了解到是主播與使用者之間的私密交流和溝通。在當下這個較為“浮躁”且高速發展的資訊時代,衆多成年人承受着來自不同層面的壓力。為了給壓力找到一個宣洩的出口,隻能采取訴說的形式。但是大多數成年人都不想對自己親近的人訴說,給陌生人訴說就成為了當下社交領域的流行方式。一對一社交源碼就是在這一大環境需求下“誕生”的,它在直播中都實作了哪幾種常見的優化技術?

1.直播首幀優化

視訊中的原始圖像資料會采用H.264編碼格式進行壓縮,音頻采樣資料會采用AAC編碼格式進行壓縮。

2.服務端優化

在直播伺服器中,通常支援設定一個cache,用于存放GOP。直播伺服器緩存目前GOP序列之後,當播放端請求資料的時候,CDN會從I幀傳回給用戶端,進而保證用戶端可以快速擷取I幀進行顯示。由于緩存的是之前的視訊資訊,當音頻資料到達播放端後,為了音視訊同步,播放器會進行視訊快進處理。

3.播放端優化

修改播放器邏輯,基于ffmeng的二次開發,ffmpeg啟播視訊都是拿到視訊完整視訊資訊,才會啟播。

一對一社交源碼在直播中優化技術的幾種形式

4.視訊優化

如果隻是為了優化首開延遲,可以在視訊幀之間插入較多的關鍵幀,這樣用戶端收到視訊流之後可以盡快進行解碼。但如果需要優化傳輸過程中的累計延遲,盡可能少使用關鍵幀也就是 I 幀(GOP 變大),在保證同等視訊品質的情況下,I 幀越多,碼率越大,傳輸所需的網絡帶寬越多,也就意味着累計延遲可能越大。這個優化效果可能在秒級延遲的系統中不是很明顯,但是在 100 ms 甚至更低延遲的系統中就會非常明顯。同時,盡量使用 ACC-LC Codec 來編碼音頻,HE-ACC 或者 HE-ACC 2 雖然編碼效率高,但是編碼所需時間更長,而産生更大體積的音頻造成的傳輸延遲對于視訊流的傳輸來說影響更小。

以上就是一對一社交源碼在直播過程中起到的優化相關作用,足以見得源碼對于直播開發的重要性。如果有其他建議和補充,歡迎在評論區留言交流溝通。

本文聲明原創,轉載請注明出處。

繼續閱讀