最近在做车联网项目,遇到一个问题。我们需要把设备上报的音视频数据,使用中间服务推送到rtmp服务器,推送的库使用的是srs-librtmp开源库,但是在推送音频的时候出现了问题,有一部分设备上报的音频数据采样率为8K,但是推送的第三方开源库只支持5.5 kHz、11 kHz、22 kHz、44 kHz 。如果传入其他采样率的,在推送的时候,会根据区域之间使用这四种的一个,这导致推送出来的音频不是播放快,就是慢,失真严重。遇到这个问题就想着把采样率转转,这就需要算法了啊,虽然当你大学专业是通信,专门学这些,但是这几年没有接触,都已经还给老师了。

        刚好有个同事在使用webRtc做视频会议(原来是我两在做了),说他在里面有使用,我就找到了里面的源码,将源码提出来封装为动态库,方便使用。


转换效果对比(8K转11K):

音频原始数据PCM采样率转换

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

认真分析:

音频原始数据PCM采样率转换

转换后的采样点密集了,在时间上,转换后的却延时了。(这个延时完全可以忽略啊)


dll源码和demo下载

相关文章:

  • 2021-11-25
  • 2022-12-23
  • 2022-12-23
  • 2021-10-21
  • 2021-10-24
  • 2021-08-03
  • 2021-12-02
猜你喜欢
  • 2021-11-13
  • 2021-04-28
  • 2021-12-05
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案