生活随笔
收集整理的這篇文章主要介紹了
SRS流媒体服务器——Edge集群搭建
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
SRS流媒體服務(wù)器——Edge集群搭建
目錄
edge原理dege配置
1. edge原理
SRS的Edge主要解決?條流有?量播放請(qǐng)求的場(chǎng)景,?如?個(gè)流有上萬(wàn)?觀看。
SRS的Edge能對(duì)接所有的標(biāo)準(zhǔn)RTMP源站服務(wù)器。
Edge?般負(fù)載?,SRS?持的并發(fā)?夠跑滿千兆?帶寬了。
Edge的主要應(yīng)?場(chǎng)景:
CDN/VDN?規(guī)模集群,客戶眾多流眾多需要按需回源。?規(guī)模集群,但是流?較多,需要按需回源。??帶寬低,邊緣服務(wù)器強(qiáng)悍,可以使?多層edge,降低上層BGP帶寬。 注意:edge可以從源站拉流,也可以將流轉(zhuǎn)發(fā)給源站。
即播放edge上的流時(shí),edge會(huì)回源拉流;推流到edge上時(shí),edge會(huì)直接將流轉(zhuǎn)發(fā)給源站。 若只需要中轉(zhuǎn)流給源站,不必?forward,直接使?edge模式即可。
可以直接?持推流和拉流的中轉(zhuǎn),簡(jiǎn)單快捷。Forward應(yīng)?于?標(biāo)服務(wù)器是多個(gè),譬如將?路流主動(dòng)送給多路服務(wù)器。edge雖然配置了多臺(tái)服務(wù)器,但是只?了?臺(tái),有故障時(shí)才切換。 注意:優(yōu)先使?edge,除?知道必須?forward,才使?forward。
1. edge基本概念
邊緣edge服務(wù)器,就是邊緣直播緩存服務(wù)器,配置時(shí)指定為remote模式和origin(指定?個(gè)或多個(gè)源站IP),這個(gè)邊緣edge服務(wù)器就是源站的緩存了。當(dāng)?戶推流到邊緣服務(wù)器時(shí),邊緣直接將流轉(zhuǎn)發(fā)給源站。 譬如源站在北京BGP機(jī)房,湖南有個(gè) 電信ADSL?戶要推流發(fā)布??的直播流,要是直接推流到北京BGP可能效果不是很好,可以在湖南電信機(jī)房部署?個(gè)邊緣,?戶推流到湖南邊緣,邊緣轉(zhuǎn)發(fā)給北京源站BGP。 當(dāng)?戶播放邊緣服務(wù)器的流時(shí),邊緣服務(wù)器看有沒(méi)有緩存,若緩存了就直接將流發(fā)給客戶端。 若沒(méi)有緩存,則發(fā)起?路回源鏈接,從源站取數(shù)據(jù)源源不斷放到??的緩存隊(duì)列。 即多個(gè)客戶端連接到邊緣時(shí),只有?路回源。這種結(jié)構(gòu)在CDN是最典型的部署結(jié)構(gòu)。譬如北京源站, 在全國(guó)32個(gè)省每個(gè)省都部署了10臺(tái)服務(wù)器,?共就有320臺(tái)邊緣,假設(shè)每個(gè)省1臺(tái)邊緣服務(wù)器都有 2000?戶觀看,那么就有64萬(wàn)?戶,每秒鐘集群發(fā)送640Gbps數(shù)據(jù)。?回源鏈接只有320個(gè), 實(shí)現(xiàn)了?規(guī)模分發(fā)。 邊緣edge服務(wù)器,解決?并發(fā)問(wèn)題產(chǎn)?的分布式集群結(jié)構(gòu)。SRS的邊緣可以指定多個(gè)源站, 在源站出現(xiàn)故障時(shí)會(huì)?動(dòng)切換到下?個(gè)源站,不影響?戶觀看,具有最佳的容錯(cuò)性,?戶完全不會(huì)覺(jué)察。
2. dege配置
1. 編寫SRS源站配置文件
vim conf
/origin
.conf listen
1935;
max_connections
1000;
pid
./objs
/origin
.pid
;
daemon off
; #日志打印在前臺(tái)
srs_log_tank console
;
vhost __defaultVhost__
{
}
2. 編寫SRS邊緣配置文件
復(fù)制edge.conf
cp conf
/edge
.conf conf
/edge1
.conf
cp conf
/edge
.conf conf
/edge2
.conf
修改conf/edge1.conf配置文件
vim conf
/edge1
.conflisten
19350;
max_connections
1000;
pid objs
/edge1
.pid
;
daemon off
; #日志打印在前臺(tái)
srs_log_tank console
;
vhost __defaultVhost__
{cluster
{mode remote
;origin
127.0.0.1:1935;}
}
修改conf/edge2.conf配置文件
listen
19351;
max_connections
1000;
pid objs
/edge2
.pid
;
daemon off
; #日志打印在前臺(tái)
srs_log_tank console
;
vhost __defaultVhost__
{cluster
{mode remote
;origin
127.0.0.1:1935;}
}
3. 啟動(dòng)SRS
啟動(dòng)SRS源站和邊緣節(jié)點(diǎn)
./objs
/srs
-c conf
/origin
.conf
./objs
/srs
-c conf
/edge1
.conf
./objs
/srs
-c conf
/edge2
.conf
驗(yàn)證是否啟動(dòng)成功:ps -ef | grep srs
4. 啟動(dòng)推流編碼器
推流可以往源站推流,也可以往邊緣節(jié)點(diǎn)推流
源站推流:ffmpeg
-re
-i source
.200kbps
.768x320
.flv
-vcodec copy
-acodec copy
-f flv
-y rtmp
:
邊緣節(jié)點(diǎn)
1推流:ffmpeg
-re
-i source
.200kbps
.768x320
.flv
-vcodec copy
-acodec copy
-f flv
-y rtmp
:
邊緣節(jié)點(diǎn)
2推流:ffmpeg
-re
-i source
.200kbps
.768x320
.flv
-vcodec copy
-acodec copy
-f flv
-y rtmp
:
5. 觀看RTMP流
源站RTMP流地址為:rtmp://8.141.75.248/live/livestream邊緣RTMP流地址為: rtmp://8.141.75.248:19350/live/livestreamrtmp://8.141.75.248:19351/live/livestream 可以用ffplay、VLC或者srs在線播放器
觀看主SRS的流:ffplay rtmp
:
觀看從
1 SRS的流:ffplay rtmp
:
觀看從
2 SRS的流:ffplay rtmp
:
注意:主SRS默認(rèn)使用1935端口,從SRS使用的是19350,19351端口,需要開(kāi)啟,不然無(wú)法拉流。
總結(jié)
以上是生活随笔為你收集整理的SRS流媒体服务器——Edge集群搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。