SRS Forward集群

官方WIKI:https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Forward

一、何为Forward

    Forward 翻译成中文是向前、前头的、发送等(来自google翻译),还有好多词性。

    在SRS中可以理解为把Master节点获得直播流广播给所有的Slave节点。我觉得广播这个词可能要比forward更容易理解。也可以理解为转发,即master把接收到的所有流都转发给Slave节点,即master节点由多少路直播流,那么在每个slave节点也会多少路直播流。

注:在SRS中还有另外一种集群方式,edge方式。注意两种方式的用词不同。

        在Forward模式中,中心节点叫Master,边缘节点叫Slave;在edge模式中,中心节点叫origin(源站),边缘节点叫做edge

二、适用场景

    Forward适合搭建小型集群,为什么这么说呢?因为每个slave节点都和master节点有相同数量的直播流,那么请看下图(从右往左,1、2、3是步骤):

170623_fJHJ_112731.jpg

    编码器推流给master,那么master就会Forward到每一个Slave。那么在slave节点上不论需不需要都会有master过来的流。试想一下,如果编码器的数量为10,那么master到slave之间的带宽就是:带宽=10 * slave的个数 *直播流码率,随着slave的增多,master的出口带宽会不断提高。而现实是,在某些slave节点其实根本没有人看……这样就造成了master到slave之间的带宽浪费。

    所以说Forward适合与搭建小型集群。那么大集群怎么破?----使用edge功能(且看下次分解)。

三、搭建负载均衡的直播流媒体系统

172026_whbp_112731.jpg

    从负载均衡往后其实都是在一个内部环境中,通过负载均衡服务器来分流访问压力到不同的流媒体服务器。

    一)负载均衡设备的选择有很多:

  1. 财主:F5之类的商业解决方案,稳定、可靠、操作界面友好等等,缺点就是价格高,有钱人才能玩的起。

  2. 屌丝:LVS、Haproxy、Nginx(仅限于交付http stream),缺点就是需要自己各种配置,需要动手能力强等,优点就是不花钱,性能也不比商业解决方案差。

    这里要提醒一下,不论什么方式请打开ip_hash(不同的设备和软件称呼不同,但作用相同),即保持一个用户的访问总是被负载均衡到固定的后端服务器上,这样就可以避免很多的问题。 

    二)常见的2个中流,RTMP和HLS的交付方式:

    RTMP:只要编码器推流到master上即可,当用户访问负载均衡时,负载均衡服务器分配一个后端服务器为用户服务。

    HLS:编码器推流到master上,如果编码器推来的流不是h264+aac的话再master进行直播转码(非h264+aac不能切hls片),然后在slave上进行HLS切片。负载均衡服务器调度用户请求到一台后端服务器进行访问。 这里就需要注意了,一定要打开ip_hash。


  四、模拟配置

    一)编码器推流(ffmpeg模拟)

    ./ffmpeg -re -i "abc.rmvb" -vcodec libx264 -vprofile baseline -vb 800k -acodec libfdk_aac -ab 96000 -ar 48000 -ac 2 -f flv rtmp://SRS_Master_IP:1935/live/test

    二)Master服务器配置

listen              1935;
pid                 ./objs/srs.pid;
max_connections     10240;
vhost __defaultVhost__ {
    gop_cache       on;
    
    forward         192.168.1.6:1935 192.168.1.7:1935;
}

    三)Slave服务器配置

listen              1935;
pid                 ./objs/srs.1935.pid;
max_connections     10240;
vhost __defaultVhost__ {
    gop_cache       on;
}


五、播放流

    源站播放地址:

rtmp://SRS_Master_IP:1935/live/test

    Slave播放地址:

rtmp://SRS_Slave_IP:1935/live/test


转载于:https://my.oschina.net/fengjihu/blog/416883

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值