工具使用:利用SRS和FFmpeg搭建流媒体直播和点播系统
問(wèn)題背景:
最近解決一些攝像頭上云問(wèn)題,由于自研播放器有時(shí)存在一些播放問(wèn)題,按照音視頻常見(jiàn)問(wèn)題分析和解決:延時(shí)和抖動(dòng)這篇文章說(shuō)的定位問(wèn)題思路,我決定搭建一些RTMP流媒體服務(wù)器,供測(cè)試用標(biāo)準(zhǔn)播放器如VLC交叉驗(yàn)證。之所以存在這么多奇怪的問(wèn)題,是因?yàn)榻由蟻?lái)的攝像頭或者平臺(tái)總是存在一些私有碼流或者碼流格式不規(guī)范導(dǎo)致。下面簡(jiǎn)單說(shuō)下RTMP服務(wù)器搭建和測(cè)試方法,包括FMS和SRS在win和linux下的搭建方法。
說(shuō)明問(wèn)題前,看下業(yè)務(wù)大概的基本模塊的部署情況。其次工具和軟件已經(jīng)上傳我的git,自行獲取即:
說(shuō)明:
Linux搭建SRS:
SRS是國(guó)內(nèi)著名的開(kāi)源項(xiàng)目,提供了豐富的方案將媒體流接入到SRS服務(wù)器,同時(shí)支持各種協(xié)議和封裝格式的轉(zhuǎn)換,GIT地址:https://github.com/ossrs/srs,部署和使用起來(lái)很簡(jiǎn)單:
**步驟:
1 . 安裝SRS服務(wù)器:**
實(shí)際我采用了編譯源碼的方式安裝,只需要下面幾條命令即可,其它很多功能沒(méi)有啟用,SRS現(xiàn)在性能功能還是比較強(qiáng)大的流媒體服務(wù)器,不過(guò)只支持linux部署。
A. git下載源碼命令是:
git clone https://github.com/ossrs/srs.git
B. 如果上傳了Zip包解壓即可,然后放到/usr/local/srs目錄下即可;
C. 進(jìn)入trunk目錄,執(zhí)行:
./configure && make
其中支持開(kāi)啟的功能可以用./configure -h查詢
D. 編譯和安裝,有時(shí)需要一些依賴第三方也需要安裝:
make
make install
E. 拉起程序命令:
./objs/srs -c conf/srs.conf
F. 檢查程序和端口
ps -ef|grep srs 和netstat -ano|grep 1935
2. 攝像頭推流:
這里推流沒(méi)有利用FFMpeg進(jìn)行推流,而用我們GB接入網(wǎng)關(guān)拉取了攝像頭的視頻流直接推上來(lái)的,本質(zhì)就是攝像頭從局域網(wǎng)注冊(cè)上來(lái),然后通過(guò)SIP請(qǐng)求視頻,攝像頭通過(guò)RTP協(xié)議推送視頻國(guó)標(biāo)網(wǎng)關(guān),對(duì)這部分內(nèi)容感興趣的可以留言交流,比較熟悉。
3. VLC驗(yàn)證和測(cè)試:
4. Video Player進(jìn)行驗(yàn)證播放:
Windows搭建FMS:
FMS其實(shí)是Adobe的RTMP流媒體服務(wù)器,我在本地Windosw搭建了一個(gè),用FFmpeg推流到該服務(wù)器,然后用VLC和它們提供的Video Palyer打開(kāi)進(jìn)行驗(yàn)證下:
步驟:
1. 安裝FMS:
直接一步步安裝即可,安裝過(guò)程注意好端口號(hào)1935的填寫(xiě)和用戶名即可,如果和本地端口沖突要在安裝換個(gè)其它端口號(hào),安裝成功示意圖即瀏覽器自動(dòng)彈出播放視頻網(wǎng)頁(yè)說(shuō)明安裝成功,有問(wèn)題查看下進(jìn)程和起的1935端口有沒(méi)有監(jiān)聽(tīng)即可:
貢獻(xiàn)幾個(gè)免費(fèi)安裝序列號(hào):
Flash Media Server 3.5(FMS) 序列號(hào)1374-5568-0192-3684-3402-70241374-5232-8277-3901-0946-6727
2. FFmpeg推流:
本地準(zhǔn)備一段FLV或者M(jìn)P4文件,用FFmpeg轉(zhuǎn)封裝然后直接向該FMS服務(wù)器1935端口推流即可:
A. 準(zhǔn)備一段推流文件avier1_avc_aac.mp4,利用FFmpeg推流:
B. 推流命令就是:
ffmpeg.exe -re -stream_loop -1 -i avier1_avc_aac.mp4 -acodec aac -f flv rtmp://127.0.0.1:1935/live/1
其中這段命令就是把本文件轉(zhuǎn)封裝為FLV文件,再循環(huán)推流到本地的FMS1935端口上
3.用開(kāi)源的標(biāo)準(zhǔn)播放器進(jìn)行驗(yàn)證:
A.用推流URL拉流驗(yàn)證,其中用VLC進(jìn)行了驗(yàn)證
B.用推流URL拉流驗(yàn)證,其中用Video Player都進(jìn)行了驗(yàn)證
總結(jié):
通過(guò)在Win本地和公網(wǎng)Linux部署FMS和SRS就可以搭建一個(gè)點(diǎn)播&直播系統(tǒng),對(duì)排查一些碼流或者播放問(wèn)題非常有幫助,現(xiàn)在這種現(xiàn)成工具非常多,使用起來(lái)也方便,后面這個(gè)系列還會(huì)繼續(xù)介紹其它開(kāi)源項(xiàng)目和工具。
參考項(xiàng)目和網(wǎng)址:
https://github.com/ty6815
https://github.com/ossrs/srs
https://www.jianshu.com/p/ce57f108fdaa
https://blog.csdn.net/u014359108/article/details/53114333
總結(jié)
以上是生活随笔為你收集整理的工具使用:利用SRS和FFmpeg搭建流媒体直播和点播系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 8款免费企业邮箱
- 下一篇: 操作系统 - 虚拟存储管理技术之虚拟页式