linux下編譯與運行crtmpserver

目錄

前言

環境準備及編譯

測試


前言

RTMP是Real Time Messaging Protocol(實時消息傳輸協議)的首字母縮寫。該協議基於TCP,是一個協議族,包括RTMP基本協議及RTMPT/RTMPS/RTMPE等多種變種。RTMP是一種設計用來進行實時數據通信的網絡協議,主要用來在Flash/AIR平臺和支持RTMP協議的流媒體/交互服務器之間進行音視頻和數據通信。——摘錄自百度。 如果大家想對RTMP有更深的認識,可以參看這篇文章:《帶你喫透RTMP》。

本文要處理的是:用crtmpserver搭建服務器,用來做推拉流的中轉。也就是ffmpeg推流到crtmpserver服務器,然後VLC從服務器拉流播放。那麼這個服務器怎麼搭建呢,下面就詳細的記錄一下。

 

環境準備及編譯

1、win10上,裝VMWare Workstation, 然後安裝Ubuntu16.04

2、準備各種工具,看看是否需要更新。

// 如果沒有cmake, 那就安裝
apt-get install wget cmake

// 如果沒有libssl-dev , 通信用到的庫, 就先安裝
apt-get install libssl-dev 

3、 準備文件並編譯

// 新建一個文件夾
mkdir crtmp

// 進入這個文件夾
cd ctrmp

// 然後下載文件:
wget https://codeload.github.com/j0sh/crtmpserver/zip/centosinit

// 解壓
unzip centosinit

// 得到 crtmpserver-centosinit, 進入這個文件夾
cd crtmpserver-centosinit

// 進入到builder
cd builders

// 進入到cmake
cd cmake

// 可以看到這裏有Makefile文件,執行
cmake
make

// 編譯完之後,執行下面這句話,就可以執行了
./crtmpserver/crtmpserver ./crtmpserver/crtmpserver.lua

// 在上面那句話執行的過程中,不要中斷,就可以進行測試了。
// 如果想要結束,直接ctrl+c ,就能中斷

 

測試

方式一:

準備好我們下載的ffmpeg—shared版本,進入bin,找到 ffmpeg.exe, 在這個文件中放一個flv文件。

然後在這個文件夾的目錄欄中,輸入 cmd, 進入命令行:

ffmpeg  -i China.flv  -f flv rtmp://192.168.87.6/live/test1

打開VLC, 媒體——>打開網絡串流,輸入:rtmp://192.168.87.6/live/test1, 播放。

可以看到推流的文件,進行播放了。

 

方式二:

準備好ffmpeg-dev版本,建一個win32的控制檯工程,將include lib dll等,都包含進去。然後寫代碼,把文件讀入,進行推流。拉流依然用VLC。

播放文件推流:推流端需要控制進度、速度。根據文件的fps進行控制。這一部分,還是需要特別注意的。

稍後上傳代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章