前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用SRS Docker搭建自己的直播平台

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

作者头像
酒馆丁老师
发布2020-09-08 14:49:51
10.8K0
发布2020-09-08 14:49:51
举报

直播平台自建,大多选择开源的项目,比如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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 丁老师的技术随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档