在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
在Ubuntu 14.04 64bit下编译安装rtmpdump并调试输出相关推荐
- Caffe在Ubuntu 14.04 64bit 下的安装------pycaffe 配置
这里我主要参考 pycaffe 的 安装配置 http://www.linuxidc.com/Linux/2015-07/120449.htm 最近因为各种原因,装过不少次Caffe,安装过程很多坑, ...
- 在Ubuntu 14.04 64bit上编译安装xbt tracker
下文参照如下链接,只是记录了我的所有实际安装过程,仅供各位参考. http://blog.csdn.net/liwf616/article/details/9245901 xbt项目主页 https: ...
- 在Ubuntu 14.04 64bit上编译安装Crtmpserver trunk svn 811版本!
这里仅在 在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务 基础上补充一下在Ubuntu 14.04上编译安装Crtmpserver的方法,以作备忘.因为Ubuntu 1 ...
- Ubuntu 14.04 64bit上编译安装MonaServer并测试
1.安装依赖和要求 MonaServer基于C++ 11编写, 比如会用到std::thread, std::unique_ptr, 要求GCC版本至少为4.8.2 对于Ubuntu 14.04.2来 ...
- Ubuntu 14.04 64bit上编译安装simple-rtmp-server(srs)服务器
下面的操作完全按照参考文献[1]进行,请采用root用户登陆,我这里只是记录了一下我在Ubuntu 14.04上面编译安装的过程.以作今后参考.该篇文章显示了srs提供的一个demo实例,包括实时流的 ...
- 在ubuntu 14.04 64bit下配置安装PyQt4(python2.7和python3.4)
缘起 现在很多小伙伴儿都从Ubuntu转到Deepin下面去了, Deepin这几年出了一些很不错的软件,比如深度截图, 深度影音, 深度音乐等等, Deepin基于Ubuntu开发, 它的软件大量使 ...
- 在Ubuntu 16.04 LTS下编译安装OpenCV 4.1.1
目录 一 安装前的准备 二 编译并安装OpenCV 4.1.1 注:原创不易,转载请务必注明原作者和出处,感谢支持! OpenCV目前(2019-8-1)的最新版本为4.1.1.本文将介绍如何在Ubu ...
- 在Ubuntu 14.04 64bit上编译并研究State Threads网络线程库源码
State Threads是一个广受关注的高性能网络线程库,winlin在SRS中做了比较充分的应用,我很遗憾直到现在才精心研究它.下面是我的研究实录,以作备忘. 一.源码编译 下面是在Ubuntu ...
- ubuntu 18.04 64bit下如何安装安卓虚拟机anbox?
一. 安装snapd sudo apt-get install snapd 二. 安装adb sudo apt-get install adb 三. 安装必要的内核模块 wget https://la ...
最新文章
- java分享第五天(数组)
- Ubuntu 使用phpmyadmin,报错#1146 - Table ‘phpmyadmin.pma_table_uiprefs' doesn't exist
- Java对存储过程的调用方法 --转载
- 【模拟】P1067 多项式输出
- 最小生成树(Prim、Kruskal)算法,秒懂!
- 修改无效_修改劳动合同日期被认定无效,青岛一企业被判赔双倍工资
- 集群-如何理解集群?
- 《写给大家看的设计书》封面评选结果揭晓
- VB添加listbox 的水平卷动轴
- Angularjs总结(一)表单验证
- 3D MAX导出插件编写
- MySql优化神器 Explain工具介绍
- C++ Primer Plus学习(七)——函数简介
- C#中IPAddress与域名的使用
- python语法详解大全_Python语法大全
- 切比雪夫不等式例题讲解_数学广角:切比雪夫最佳逼近直线
- PHP PYTHON RUBY PERL
- 平价的蓝牙耳机哪家质量好?学生党公认的五款高品质蓝牙耳机
- 51CTO乌镇行 追求“小轩窗,正梳妆”的宁静
- 以太坊是什么? 以及以太坊如何工作的?
热门文章
- 关于 hashcode 和 equals
- ng-cordova和cordova区别
- bzoj1095: [ZJOI2007]Hide 捉迷藏 线段树维护括号序列 点分治 链分治
- 监听指定端口数据交互(HttpListenerContext )
- Styling with the DataGridColumnStyle
- android google 下拉刷新 csdn,android SwipeRefreshLayout google官方下拉刷新控件
- java做个简单的登录界面_java一个简单的登录界面制作
- php中mysql_PHP中MySQL操作
- keep健身软件电脑版_keep下载安装2020官方版-keep健身软件免费版下载v6.125.0 安卓最新版...
- 中国对计算机科学与技术人才的需求,计算机科学与技术整体概况之人才需求分析_跨考网...