Docker部署开源流媒体服务器SRS源站与边缘站集群

应用扩展 盛行 4个月前 (06-06) 722次浏览 已收录 11个评论 扫描二维码
文章目录
[隐藏]

1.简介

SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。SRS提供了丰富的接入方案将RTMP流接入SRS,包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。 SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、流截图、 转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、 转封装成HDS、DASH、录制成FLV/MP4。SRS包含大规模集群如CDN业务的关键特性,譬如RTMP多级集群、源站集群、VHOST虚拟服务器、无中断服务Reload、HTTP-FLV集群。此外,SRS还提供丰富的应用接口,包括HTTP回调、安全策略Security、HTTP API接口、RTMP测速。SRS在源站和CDN集群中都得到了广泛的应用。

2.相关

系统版本:Centos7.6
Docker-CE版本:19.03.5
SRS版本:v3.0-b4
S1:源站服务器(192.168.1.164
S2:源站服务器(192.168.1.165
S3:边缘服务器(192.168.1.166
S4:边缘服务器(192.168.1.167

3.作用

S1:接收RTMP推流,切割HLS,提供RTMP、HTTP-FLV流拉取,提供API接口
S2:接收RTMP推流,切割HLS,提供RTMP、HTTP-FLV流拉取,提供API接口
S3:提供RTMP、HTTP-FLV流拉取(从源站),不接收RTMP推流,提供API接口
S4:提供RTMP、HTTP-FLV流拉取(从源站),不接收RTMP推流,提供API接口

4.配置文件

4.1.S1配置文件

文件名称:origin.cluster.serverA.conf

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!

coworkers地址请填写所有源站的API地址(不包括自己的地址),使用空格分割

4.2.S2配置文件

文件名称:origin.cluster.serverB.conf

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!


coworkers地址请填写所有源站的API地址(不包括自己的地址),使用空格分割

4.3.S3/S4配置文件

文件名称:origin.cluster.edgeA.conf/origin.cluster.edgeB.conf

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!


origin地址请填写所有源站的RTPM地址,使用空格分割

5.参数说明

SRS参数说明见以下文章:

关于SRS3配置文件参数说明

文章目录[隐藏] 1端口2连接数3官方示例4日志输出方式及路径5API服务器6HTTP服务器7系统统计8vho […]

6.步骤

6.1.部署Docker

具体参考以下文章:

一、Docker简介安装配置加速器及Web图形化管理工具Portainer

文章目录[隐藏] 1简介1.1Docker 的应用场景1.2Docker 的优点1.3Docker 架构2相关 […]

6.2.启动容器

6.2.1.S1

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!

请提前创建好/usr/local/路径下的目录、文件并导入origin.cluster.serverA.conf配置文件内容,否则容器将运行失败。
mkdir -p /usr/local/srs3/{conf,logs,live} && touch /usr/local/srs3/{conf/origin.cluster.serverA.conf,logs/origin.cluster.serverA.log}

6.2.2.S2

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!

请提前创建好/usr/local/路径下的目录、文件并导入origin.cluster.serverB.conf配置文件内容,否则容器将运行失败。
mkdir -p /usr/local/srs3/{conf,logs,live} && touch /usr/local/srs3/{conf/origin.cluster.serverB.conf,logs/origin.cluster.serverB.log}

6.2.3.S3/S4

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!

请提前创建好/usr/local/路径下的目录、文件并导入origin.cluster.edgeA.conforigin.cluster.edgeB.conf配置文件内容,否则容器将运行失败。
mkdir -p /usr/local/srs3/{conf,logs,live} && touch /usr/local/srs3/{conf/origin.cluster.edgeA.conf,logs/origin.cluster.edgeA.log}
mkdir -p /usr/local/srs3/{conf,logs,live} && touch /usr/local/srs3/{conf/origin.cluster.edgeB.conf,logs/origin.cluster.edgeB.log}

7.推流说明

推rtmp流时可以推向S1或S2源站服务器,然后可以在S1或S2源站服务器上观看rtmp、hls、http-flv流,可以在S3或是S4边缘服务器上观看rtmp、http-flv流。例如将流推向S1服务器,RTMP流地址:rtmp://192.168.1.164/live/ceshi

8.播放器

8.1.本地播放器

vlc播放器:点击下载
使用方法可参考以下文章:

使用SRS+ffmpeg搭建流媒体服务器播放m3u8格式视频

文章目录[隐藏] 1简介2相关3步骤3.1安装基础3.2解压安装3.3启动SRS3.4SRS相关信息3.5测试 […]

8.2.html播放器

easyplayer:点击到达
西瓜播放器:点击到达
阿里播放器:点击到达

9.效果

Docker部署开源流媒体服务器SRS源站与边缘站集群

10.防盗链配置

研究了很久都没有办法使用官方的方法来解决防盗链的问题,在这个版本中防盗链默认关闭,可以使用crossdomain on;来开启,但是开启了之后又不能配置允许的域,只能通过其它的方法来解决这个问题。如果有更好的方法在更新,如果您有更好的解决方法,欢迎留言讨论,谢谢。


IT博客站版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Docker部署开源流媒体服务器SRS源站与边缘站集群
喜欢 (4)
[使用支付宝扫码]
分享 (0)
盛行
关于作者:
企业应用技术爱好者,喜欢分享知识。如果文章中有错误,欢迎指正,谢谢。
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(11)个小伙伴在吐槽
  1. 还需要回复……
    CHHFWL2020-08-12 15:12 回复 Mac OS X | Safari浏览器 605.1.15
    • 盛行
      不回复不到处发辣鸡信息了吗 :mrgreen:
      盛行2020-08-12 15:22 回复 Linux | Chrome 81.0.4044.117
  2. 还要来一次?
    sdchl2020-08-06 11:09 回复 Windows 10 | Chrome 76.0.3809.100
    • 盛行
      不用了,不要一顿骚操作啊。
      盛行2020-08-06 11:10 回复 Windows 7 | Chrome 83.0.4103.106
  3. 回复一下
    sdchl2020-08-06 11:07 回复 Windows 10 | Chrome 76.0.3809.100
  4. 还是比较实用
    货源网2020-08-01 10:02 回复 Windows 7 | Chrome 78.0.3904.108
    • 盛行
      :mrgreen: 感谢大佬点评
      盛行2020-08-01 10:04 回复 Linux | Chrome 81.0.4044.117
  5. 学习
    jade2020-07-21 21:37 回复 Windows 10 | Chrome 84.0.4147.89
  6. 找到了一个可以真正学习的地方了
    nvrom2020-07-13 03:36 回复 Windows 10 | Chrome 48.0.2564.116
    • 盛行
      互相学习,共同进步
      盛行2020-07-13 07:33 回复 Linux | Chrome 81.0.4044.117
  7. 看看
    laolifeidadao2020-06-22 11:43 回复 Windows 10 | Chrome 83.0.4103.97