客戶端數據編碼技術選型

一、語音傳輸流程

要把麥克風錄製的聲音發送到另一個客戶端或者是本機的麥克風上播放,第一步就是錄製最原始的聲音,最原始的聲音就是PCM數據流。這個數據流不能直接進行傳輸,需要先進行壓縮轉碼操作。而壓縮轉碼和我們的數據流之間其實是一個循環操作,它可以不斷去拿原始數據,然後去壓縮轉碼。將數據壓縮轉碼完成之後,需要進行網絡傳輸,此時會把數據發送給另一個客戶端。這個發送過程就藉助整個後臺的體系框架,也就是socket框架來完成。另一個客戶端收到的是壓縮轉碼之後的數據,此時首先要做的就是解壓再轉碼,加壓之後又會得到最原始的數據流。這個過程也是不斷循環的過程,它需要不斷拿到新數據,加壓轉碼,然後拿到PCM數據流,拿到解壓轉碼後的數據就可以發送給揚聲器進行播放,這個過程就是整個傳輸的過程。

在原始數據到壓縮數據和壓縮數據到原始數據之間都有循環操作,所以這兩個地方需要使用線程來完成。這兩個線程分別對應socket的讀取和寫入的操作。這個地方就使用到了直流傳輸了。

 

二、語音採集編碼技術

三、語音編碼技術對比

四、Opus優勢

 

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