大赛事源站设计

2019-02-24 21:42:52 浏览数 (1)

一、源站基本需求

1. 基本功能:支持推流/转推/拉流。

2. 全程自动化监控:对直播流信号,包括LOL官方播出渠道、合作的内外部直播平台进行信号实时监控,如遇服务器异常、流信号异常等突发情况,以产品化展示形式第一时间反馈通知到LOL直转播赛事经理;

3. 防盗链机制:对拉流IP设置防盗链操作,以防出现联赛版权/PGC节目被盗播等突发情况;

二、平台设计框架

说明: 1. 使用源站的用户推流,将不会去control鉴权。也就是任何流,只要拿到我们的域名都可以推流成功。

2. 推流成功后,查询live_adaptor,live_adaptor将根据域名来决定转推目的地。例如:推流域名是主域名,则转推到上海主和广州主以及腾讯云。

如果live_adaptor返回超时或者网络异常,将会使用本地配置文件中的设置默认推向对应的转推模块。配置文件5分钟生效。

转推到腾讯云的鉴权问题??

3. 将在deliver模块设置访问白名单。(主办方将提前3天提供ip白名单,基本不变更)

白名单目前配置在nginx.conf路径中,必须重启进程才能更新,因此要改成更加灵活的方式。此外不限制内网ip访问。

4. 告警模块使用peakerdong提供的模块,我们配置手机号以及信息内容然后调用接口,即可把告警信息发送到对应的手机号上。

告警配置:1. 告警使能;

            2. 两次告警间隔

            3. 卡顿时间设置

            4. 需要告警的手机号

5. 为了防止把源站压垮,将会对访问的ip进行连接数的限制,每台机器最多允许连接3条。

三、主备流自动切换的实现

下面主要介绍我设计的方案 现场赛事方推流到主,接入转推时,会带上自己的ip。当备流推上来时,由于拉流模块已经有了该路流,因此转推模块会发送命令通知备流,停止转推,同时拉流模块会保留备流的ip。多数情况,整场比赛也就停留在这个阶段了。但是万一主流异常断开,拉流模块收到主流断流命令后,会先去查看备流是否还在,如果不在则断开后端连接,如果在则hold住后端连接,同时开启一个定时器;然后通知备流开始转推。此时备流会重新推流上来,也就变成主流。而当原来的主流重新推上后,就变成了备流。

0 人点赞