总览

Opus是一款完全开放的功能广泛的音频编解码器。Opus在互联网上的交互式语音和音乐传输方面无可匹敌,但也适用于存储和流媒体应用程序。它由Internet工程任务组(IETF)标准化为RFC 6716 ,该标准融合了Skype的SILK编解码器和Xiph.Org的CELT编解码器中的技术。

技术

Opus可以处理各种音频应用程序,包括IP语音,视频会议,游戏内聊天,甚至是远程直播音乐表演。它可以从低比特率的窄带语音扩展到高质量的立体声音乐。支持的特性有:

  • 从6kb/s到510kb/s的比特率;
  • 从8kHz(窄带)到48kHz(全频带)的采样率;
  • 从2.5毫秒到60毫秒的帧长;
  • 支持固定比特率(constant bitrate,CBR)和可变比特率(variable bitrate,VBR);
  • 窄带到宽带音频带宽;支持语音和音乐;
  • 支持单声道和立体声;
  • 最多支持255个通道(多流帧, multistream frames)动态自适应比特率、音频带宽和帧长;
  • 良好的稳定性和丢包隐藏;
  • 可进行浮点和定点实现。

代码下载

(1)Opus库本身:

git clone https://git.xiph.org/opus.git

(2)Opus-tools
Opus-tools包含了一组将Opus与wav进行编解码的工具。

git clone https://gitlab.xiph.org/xiph/opus-tools/

(3)Opusfile
Opusfile提供了一个高级API,用于在.opus文件中进行解码和查找,类似于libvorbisfile为Vorbis提供的功能。

git clone https://git.xiph.org/opusfile.git

(4)libopusenc
Libopusenc提供了用于创建.opus文件和流的高级API。

git clone https://git.xiph.org/libopusenc.git

性能比较

下图说明了各种编解码器的质量与比特率的关系。它总结一系列听觉测试的结果,然后(当没有数据时)显示出轶事证据(由于样本比较小,没有完善的科学实验证明,这种证据有可能是不可靠的)。它总体上具有代表性,但是绝对不建议尝试以特定比特率提取任何精确值。

性能比较

性能比较