前 言:

因为工作需要,需要设备上推流,给到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虚拟服务器 隔离不同的业务,用域名作为调度单元,应用不同的配置。

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

实时视频服务器 SRS 开源初探相关推荐

  1. docker部署SRS实时视频服务器,rtmp推流,用WebRTC播放

    SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181 大家可以先去gitub上面看使用说明,地址是:v4_CN_Home · ossrs/ ...

  2. SRS 简单高效的实时视频服务器

    一. 简介 SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT. 你可以用它实现视频推流,并且支持http回调事件(HTTPCallback),还可以保 ...

  3. php流媒体技术srs,基于SRS开源直播系统设计与实现.doc

    基于SRS开源直播系统设计与实现 基于SRS开源直播系统设计与实现 摘 要: 针对校内直播系统存在并发性能低下的问题,提出一种基于SRS开源软件的校内直播解决方案.首先在CentOS的环境下部署Ngi ...

  4. 医院软件管理系统怎样配置服务器,医院信息化建设服务器系统构建初探

    医院信息化建设服务器系统构建初探 摘要:随着医院的发展和技术的更新,医院信息化建设需要建立新一代的医院信息管理 平台,医院信息管理平台包括硬件和软件,硬件平台就是要求建立起一个能负担起整个 医院长期的 ...

  5. 华为服务器操作系统筹备开源社区,华为服务器操作系统开源,增强业务性能

    自2019年9月19日,华为在第四届全链接大会上宣传,华为服务器操作系统--欧拉操作系统将开源开始,就引起了社会各界的广泛关注.目前,开源名为OpenEuler的基础建设已经完成,服务器操作系统开源, ...

  6. 开源流媒体服务器SRS学习笔记(1) - 安装、推流、拉流

    SRS(Simple RTMP Server) 是国人写的一款非常优秀的开源流媒体服务器软件,可用于直播/录播/视频客服等多种场景,其定位是运营级的互联网直播服务器集群. 1.安装 官网提供了3种安装 ...

  7. 开源流媒体服务器SRS环境搭建

    一.环境搭建 1.1 C++环境 sudo apt-get update# 更新软件包 sudo apt-get install build-essential -y # 安装C++开发环境 sudo ...

  8. C/C++音视频高级开发-开源流媒体服务器SRS环境搭建

    一.环境搭建 1.1 C++环境 sudo apt-get update# 更新软件包 sudo apt-get install build-essential -y # 安装C++开发环境 sudo ...

  9. HLS视频服务器SRS简介

    原文出处: https://xugaoxiang.com/2019/12/06/hls-srs/ 软硬件环境 ubuntu 16.04 64bit srs 2.0release SRS简介 SRS,即 ...

  10. linux powerdns服务器搭建,开源DNS服务器 PowerDNS

    PowerDNS 是一个跨平台的开源DNS服务组件,PowerDNS同时有Win32和Linux/Unix的版本. PowerDNS在Win32下使用 Access的mdb文件记录DNS信息,而在Li ...

最新文章

  1. 【青春须早为,岂能长少年】一个初入职场程序员的阶段总结
  2. python【力扣LeetCode算法题库】面试题13- 机器人的运动范围(BFS)
  3. CenOS7中使用Docker安装配置Redis(数据持久化与数据卷映射)
  4. python类的应用_Python · 元类(Meta Class)及其应用
  5. 创建自定义Tabs组件-01
  6. html5 canvas移动位置,HTML5 Canvas 移动
  7. [转载] plt.hist()和numpy.histogram()的学习
  8. Android用户界面开发:控件集合
  9. Win7开机动画不见了
  10. mysql索引失效的情况
  11. ps的cc版本安装包以及破解包
  12. 坚果云服务器地址,#网盘每日小技巧分享# 坚果云API是什么?
  13. java随机取名_中文名字随机生成器
  14. 360安全卫士企业版卸载
  15. loj6198 谢特
  16. cmake取消宏定义_CMake基本使用
  17. 号称最为简明实用的Django上手教程(下)
  18. 哪个网站的电子书最多?
  19. 搭建webdav文件共享服务器,使用Nginx搭建WebDav作为简易共享空间
  20. 微信小程序毕业设计 基于微信体育馆场地预约小程序系统开题报告

热门文章

  1. python中的round
  2. 短信API接口demo示例-C#/Message/Send
  3. 解决github下载及访问不稳定问题
  4. pytorch实现多种经典GAN
  5. windows快捷键之预览窗格
  6. 【汇编】从键盘输入16位有符号数x,y,z,w,编写程序实现:w=x+ y+24 - z,结果存放在w中, 并显示结果。
  7. python创建xlsx文件_教程1:创建一个简单的XLSX文件
  8. 弧微分参数方程下最详细推导
  9. Linux之Python代码打包工具Nuitka使用说明
  10. 谷歌浏览器启动页被篡改为hao.7654.com的解决办法