1.環(huán)境準備
先看看一個流媒體服務(wù)器應(yīng)用場景,如下是一個安防場景。

服務(wù)器:SRS(Simple RTMP Server,?持RTMP、HTTP-FLV,HLS)
推流端:ffmpeg 、 OBS
拉流端:ffplay 、VLC 、 srs播放器
srs在github上的官網(wǎng):
https://github.com/ossrs/srs
非常好用的流媒體集群,具有非常詳細的文檔。作者現(xiàn)在已經(jīng)是阿里釘釘?shù)暮笈_CTO。他也是因為這個這個寫出這個SRC框架被發(fā)現(xiàn)。

SRS在碼云的官網(wǎng):
https://gitee.com/winlinvip/srs.oschina

關(guān)于代碼提交,請參考這個鏈接地址:
https://github.com/ossrs/srs/wiki/v1_CN_Git
如圖所示:

選擇通過碼云下載,速度快。選擇當(dāng)前比較新的release版本3.0
命令:git clone
https://gitee.com/winlinvip/srs.oschina.git

下載完畢后,進入此目錄。

可以看出4.0都出來了,但是穩(wěn)定可靠的還是3.0,所以這里就選擇3.0。

選擇3.0,切換到3.0release分支。關(guān)于git使用,后面再多寫幾篇文章。
git checkout -b 3.0 remotes/origin/3.0release

進入trunk目錄:

開始編譯srs。這個過程大概需要幾分鐘。
./configure && make
./configure編譯過程如下:

./configure結(jié)束如下:

然后make
make過程如下:

make結(jié)束如下,代表編譯完成:

目錄如下:

修改配置文件:vim conf/rtmp.conf,如下路徑:

修改前配置如下:

修改后配置如下:
使用#注釋,否則有可能出錯。
listen 1935表示rtmp協(xié)議默認端口號是1935。
max_connections 1000:表示默認支持1000連接。

經(jīng)過上面步驟后,就啟動srs。-c表示讀取配置文件。
./objs/srs -c conf/rtmp.conf
這個時候,就表示啟動成功了。

查看日志:tail -f ./objs/srs.log,出現(xiàn)如下界面,表示啟動成功。

可以通過lsof -i:1935,查看是哪個進程占用了這個端口號。
使用?FFMPEG命令推流,需要提前搭建好ffmpeg環(huán)境:檢驗測試效果。
這里的live就表示是一個欄目,比如電影,這里的livestream表示具體的電影名字。
注意:需要使用自己的ip。rtmp.flv這個文件換成自己的文件。
需要先切換到rtmp.flv這個目錄。比如我這里是這個路徑。

ffmpeg -re -i rtmp.flv -vcodec copy -acodec copy -f flv -y rtmp://172.16.204.132/live/livestream
表示正在推流:

使用ffplay或VLC或其它拉流工具都是可以。表示正在拉流:

ffplay rtmp://172.16.204.132/live/livestream

出現(xiàn)如下拉流畫面,就說明跑通了。

服務(wù)器,這邊就收到很多消息。如下界面:

你也可以使?在線SRS播放器播放:
http://ossrs.net/srs.release/trunk/research/players/srs_player.html?vhost=__defaultVhost__&autostart=true&server=192.168.1.170&app=live&stream=livestream&port=1935
如下圖:

關(guān)于SRS的RTMP分發(fā)推流,可以參看官網(wǎng)這個鏈接地址:
https://github.com/ossrs/srs/wiki/v1_CN_DeliveryRTMP

2.使用OBS推流
如果你覺得ffmpeg的命令??式不太友好,推薦使?主流的OBS開源推流軟件,可從官?https://obsproject.com/下載最新版本,?前很多?絡(luò)主播都是?它做直播。該軟件?持本地視頻?件以及攝像頭推流?;蚴?:
https://pc.qq.com/detail/4/detail_23604.html?去普通下載。
官網(wǎng):

這里演示下文件推流:


選擇本地視頻文件。填入本地文件的地址。

接下來是關(guān)鍵的部分,進?設(shè)置:

在串流->服務(wù)器這?,輸?srs的地址:
rtmp://192.168.1.11:1935/live?(注意這?不要帶livestream), 然后在串流密鑰這?,才是輸?livestream

設(shè)置好以后,就可以點擊“開始推流”了。如果順利,下?的狀態(tài)欄,會顯示?些實時數(shù)據(jù):
注意:OBS進?推流占?率?較?(實際CPU占有率 還好,內(nèi)有那么高),原因在于osb在推流時對源?件進?了解碼再編碼的操作。obs也能捕獲聲音,是一款非常好用的工具,還包括了錄制等功能,所以這個也是非常值得學(xué)習(xí)和使用。
點擊開始推流,服務(wù)器這里會收到消息:如下



同樣使用ffplay拉流即可。ffplay
rtmp://172.16.204.132/live/livestream

拉流畫面如下:

同時服務(wù)器會收到,有客戶端連接消息。

使用攝像頭推流
這里與推文件流,實際差不多,區(qū)別只是添加“視頻捕捉設(shè)備”。

采集畫面,默認配置如下:

接下來的操作就與推文件流?樣了(但是CPU占有率上來了),如下:

更多關(guān)于obs設(shè)置,可以參考如下鏈接:
https://cloud.tencent.com/document/product/267/32726
界面如下:

這里有非常多的設(shè)置地址,如下:

通過github下載速度慢。
命令:
https://github.com/ossrs/srs.git
本篇文章,非常詳細的講解了,如何去搭建Rtmp流媒體服務(wù)器,是學(xué)習(xí)流媒體開發(fā)必須學(xué)會的技術(shù),希望對你有幫助。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至2705686032@qq.com 舉報,一經(jīng)查實,本站將立刻刪除。原文轉(zhuǎn)載: 原文出處: