方案一
- 采用 nginx + nginx-rtmp-module. 作為RTMP 服務(wù)器彤侍,用 ffmpeg 做直接攝像頭采集推流合武,用VLC 拉流谴麦。
- 硬件環(huán)境:T44OP筆記本上搞了個virtual box虛擬機(jī)(2個CPU杖挣,2G內(nèi)存,網(wǎng)絡(luò)橋接),ubuntu 16.04 TLS 版本垮抗。
- ffmpeg 和 vlc都運行在本機(jī)的win 10環(huán)境下氏捞。
- nginx 配置腳本簡單如下(這里沒有研究那些低延遲配置)
rtmp{
server{
listen 1883;
application mylive{
live on;
record off;
}
}
}
方案二
- 采用 simple rtmp server 作為RTMP 服務(wù)器幌衣,用 ffmpeg 做直接攝像頭采集推流,用VLC 拉流壤玫。
- 硬件環(huán)境:T44OP筆記本上搞了個virtual box虛擬機(jī)(2個CPU豁护,2G內(nèi)存,網(wǎng)絡(luò)橋接),ubuntu 16.04 TLS 版本欲间。
- ffmpeg 和 vlc都運行在本機(jī)的win 10環(huán)境下楚里。
- simple rtmp server 配置腳本簡單如下
listen 1935;
max_connections 1000;
vhost __defaultVhost__ {
enabled on;
gop_cache off;
queue_length 5;
mw_latency 350;
}
- 測試起來效果比nginx-rtmp-module 這個要好,這里已經(jīng)有些低延遲的一些猎贴,配置班缎,比如GOP 處理,緩沖隊長度等她渴。延時大概5秒左右达址,偶爾有時候可在1~2秒范圍內(nèi)。
- ** 因此對于像直接做類似直播秀之類的場景來說趁耗,選擇srs 是一個更好的選擇**
有些疑問,哪天有空研究一下
- 如果對于多個拉流的場景沉唠,似乎每個點看到時間點是不一樣的池摧?比如你看到得是2秒前的姜性,他看到有可能是5秒前的惜互?他們怎么解決這個問題蛹尝?不過這個不同步似乎也沒有關(guān)系灿渴。
- 客戶端推流時无拗,編碼器茎用,GOP應(yīng)該怎么選擇绝淡,涉及到視頻流的質(zhì)量和效果缠捌?一般我們做RTP流大概2秒強(qiáng)制一個I幀锄贷,甚至如果在變化不大的流里面,為了降低網(wǎng)絡(luò)流量曼月,會采取一定的策略來拉長I幀間隔肃叶。延遲和GOP設(shè)置也是有很大的關(guān)聯(lián)的。這個TCP流十嘿,不同于UDP因惭。是不是開始之前有個測試網(wǎng)絡(luò)環(huán)境流程?
- 關(guān)于連麥绩衷,是不是推和拉之間直接建立一個鏈接(類似P2P)蹦魔?
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者