vlambda博客
学习文章列表

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

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

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

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

目录

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虚拟服务器 、 无中断服务ReloadHTTP-FLV集群。此外,SRS还提供丰富的应用接口, 包括HTTP回调安全策略SecurityHTTP API接口、 RTMP测速。SRS在源站和CDN集群中都得到了广泛的应用Applications


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

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


2

搭建准备


  • 开源推流工具obs 


  • video.js 网页播放流媒体



3

直播流程框图


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

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


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


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



4

SRS Docker搭建步骤


  • 获取SRS 最新镜像

[root@master ~]# docker pull ossrs/srsUsing default tag: latestlatest: Pulling from ossrs/srsab5ef0e58194: Pull completeaf73acd32981: Pull complete692b57ace846: Pull completeDigest: sha256:752afb44f062cdea5adcb1119cf9c295494772d5705bb3400e3a63d15a7f0ba1Status: Downloaded newer image for ossrs/srs:latest
  • 运行镜像

[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

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

点击 http://1192.168.229.129:1985/console


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


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

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



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



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




5

obs采集视频流

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

  • 1.添加视频源


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

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

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


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

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

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

  • 推流设置

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

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

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


  • 开始推流

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


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

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


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


6

客户端拉取播放RTMP流


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


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

会看到以下界面:

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



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


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


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

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



7

结束语

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


END


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


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

 

 

 

关注二维码

获取更多精彩内容