Bootstrap

Linux平台使用OPUS对Audio PCM数据进行编解码

1)Audio编解码入门级小知识,分享给将要学习或者正在学习Audio编解码开发的同学。

2)内容属于原创,若转载,请说明出处。

3)提供相关问题有偿答疑和支持。

Opus编码是一个开源的音频编码格式,具有较高的压缩率和优秀的音质表现。它支持多种采样率和比特率的音频文件。在Opus编码中,最高比特率可以达到510 kbps,而最低则只有1 kbps。这使得Opus编码适用于各种不同的应用场景,包括电话通信、网络流媒体、网络电话、游戏语音等。同时,Opus编码具有低延迟、低失真和高容错性等特点,使其成为一个非常实用和优秀的音频编码格式。但是Opus编解码是有损压缩。目前看小米的很多IPC设备都是使用Opus编解码。

官网:https://www.opus-codec.org/
目前最新版本:opus-1.5.1.tar.gz
基于SigmaStar SSC375平台交叉编译:./configure CC=/tools/toolchain/gcc-11.1.0-20210608-sigmastar-glibc-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc --prefix=/home/opus/opus-1.5.1/__INSTALL --enable-static --host=arm-linux-gnueabihf

那么在/homeopus/opus-1.5.1/__iINSTALL产生如下文件:

编译测试demo:opus-1.5.1/src/opus_demo.c

/toolchain/gcc-11.1.0-20210608-sigmastar-glibc-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc opus_demo.c -lm -o opus_demo -I/home/opus/opus-1.5.1/__INSTALL/include/opus -I/home/opus/opus-1.5.1/silk -I./opus-1.5.1/src/ -I/home/opus/opus-1.5.1/celt -I/home/opus/opus-1.5.1/include -L/home/opus/opus-1.5.1/__INSTALL/lib -lopus

测试:


看下cpu的消耗:1000bit/s,看起来cpu的消耗很小

1500bit/s,看起来cpu的消耗变多了

使用CBR的模式:

;