天天看點

一對一直播系統開發的原理隻需記好這七點

一、音視訊采集

一對一直播系統開發中所呈現的畫面和聲音的原始資料。由于iOS 和Android系統不同對硬體種類和硬體适配性要求也不同,涉及的源碼和傳輸協定也不同;是以在音視訊采集時用到的程式則是不同的。

一對一直播系統開發的原理隻需記好這七點

二、音視訊的處理

使用相關軟體和硬體對音視訊原始資料的問題如回音消除、噪聲抑制、網絡抖動,美顔、水印進行加工得到可用的音視訊資料。常見的編碼方式有CBR、VBR。

目前 iOS 端比較知名的是 GPUImage 這個庫,提供了豐富的預處理效果,還可以基于這個庫在一對一直播系統開發中自己寫算法實作更豐富端效果。Android 也有 GPUImage 這個庫的移植,叫做 android-gpuimage。

三、音視訊編碼

音視訊編碼是什麼意思,因為未經編碼的資料數字視訊的資料量很大,存儲困難,傳輸困難。難以達到現有系統所需呈現的效果,在一對一直播系統開發中為了便于手機可以推流、拉流、存儲進行編碼處理。

一對一直播系統開發的原理隻需記好這七點

四、推流

利用編碼器将視訊内容進行編碼推送到伺服器的過程。由于CDN的節點部署有内容分發的功能,在一對一直播系統開發中在推流和拉流中起着十分重要的作用。

五、流媒體伺服器

流媒體指以流方式在網絡中傳送音頻、視訊和多媒體檔案的媒體形式。流媒體的典型特征是把連續的音頻和視訊資訊壓縮後放到網絡伺服器上,使用者邊下載下傳邊觀看。由于流媒體技術的優越性,該技術廣泛應用線上一對一直播系統開發中。

常用到的傳輸協定有:RTP與RTCP、HTTP、HLS等。其中RTP 實行有序傳送,RTP中的序列号允許接收方重組發送方的包序列,同時序列号也能用于決定适當的包位置,如在視訊解碼中,就不需要順序解碼。RTCP是RTP的配套協定,為RTP媒體流提供信道外的控制。RTCP和RTP一起協作将多媒體資料打包和發送,定期在多媒體流會話參與者之間傳輸控制資料。

一對一直播系統開發的原理隻需記好這七點

六、拉流

通過RTSP直播播放SDK的資料回調接口,拿到音視訊資料。

七、音視訊解碼

使用相關硬體或者軟體對收到的編碼音視訊進行解碼才能将音視訊呈現出來;在解碼是可能會用到第三方解碼插件。目前 iOS 端的播放相容性較好,在延遲可接受的情況下一對一直播系統開發音視訊解碼使用 HLS 協定是最好的選擇。Android 的硬體解碼和編碼一樣也存在相容性問題;

這就是一套完整的一對一直播系統開發原理過程,開發一套系統也不是那麼簡單的過程,程式員需嚴禁的對待每一步驟,為了後期的測試運作做好基礎。

以上内容為作者“雲豹科技阿星” 原創,未經作者本人同意,禁止轉載,否則将追究相關法律責任。

繼續閱讀