SRS简介
SRS(Simple RTMP Server) 是国人写的一款非常优秀的开源流媒体服务器软件,可用于直播/录播/视频客服等多种场景,其定位是运营级的互联网直播服务器集群。
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集群中都得到了广泛的应用Applications。
源链接: https://cloud.tencent.com/developer/article/1693951
github地址:https://github.com/ossrs/srs
wiki:https://github.com/ossrs/srs/wiki/v3_CN_Home
Docker:https://github.com/ossrs/srs-docker/
搭建准备
开源推流工具obs 下载地址:
https://obsproject.com/
video.js 网页播放流媒体 下载地址:
https://docs.videojs.com/docs/api/video.html
直播流程框图
obs端:将采集的视频流以rtmp协议推送至SRS流媒体服务器。
客户端播放器:从SRS流媒体服务器上拉取RTMP流进行播放。
SRS 支持Docker搭建
省略了编译安装,本次为单机安装,本机地址为192.168.229.129。
- 获取SRS 最新镜像
[root@master ~]# docker pull ossrs/srs
Using default tag: latest
latest: Pulling from ossrs/srs
ab5ef0e58194: Pull complete
af73acd32981: Pull complete
692b57ace846: Pull complete
Digest: sha256:752afb44f062cdea5adcb1119cf9c295494772d5705bb3400e3a63d15a7f0ba1
Status: Downloaded newer image for ossrs/srs:latest
Bash
Copy
- 运行镜像
[root@master ~]# docker run -p 1935:1935 -p 1985:1985 -p 8080:8080 ossrs/srs:latest
[2020-04-27 14:10:49.313][Trace][1][0] XCORE-SRS/3.0.139(OuXuli)
[2020-04-27 14:10:49.314][Trace][1][0] config parse complete
[2020-04-27 14:10:49.314][Trace][1][0] write log to file ./objs/srs.log
[2020-04-27 14:10:49.314][Trace][1][0] you can: tailf ./objs/srs.log
[2020-04-27 14:10:49.314][Trace][1][0] @see: https://github.com/ossrs/srs/wiki/v1_CN_SrsLog
Bash
Copy
其中:1935端口为rtmp服务端口,1985 为控制台口,8080 为默认端口。
访问:http://192.168.229.129:8080
- 点击 http://1192.168.229.129:1985/console
通过控制台,能看到服务器和客户端的使用情况,服务器的负载情况等。
obs采集视频流
OBS 是adobe 的一个视频采集软件,可以用来作为推流工具。不使用直播姬,使用obs也可以完成哔哩哔哩 的直播。
1.添加视频源
可选择桌面,摄像头,浏览器网址等,为了便于分析直播的延迟时间,这里的来源为浏览器网页上的实时时间
2.推流设置
点击设置选项,选择推流设置
3.开始推流
查看SRS的控制台页面会看到,服务器已经接收到RTMP流