Linphone opus编解码器采样率



我想在linphone 中使用opus编解码器

但我在使用它时遇到了一些问题。如果有人能帮助我解决这个问题,我将不胜感激。如何将音频采样方案强制设置为8000 Hz?目前,它仅使用48000赫兹。

提前感谢

如果您查看rfc7587第4.1节,您可以阅读以下内容:

Opus supports 5 different audio bandwidths, which can be adjusted
during a stream.  The RTP timestamp is incremented with a 48000 Hz
clock rate for all modes of Opus and all sampling rates.  The unit
for the timestamp is samples per single (mono) channel.  The RTP
timestamp corresponds to the sample time of the first encoded sample
in the encoded frame.  For data encoded with sampling rates other
than 48000 Hz, the sampling rate has to be adjusted to 48000 Hz.

阅读rfc7587中的更多内容,你会发现,在SDP中,你总是会看到编解码器正在使用";OPUS/4800/2";,无论实际采样率如何。

如上所述,无论实际采样率如何,RTP时间戳都将始终以48000Hz的时钟速率递增。

如果您希望控制编解码器的实际采样率(以及带宽(,可以使用以下SDP参数:最大播放速率最高平均比特率是要使用的参数。

第3.1.1节列出了最大平均比特率与采样率之间的关系

3.1.1.  Recommended Bitrate
   For a frame size of 20 ms, these are the bitrate "sweet spots" for  Opus in various configurations:
   o  8-12 kbit/s for NB speech,
   o  16-20 kbit/s for WB speech,
   o  28-40 kbit/s for FB speech,
   o  48-64 kbit/s for FB mono music, and
   o  64-128 kbit/s for FB stereo music.

结论:要在OPUS中仅使用8000Hz,您必须与这些参数协商,其中12kbit/s是NB语音中OPUS的最大设置:

   m=audio 54312 RTP/AVP 101
   a=rtpmap:101 opus/48000/2
   a=fmtp:101 maxplaybackrate=8000; sprop-maxcapturerate=8000; maxaveragebitrate=12000

我不知道linphone是否遵循了所有参数,但这就是理论!

相关内容

最新更新