iOS - PJSIP编译支持 G729/OPUS 编码

前言

因为公司业务需求,需要增加 G729/OPUS 两种音频编码。PJSIP本身是支持两种编码,但需要单独编译编码静态库进去。

平台版本

MacOS 11.2.3+, iOS 10.0+,PJSIP2.8

生成 Opus 库

1、下载 https://github.com/chrisballinger/Opus-iOS
2、将 opus 编码压缩包 放入 build/src
3、cd 到 Opus-iOS-master,执行 ./build-libopus.sh

编译 PJSIP

一、编译静态库(模拟器)

1、i386 平台,依次执行下面三行:
export DEVPATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer

ARCH="-arch i386" CFLAGS="-O2 -m64 -mios-simulator-version-min=8.0" LDFLAGS="-O2 -m64 -mios-simulator-version-min=8.0"

make dep && make clean && make

2、真机
关闭刚刚的终端,重新回到主目录,依次执行以下命令:
armv7:
ARCH='-arch armv7' ./configure-iphone
make dep && make clean && make

armv7s:
ARCH='-arch armv7s' ./configure-iphone
make dep && make clean && make

arm64:
ARCH='-arch arm64' ./configure-iphone
make dep && make clean && make

3、支持 opus,链接 opus 目录 :
./configure-iphone --with-opus=/Opus-iOS-master/dependencies
4、支持 openSSL
./configure-iphone --with-ssl=openssl目录

Support for Opus codec
Support for bcg729
参考 g729 patch 文件

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 9,965评论 1 29
  • 我一直觉得我在寻找真实的自己,至少是在追寻的路上,可是就在某一刻当我望着别人的时候,我清晰得感觉到我是在望着那个遥...
    蔚蓝0822阅读 108评论 0 4
  • 早:A,7分,B,6分 晚:A,7分,B,6分
    东方忞阅读 32评论 0 0
  • 琳purple阅读 83评论 0 0