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

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

  1. Caffe在Ubuntu 14.04 64bit 下的安装------pycaffe 配置

    这里我主要参考 pycaffe 的 安装配置 http://www.linuxidc.com/Linux/2015-07/120449.htm 最近因为各种原因,装过不少次Caffe,安装过程很多坑, ...

  2. 在Ubuntu 14.04 64bit上编译安装xbt tracker

    下文参照如下链接,只是记录了我的所有实际安装过程,仅供各位参考. http://blog.csdn.net/liwf616/article/details/9245901 xbt项目主页 https: ...

  3. 在Ubuntu 14.04 64bit上编译安装Crtmpserver trunk svn 811版本!

    这里仅在 在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务 基础上补充一下在Ubuntu 14.04上编译安装Crtmpserver的方法,以作备忘.因为Ubuntu 1 ...

  4. Ubuntu 14.04 64bit上编译安装MonaServer并测试

    1.安装依赖和要求 MonaServer基于C++ 11编写, 比如会用到std::thread, std::unique_ptr, 要求GCC版本至少为4.8.2 对于Ubuntu 14.04.2来 ...

  5. Ubuntu 14.04 64bit上编译安装simple-rtmp-server(srs)服务器

    下面的操作完全按照参考文献[1]进行,请采用root用户登陆,我这里只是记录了一下我在Ubuntu 14.04上面编译安装的过程.以作今后参考.该篇文章显示了srs提供的一个demo实例,包括实时流的 ...

  6. 在ubuntu 14.04 64bit下配置安装PyQt4(python2.7和python3.4)

    缘起 现在很多小伙伴儿都从Ubuntu转到Deepin下面去了, Deepin这几年出了一些很不错的软件,比如深度截图, 深度影音, 深度音乐等等, Deepin基于Ubuntu开发, 它的软件大量使 ...

  7. 在Ubuntu 16.04 LTS下编译安装OpenCV 4.1.1

    目录 一 安装前的准备 二 编译并安装OpenCV 4.1.1 注:原创不易,转载请务必注明原作者和出处,感谢支持! OpenCV目前(2019-8-1)的最新版本为4.1.1.本文将介绍如何在Ubu ...

  8. 在Ubuntu 14.04 64bit上编译并研究State Threads网络线程库源码

    State Threads是一个广受关注的高性能网络线程库,winlin在SRS中做了比较充分的应用,我很遗憾直到现在才精心研究它.下面是我的研究实录,以作备忘. 一.源码编译 下面是在Ubuntu ...

  9. ubuntu 18.04 64bit下如何安装安卓虚拟机anbox?

    一. 安装snapd sudo apt-get install snapd 二. 安装adb sudo apt-get install adb 三. 安装必要的内核模块 wget https://la ...

最新文章

  1. java分享第五天(数组)
  2. Ubuntu 使用phpmyadmin,报错#1146 - Table ‘phpmyadmin.pma_table_uiprefs' doesn't exist
  3. Java对存储过程的调用方法 --转载
  4. 【模拟】P1067 多项式输出
  5. 最小生成树(Prim、Kruskal)算法,秒懂!
  6. 修改无效_修改劳动合同日期被认定无效,青岛一企业被判赔双倍工资
  7. 集群-如何理解集群?
  8. 《写给大家看的设计书》封面评选结果揭晓
  9. VB添加listbox 的水平卷动轴
  10. Angularjs总结(一)表单验证
  11. 3D MAX导出插件编写
  12. MySql优化神器 Explain工具介绍
  13. C++ Primer Plus学习(七)——函数简介
  14. C#中IPAddress与域名的使用
  15. python语法详解大全_Python语法大全
  16. 切比雪夫不等式例题讲解_数学广角:切比雪夫最佳逼近直线
  17. PHP PYTHON RUBY PERL
  18. 平价的蓝牙耳机哪家质量好?学生党公认的五款高品质蓝牙耳机
  19. 51CTO乌镇行 追求“小轩窗,正梳妆”的宁静
  20. 以太坊是什么? 以及以太坊如何工作的?

热门文章

  1. 关于 hashcode 和 equals
  2. ng-cordova和cordova区别
  3. bzoj1095: [ZJOI2007]Hide 捉迷藏 线段树维护括号序列 点分治 链分治
  4. 监听指定端口数据交互(HttpListenerContext )
  5. Styling with the DataGridColumnStyle
  6. android google 下拉刷新 csdn,android SwipeRefreshLayout google官方下拉刷新控件
  7. java做个简单的登录界面_java一个简单的登录界面制作
  8. php中mysql_PHP中MySQL操作
  9. keep健身软件电脑版_keep下载安装2020官方版-keep健身软件免费版下载v6.125.0 安卓最新版...
  10. 中国对计算机科学与技术人才的需求,计算机科学与技术整体概况之人才需求分析_跨考网...