前 言:

因为工作需要,需要设备上推流,给到web端,于是就开始在研究流媒体服务器
选择了三种方案进行选择:

在这里插入图片描述
最终选择了SRS,作为我们的流媒体服务器、性能比较高、中国人自己的流媒体服务器、文档比较全,社区比较活跃。

SRS 说明:

SRS(simple Rtmp Server),是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT, 是国人自己开发的一款视频服务器,采用支持rtmp和hls协议,可以做成容器,让客户端把流推过来来,也可以结合ffmpeg自己主动拉流.
现在的 Release 是4.0,Release 的服务器架构如下:
在这里插入图片描述

SRS 服务器安装与试用

  1. 下载源码,推荐用CentOS7系统:
git clone -b 4.0release https://gitee.com/ossrs/srs.git

编译,注意需要切换到srs/trunk目录:

cd srs/trunk
./configure
make
  1. 启动服务器:
./objs/srs -c conf/srs.conf

检查SRS是否成功启动,可以打开 http://localhost:8080/ ,或者执行命令:

# 查看SRS的状态
./etc/init.d/srs status

# 或者看SRS的日志
tail -n 30 -f ./objs/srs.log
  1. 服务器测试
ffmpeg -re -i ./doc/source.flv -c copy -f flv -y rtmp://localhost/live/livestream

4 测试页面
在这里插入图片描述
SRS 流媒体服务器业务场景:

  1. 全平台直播,小荷才露尖尖角。只需要上图的Encoders(FFmpeg/OBS)推送RTMP到SRS;一台SRS Origin(不需要Cluster),转封装成HTTP-FLV流、转封装成HLS;Players根据平台的播放器可以选HTTP-FLV或HLS流播放。
  2. WebRTC通话业务,一对一通话,多人通话,会议室等。WebRTC是SRS4引入的关键和核心的能力,从1到3秒延迟,到100到300毫秒延迟,绝对不是数字的变化,而是本质的变化。
  3. 监控和广电上云,各行业风起云涌。除了使用FFmpeg主动拉取流到SRS,还可以广电行业SRT协议推流,或监控行业GB28181协议推流,SRS转换成互联网的协议观看。
    直播低延迟和互动,聚变近在咫尺。RTMP转WebRTC播放降低播放延迟,还能做直播连麦,或者使用WebRTC推流,未来还会支持WebTransport直播等等。
  4. 大规模业务,带你装逼带你飞。如果业务快速上涨,可以通过Edge Cluster支持海量Players,或者Origin Cluster支持海量Encoders,当然可以直接平滑迁移到视频云。未来还会支持RTC的级联和集群。

每个场景可能会用到一些通用的能力,比如:

  1. 一般都需要录制成FLV/MP4,将RTMP流转码,流截图。
  2. 也需要和现有业务系统集成,比如HTTP回调,或者通过HTTP API接口查询流和客户端的信息。
  3. 使用FFmpeg主动拉取流到SRS,或者Forward处理流后转给其他服务,或者推送RTSP/UDP/FLV到SRS。
  4. 安全方面,使用安全策略Security设置访问,或者用HTTP API接口踢流。
  5. 使用VHOST虚拟服务器 隔离不同的业务,用域名作为调度单元,应用不同的配置。

上述的这些都是最基本的一个操作,后续在使用过程中不断的更新,共同学习。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐