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参数说明见以下文章:
文章目录[隐藏] 1端口2连接数3官方示例4日志输出方式及路径5API服务器6HTTP服务器7系统统计8vho […]
6.步骤
6.1.部署Docker
具体参考以下文章:
文章目录[隐藏] 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.conf
、origin.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播放器:点击下载
使用方法可参考以下文章:
文章目录[隐藏] 1简介2相关3步骤3.1安装基础3.2解压安装3.3启动SRS3.4SRS相关信息3.5测试 […]
8.2.html播放器
easyplayer:点击到达
西瓜播放器:点击到达
阿里播放器:点击到达
9.效果
10.防盗链配置
研究了很久都没有办法使用官方的方法来解决防盗链的问题,在这个版本中防盗链默认关闭,可以使用crossdomain on;
来开启,但是开启了之后又不能配置允许的域,只能通过其它的方法来解决这个问题。如果有更好的方法在更新,如果您有更好的解决方法,欢迎留言讨论,谢谢。