SRS集群部署
Encoders 是推流终端
Players 是拉流终端
SRS Edge 边源节点 每个省 每个运营商都有自己的边源节点。理论上每个地区的人连接自己地区的运营商速度最快。
SRS Orgin Cluser 源站点
Nginx cache 点播系统的边源节点
Storage 存储系统
CDN 云
StreamCaster
流程 :
1、北京推流,上海拉流
北京推流到边源节点,然后再推流到源站点,源站点再进行分发。源站点再推流到上海的边源节点,上海的用户再从自己的边源节点进行拉流。
2、北京推流,北京观看
北京推流到边源节点,北京用户直接从边源节点直接拉流。
3、北京推流,CDN观看
北京推流到边源节点,然后再推流到CDN,用户从CDN进行观看。如果源节点部署不够,我们可以将自己的私有云和CDN结合到一块提供服务。
4、点播系统
点播系统从边源节点进行拉流,边源节点会从存储系统进行拉流,存储系统如果没有资源,又去源站点获取数据并存储。
我们实现这样一个功能:
- 腾讯云服务器做源节点。
- 我们本机做边源节点,本机从边源节点拉流。
- 本机也做推流端直接推送到源节点。
源节点服务器搭建
首先腾讯云服务器上搭建srs服务器。可以参考https://blog.csdn.net/qq_15255121/article/details/115905631?spm=1001.2014.3001.5501进行搭建。
搭建成功以后,我们进入
我们可以看到origin.conf 监听19350接口 ,最大连接数为1000.
我们通过./objs/srs -c ./conf/origin.conf进行启动
启动后通过
从图中我们可以知道19350已经处于监听状态,并且启动了srs。
2、边源节点搭建
安装srs和上面一样
我们进入conf文件夹
执行 cp origin.cluster.edge.conf origin.nocluster.edge.conf 拷贝一份origin.cluster.edge.conf然后进行修改
在origin节点的地方,写上我们的源节点地址和端口 xxx.xxx.xxx.xxx:19350
修改后保存
我们启动边源节点的配置
./objs/srs -c ./conf/origin.nocluster.edge.conf
3、我们客户单进行拉流
ffplay rtmp://localhost/live/room
这样理论上我们读本地1935端口会转移到 我们设置的origin的地址
4、我们进行推流
使用https://blog.csdn.net/qq_15255121/article/details/115905631?spm=1001.2014.3001.5501中的推流命令或者api,将推流地址改为我们的源站点ip:19350.
这样我们就建立了整个推流拉流过程。
通过整个图我们知道,只要建立足够的边源节点,既可以提高传输效率。因为边源节点没有数据了以后才要去源节点获取数据。
这就是一个简单的srs集群部署。
每天学习的东西做记录,莫名的增加了自信,也不再那样的焦虑。
坚持做一件事情,持续的做一件事情。
用慢来对抗块。
用体系来对抗碎片。
用原理来替换招式。