在Ubuntu 14.04 64bit下编译安装rtmpdump并调试输出
生活随笔
收集整理的這篇文章主要介紹了
在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那項
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需要引用的動態庫如下
3.編譯安裝
make
sudo make install
來更新動態庫緩存
檢查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
繼續進行下去.現在因為工作需要,我又重新撿使起來, 繼續進行中斷了幾年的工作.下面記錄下我的安裝
實錄,以備以后參考.
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
在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并调试输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ATS插件开发中内存泄露问题的解决方法探
- 下一篇: ATS中用到的sscanf高级用法说明