使用SRS Docker搭建自己的直播平台

2020-09-08 14:49:51 浏览数 (1)

直播平台自建,大多选择开源的项目,比如SRS,Nginx RTMP,RED5等,如果对直播的质量要求不高,用户量又少,当然可以自建。如果用户量大,质量要求高,还是找个成熟的方案,多花点钱。

目录

1. SRS 简介

2. 搭建准备

3. 直播流程框图

4. SRS Docker搭建步骤

5. obs采集视频流

6. 客户端播放rtmp流

7. 结束语

1

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。

github地址:https://github.com/ossrs/srs

wiki:https://github.com/ossrs/srs/wiki/v3_CN_Home

Docker:https://github.com/ossrs/srs-docker/

2

搭建准备

  • 开源推流工具obs 下载地址:https://obsproject.com/
  • video.js 网页播放流媒体 下载地址: https://docs.videojs.com/docs/api/video.html

3

直播流程框图

obs端:将采集的视频流以rtmp协议推送至SRS流媒体服务器。

客户端播放器:从SRS流媒体服务器上拉取RTMP流进行播放。

4

SRS Docker搭建步骤

SRS 支持Docker搭建,省略了编译安装,本次为单机安装,本机地址为192.168.229.129。

  • 获取SRS 最新镜像
代码语言:javascript复制
[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
  • 运行镜像
代码语言:javascript复制
[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

其中:1935端口为rtmp服务端口,1985 为控制台口,8080 为默认端口。

访问:http://192.168.229.129:8080

点击 http://1192.168.229.129:1985/console

通过控制台,能看到服务器和客户端的使用情况,服务器的负载情况等。

5

obs采集视频流

OBS 是adobe 的一个视频采集软件,可以用来作为推流工具。不使用直播姬,使用obs也可以完成哔哩哔哩 的直播。

  • 1.添加视频源

可选择桌面,摄像头,浏览器网址等,为了便于分析直播的延迟时间,这里的来源为浏览器网页上的实时时间

输入一个显示时间的网址:https://baidu.com/s?wd=时间

以上就完成了采集源为浏览器网址的设置。

  • 推流设置

点击设置选项,选择推流设置

服务方式选择 为“自定义”,服务器为:rtmp://192.168.229.129/live/live,串流秘钥为:stream

  • 开始推流

点击开始推流按钮,进行推流

  • 查看SRS的控制台页面会看到,服务器已经接收到RTMP流。

6

客户端拉取播放RTMP流

  • 1. 使用SRS 控制台页面的预览,进行播放

会看到以下界面:

  • 使用自定义的html页面播放

参考:https://www.cnblogs.com/FHC1994/p/9981440.html

在window下搭建了一个网页服务,播放效果如下:

7

结束语

在采用默认设置的的前提下,单机版局域网延迟 小于10s。要想获得更好的服务还得进行优化,针对用户量大,还要做集群部署。直播咱也会做,但是性能真不能保证。

END

0 人点赞