音頻原始數據PCM採樣率轉換

        最近在做車聯網項目,遇到一個問題。我們需要把設備上報的音視頻數據,使用中間服務推送到rtmp服務器,推送的庫使用的是srs-librtmp開源庫,但是在推送音頻的時候出現了問題,有一部分設備上報的音頻數據採樣率爲8K,但是推送的第三方開源庫只支持5.5 kHz、11 kHz、22 kHz、44 kHz 。如果傳入其他採樣率的,在推送的時候,會根據區域之間使用這四種的一個,這導致推送出來的音頻不是播放快,就是慢,失真嚴重。遇到這個問題就想着把採樣率轉轉,這就需要算法了啊,雖然當你大學專業是通信,專門學這些,但是這幾年沒有接觸,都已經還給老師了。

        剛好有個同事在使用webRtc做視頻會議(原來是我兩在做了),說他在裏面有使用,我就找到了裏面的源碼,將源碼提出來封裝爲動態庫,方便使用。


轉換效果對比(8K轉11K):


波形一樣,一樣,完全一樣啊!

認真分析:


轉換後的採樣點密集了,在時間上,轉換後的卻延時了。(這個延時完全可以忽略啊)


dll源碼和demo下載

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