第一篇博客,简单记录最近关于rtmp的移植于使用,参考了雷大神的文章 RTMPdump 使用说明 在此说明,感谢分享
———移植———————————————————————————————————————————————————————————
rtmpdump官网( http://rtmpdump.mplayerhq.hu/)上的打包版本都比较低,所以源码的下载使用git clone :
git clone git://git.ffmpeg.org/rtmpdump
最新版本为 2.4
依赖库有 zlib 和 openssl(或者是POLARSSL GNUTLS,这三个都是ssl协议库目前流行的就是openssl了 ),
1、 openssl 移植
https://www.openssl.org/ 官网
下载链接:
https://www.openssl.org/source/openssl-1.0.1t.tar.gz
下载解压后先阅读 README 和INSTALL 文档
cat README | less
cat INSTALL | less
通过阅读安装说明文件INSTALL 可知本地安装方法
注意安装目录可以通过修改config来修改
PREFIX="(自己的安装目录)"
$ ./config
$ make
$ make test
$ make install
更多的编译选项可以通过执行
$./Configure --help
来查看
交叉编译:
执行
$./Configure os/compiler:arm-linux-gcc --prefix=${PWD}/TMP_OUT
$make -j8
$make install
编译好的就在当前目录的
TMP_OUT目录下
2、
zlib的移植
下载连接 http://www.zlib.net/ http://zlib.net/zlib-1.2.8.tar.gz
解压后直接 ./configure 配置(不用加任何配置)然后,打开Makefile 直接修改CC 和 LDSHARED 以及 prefix 变量 再接着make
3、rtmpdump 移植
rtmp源码包一共有两个Makefile,分别修改他们
修改根目录下的Makefile
$vi Makefile
更改
安装目录更换{
#prefix=/usr/local
prefix=${PWD}TMP_OUT
}
本地编译可能需要dl库,增加链接库选项{
#LIB_OPENSSL=-lssl -lcrypto $(LIBZ)
LIB_OPENSSL=-lssl -lcrypto $(LIBZ) -ldl
}
增加
增加编译选项,包括依赖库的路径{
XCFLAGS=-I/home/arm_install/lib(自己的openssl和libz库的路径)
}
增加链接选项,链接库的地址{
XLDFLAGS=-L/home/arm_install/lib
}
增加交叉编译工具链选项{
CROSS_COMPILE=arm-linux-
}
修改
$vi librtmp/Makefile
安装目录更换{
#prefix=/usr/local
prefix=${PWD}TMP_OUT
}
增加
增加编译选项,包括依赖库的路径{
XCFLAGS=-I/home/arm_install/include -L/home/arm_install/lib
}
增加交叉编译工具链选项{
CROSS_COMPILE=arm-linux-
}
修改完后直接 make ; make install
———简单使用———————————————————————————————————————————————————————
my_rtmpTest.c
#include
#include
#include
#include
#include
#include
#include
#include "librtmp/rtmp.h"
#include "librtmp/log.h"
int printfAVal(const AVal al)
{
int i = 0;
for(i = 0;i
编译方法
arm-linux-gcc my_rtmpTest.c -g -static -I.//home/arm_install//include -L./home/arm_install/lib -lrtmp -lssl -lcrypto -lz -ldl -o my_rtmp