什么是librtmp
librtmp又叫RtmpDump,是一个rtmp数据处理工具,可用于将音视频数据编码为rtmp格式的数据包
librtmp还支持更高级的rtmp协议,比如rtmps://,或rtmpt://等,是目前最主流的rtmp处理库,包括ffmpeg用的也是它
librtmp的BUG
librtmp有两个影响比较大的BUG
一个是在网络中断时,会一直向服务器发送Close包,不断递归循环调用造成死锁
一个是从服务器读取数据时,没有设置超时功能,如果服务器不通,会一直阻塞,永不返回
这是两个比较出名的BUG,网上可以搜到解决方案,这里我已经修改好了这些BUG,大家直接拿去用就行
下载源码
librtmp源代码+编译脚本+静态库.zip
安装依赖库
librtmp在编译时,需要依赖其它程序,可通过以下执行安装
sudo apt install apt-file
sudo apt-file update
sudo apt-file find libncurses.so.5
sudo apt install libncurses5
选择NDK版本
注意,librtmp是一个非常老的库,使用的是gcc编译器,只有NDK-r15以前的版本才支持
所以不能使用最新的NDK编译,建议使用NDK-r15,下载时注意下载Linux版本
编写编译脚本
创建一个sh文件,输入以下代码执行即可
#!/bin/bash
echo ">>>>>>>>> build librtmp for android armeabi-v7a >>>>>>>> build done
关注
打赏