在Ubuntu 14.04 64bit下编译安装rtmpdump并调试输出

2011年那会儿就开始研究rtmp, 但是后来很快又换了公司转作Android移动浏览器项目,就一直没有机会
继续进行下去.现在因为工作需要,我又重新捡使起来, 继续进行中断了几年的工作.下面记录下我的安装
实录,以备以后参考.

1.从官网
http://rtmpdump.mplayerhq.hu/
下载rtmpdump 2.4源码包
git clone git://git.ffmpeg.org/rtmpdump
cd rtmpdump

为了得到调试信息,这里简单修改一下文件夹rtmpdump和librtmp的Makefile文件,添加-g参数,注意去掉优化参数-O2那项

在rtmpdump的Makefile中的

OPT=-O2

CFLAGS=-Wall -g $(XCFLAGS) $(INC) $(DEF) $(OPT)

在librtmp的Makefile中的

CFLAGS=-Wall ....  -g


2.安装相关依赖类
需要用到的依赖库是zlib, openssl库,使用如下命令安装
sudo apt-get install openssl 
sudo apt-get install libssl-dev
sudo apt-get install zlib1g-dev
可以先查看可用的安装包
sudo apt-cache search openssl

通过阅读Makefile文件,我发现rtmpdump需要引用的动态库如下

-lz -lssl -lcrypto -lrtmp -lpthread

make后会生成4个可执行文件, 分别是rtmpdump,rtmpsvr, rtmpsuck, rtmpgw, 其中pthread直会在rtmpsvr, rtmpsuck, rtmpgw这3个程序中用到.


3.编译安装
make
sudo make install

首先要保证相关库已经成功安装到/usr/local/lib下面


再要保证/usr/local/lib在/etc/ld.so.conf配置文件中,然后

sudo ldconfig
来更新动态库缓存
检查rtmpdump所有依赖库是否都引用成功
ldd rtmpdump


4.打开一个rtmp直播流或者可以点播文件的rtmp服务器
我这里使用srs来提供一个rtmp直播流,参见上篇博文,得到如下直播流地址
rtmp://demo.srs.com:1935/live...vhost...players/demo
为了保证rtmp直播流的有效性,你可以点击"播放RTMP"按钮进行播放来判断.

开启rtmpdump打印模式,在命令行输入如下命令
rtmpdump -r rtmp://demo.srs.com:1935/live...vhost...players/demo -V -z -v -o out.flv
我们将会看到如下rtmp client和server之间交互的打印信息,同时在当前目录下会生成out.flv文件,使用其他的播放器可以播放.


5.rtmpdump命令选项说明
-o  指定输出文件名称
-q  禁止所有的命令行输入
-V  Verbose命令输出
-z  Debug级别的输出
-h  打印所有的命令行选项


6.gdb调试
为了详细了解rtmp协议,在熟读该协议文档的基础上, 你可以使用gdb来调试交互信息, 同时阅读rtmpdump的源码实现了


参考文献
[1].rtmpdump/librtmp/librtmp.3.html
[2].rtmpdump/rtmpgw.8.html
[3].rtmpdump/rtmpdump.1.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值