opus官网:https://opus-codec.org
github:https://github.com/xiph/opus
opus简介
1 2
| Opus 是一个完全开放、免版税、高度通用的音频编解码器。Opus 在互动方面无与伦比 通过互联网传输语音和音乐,但也用于存储和流式传输 应用。它被互联网工程任务组 (IETF) 标准化为 RFC 6716,它结合了 Skype 的 SILK 编解码器和 Xiph.Org 的 CELT 编解码器的技术;
|
下载opus
1 2 3
| 1.官网download页面找到Source code: opus-1.4.tar.gz,点击后自动下载 2.通过github的cmake页面内的指南:git clone https://gitlab.xiph.org/xiph/opus (https://github.com/xiph/opus/tree/master/cmake)
|
编译opus
1 2 3 4 5 6 7 8 9 10 11 12
| 通过查看cmake内的编译介绍 1.cd opus 2.mkdir build 3.cd build 4.cmake .. -DCMAKE_TOOLCHAIN_FILE=/home/tyl/Android/Sdk/ndk/26.1.10909125/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a //需要修改为本机的ndk路径,执行成功 5.make //执行完成后在build目录中就会看到libopus.a //如果需要so文件则需要进行配置 -DOPUS_BUILD_SHARED_LIBRARY=y 6.cmake .. -DCMAKE_TOOLCHAIN_FILE=/home/tyl/Android/Sdk/ndk/26.1.10909125/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DOPUS_BUILD_SHARED_LIBRARY=y 7.make //执行完毕后build目录下可以看到libopus.so文件
|
自建编译脚本android.sh (自定义名字)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #!/bin/bash
# 每次编译删除原来的编译文件 rm build -rf rm install -rf # 创建临时编译目录,避免污染源文件 mkdir build # 定义一个数组,存储架构类型,用来循环编译 ARCH_ARRAY=(armeabi-v7a arm64-v8a x86 x86_64) mkdir install cd build
for item in "${ARCH_ARRAY【@】}"; do mkdir -p install/$item echo "$item" echo "$ANDROID_HOME" rm * -rf cmake .. \ -DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/26.1.10909125/build/cmake/android.toolchain.cmake \ -DANDROID_ABI=$item \ -DOPUS_BUILD_SHARED_LIBRARY=y make -j8 mkdir -p ../install/$item mv *.so ../install/$item/ done
# 拷贝头文件到安装目录 cp ../include -rf ../install
|