oRTP在ubuntu下的编译安装

时间:2024-05-20 11:41:14

1 准备工作

环境:ubuntu14.04 64

oRTP1.0.2)链接:https://github.com/BelledonneCommunications/ortp

bctoolbox0.6.0) 的链接:https://github.com/BelledonneCommunications/bctoolbox

mbedtls 2.9.0)的链接:https://github.com/ARMmbed/mbedtls

说明:oRTP依赖bctoolbox,而bctoolbox依赖mbedtls,所以需要上面3个库,如下图

 oRTP在ubuntu下的编译安装

另外需要说明的是,首先必须安装软件开发必要的工具,gccg++makecmakegit等,特别注意cmake的版本必须高于 3.0,如果版本太低,需要下载高版本的安装。


源码下载

oRTP官网:http://www.linphone.org/technical-corner/ortp/overview

oRTP在ubuntu下的编译安装

GitHub链接:https://github.com/BelledonneCommunications/ortp

oRTP在ubuntu下的编译安装

注意看oRTP源码的 README.md


3 mbedtls库编译安装

解压源码包

tar xvfz mbedtls-mbedtls-2.9.0.tar.gz

进入源码

cd mbedtls-mbedtls-2.9.0/

生成makefile

cmake . -DUSE_SHARED_MBEDTLS_LIBRARY=On

编译

make

安装

sudo make install

说明:上面编译同时生成静态库和动态库,库安装在/usr/local/lib/下,头文件在/usr/local/include/mbedtls/下。


4 bctoolbox库编译安装

解压源码包

tar xvzf bctoolbox-0.6.0.tar.gz

进入源码

cd bctoolbox-0.6.0/

生成makefile(安装在/usr下)

cmake . -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_TESTS_COMPONENT=NO

编译

make

安装

sudo make install

说明:上面编译同时生成静态库和动态库,库安装在/usr/lib/x86_64-linux-gnu/下,头文件在/usr/include/bctoolbox/下。


5 ortp库编译安装

解压源码包

tar xvzf ortp-1.0.2.tar.gz

进入源码

cd ortp-1.0.2/

生成makefile(安装在/usr下)

cmake . -DCMAKE_INSTALL_PREFIX=/usr

编译

make

安装

sudo make install

说明:上面编译同时生成静态库和动态库,库安装在/usr/lib/x86_64-linux-gnu/下,头文件在/usr/include/ortp/下。


6 源码自带例程体验

说明:源码自带测试例程是针对PCMU格式音频文件的发送

编译/src/tests/rtpsend.c

gcc -o rtpsend rtpsend.c -lortp

查看可执行文件的动态依赖库情况

ldd rtpsend

可以看到找不到libmbedtls.so.10libmbedx509.so.0libmbedcrypto.so.2 这些动态链接库,我们可以建立软连接

sudo ln -s /usr/local/lib/libmbedtls.so.10 /usr/lib/x86_64-linux-gnu/

sudo ln -s /usr/local/lib/libmbedx509.so.0 /usr/lib/x86_64-linux-gnu/

sudo ln -s /usr/local/lib/libmbedcrypto.so.2 /usr/lib/x86_64-linux-gnu/

复制一个音频测试文件test.g711放到 /src/tests/

执行RTP send程序

./rtpsend test.g711 192.168.2.105 6664

有可能会有段错误---Segmentation fault (core dumped),这是因为网上下载的测试文件的音频文件test.g711不是pcmu编码,而是pcma,所以负载类型要改为8,另外socket的connect使能了

rtpsend.c测试代码,如下,改两处

oRTP在ubuntu下的编译安装

重新编译,运行,成功

编写.sdp文件,使用VLC接收音频文件,可以听到声音,sdp文件内容如下(根据目的IP和端口号写)

oRTP在ubuntu下的编译安装

下一节分析音频g711推流。