《FFmpeg開發(fā)實戰(zhàn):從零基礎(chǔ)到短視頻上線》一書在第10章介紹了輕量級流媒體服務(wù)器MediaMTX券盅,通過該工具可以測試RTSP/RTMP等流媒體協(xié)議的推拉流。不過MediaMTX的功能實在是太簡單了猛频,無法應(yīng)用于真實直播的生產(chǎn)環(huán)境,真正能用于生產(chǎn)環(huán)境的流媒體服務(wù)器還要看SRS或者ZLMediaKit扔涧。
SRS是一款國產(chǎn)的開源實時視頻服務(wù)器囤踩,支持RTMP、WebRTC祝峻、HLS魔吐、HTTP-FLV、SRT莱找、MPEG-DASH和GB28181等流媒體協(xié)議酬姆。SRS媒體服務(wù)器和FFmpeg、OBS奥溺、VLC辞色、WebRTC等客戶端配合使用,提供音視頻流的接收和分發(fā)的能力浮定,是一個典型的發(fā)布(推流)和訂閱(播放)服務(wù)器模型相满。SRS支持互聯(lián)網(wǎng)廣泛應(yīng)用的音視頻協(xié)議轉(zhuǎn)換,比如可以將RTMP或SRT桦卒,轉(zhuǎn)成HLS或HTTP-FLV或WebRTC等協(xié)議立美。
通過結(jié)合FFmpeg與SRS,可以很方便地測試音視頻的推拉流方灾。接下來以華為的歐拉系統(tǒng)為運行環(huán)境建蹄,介紹如何編譯、安裝、調(diào)試SRS洞慎,詳細(xì)的操作步驟說明如下针贬。
一、編譯安裝SRS
1拢蛋、登錄Linux服務(wù)器(比如華為云的歐拉系統(tǒng))桦他,運行下列命令安裝SRS的依賴包。
yum install git
yum install patch
2谆棱、執(zhí)行下面命令從gitee下載SRS的源碼快压。
cd /usr/local/src
git clone -b develop https://gitee.com/ossrs/srs.git
3、進(jìn)入SRS的主干源碼目錄垃瞧,運行下面命令配置SRS蔫劣。
cd srs/trunk
./configure
4、運行下面命令編譯SRS个从。
make
命令執(zhí)行完畢脉幢,SRS的可執(zhí)行程序srs就在srs/trunk/obj目錄下生成。
二嗦锐、編譯安裝FFmpeg
在Linux系統(tǒng)編譯安裝FFmpeg的詳細(xì)步驟參見《FFmpeg開發(fā)實戰(zhàn):從零基礎(chǔ)到短視頻上線》一書的“1.2 ?Linux系統(tǒng)安裝FFmpeg”嫌松,這里不再贅述。
三奕污、啟動SRS
1萎羔、進(jìn)入SRS的主干配置目錄,也就是執(zhí)行下面命令:
cd /usr/local/src/srs/trunk/conf
2碳默、打開配置文件srs.conf贾陷,在vhost __defaultVhost__里面補充以下一行配置:
? ? gop_cache ? on;
以上配置表示開啟緩存關(guān)鍵幀,一定要設(shè)置為on嘱根,否則客戶端拉流找不到關(guān)鍵幀就無法渲染畫面髓废。
修改完畢,保存并退出srs.conf该抒。
3慌洪、執(zhí)行下面命令,啟動SRS服務(wù)柔逼。
cd /usr/local/src/srs/trunk
./objs/srs -c conf/srs.conf
4蒋譬、檢查服務(wù)器是否開啟了下列端口:
1935端口,用于rtmp協(xié)議愉适,訪問“rtmp://”開頭的直播地址需要犯助。
8080端口,用于http協(xié)議维咸,訪問“http://”開頭的直播地址需要剂买。
四惠爽、檢查SRS的視頻推拉流
1、執(zhí)行以下命令瞬哼,將本地視頻通過RTMP協(xié)議推流給SRS婚肆。
ffmpeg -re -stream_loop -1 -i "/usr/local/src/test/2018s.mp4" -vcodec h264 -f flv rtmp://127.0.0.1/live/test
注意:SRS不支持RTSP推流,只支持RTMP推流坐慰。
2较性、打開VLC播放器,依次選擇菜單“媒體”→“打開網(wǎng)絡(luò)串流”结胀,在網(wǎng)絡(luò)URL框中輸入下列任一地址赞咙,觀看能否正常播放視頻畫面。
rtmp://124.***.***.***/live/test
http://124.***.***.***:8080/live/test.flv
http://124.***.***.***:8080/live/test.m3u8
注意需要把上述地址中的“124.***.***.***”替換為流媒體服務(wù)器實際的公網(wǎng)地址糟港。
更多詳細(xì)的FFmpeg開發(fā)知識參見《FFmpeg開發(fā)實戰(zhàn):從零基礎(chǔ)到短視頻上線》一書攀操。