实时视频服务器 SRS 开源初探
前 言:
因为工作需要,需要设备上推流,给到web端,于是就开始在研究流媒体服务器
选择了三种方案进行选择:
最终选择了SRS,作为我们的流媒体服务器、性能比较高、中国人自己的流媒体服务器、文档比较全,社区比较活跃。
SRS 说明:
SRS(simple Rtmp Server),是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT, 是国人自己开发的一款视频服务器,采用支持rtmp和hls协议,可以做成容器,让客户端把流推过来来,也可以结合ffmpeg自己主动拉流.
现在的 Release 是4.0,Release 的服务器架构如下:
SRS 服务器安装与试用
- 下载源码,推荐用CentOS7系统:
git clone -b 4.0release https://gitee.com/ossrs/srs.git
编译,注意需要切换到srs/trunk目录:
cd srs/trunk
./configure
make
- 启动服务器:
./objs/srs -c conf/srs.conf
检查SRS是否成功启动,可以打开 http://localhost:8080/ ,或者执行命令:
# 查看SRS的状态
./etc/init.d/srs status# 或者看SRS的日志
tail -n 30 -f ./objs/srs.log
- 服务器测试
ffmpeg -re -i ./doc/source.flv -c copy -f flv -y rtmp://localhost/live/livestream
4 测试页面
SRS 流媒体服务器业务场景:
- 全平台直播,小荷才露尖尖角。只需要上图的Encoders(FFmpeg/OBS)推送RTMP到SRS;一台SRS Origin(不需要Cluster),转封装成HTTP-FLV流、转封装成HLS;Players根据平台的播放器可以选HTTP-FLV或HLS流播放。
- WebRTC通话业务,一对一通话,多人通话,会议室等。WebRTC是SRS4引入的关键和核心的能力,从1到3秒延迟,到100到300毫秒延迟,绝对不是数字的变化,而是本质的变化。
- 监控和广电上云,各行业风起云涌。除了使用FFmpeg主动拉取流到SRS,还可以广电行业SRT协议推流,或监控行业GB28181协议推流,SRS转换成互联网的协议观看。
直播低延迟和互动,聚变近在咫尺。RTMP转WebRTC播放降低播放延迟,还能做直播连麦,或者使用WebRTC推流,未来还会支持WebTransport直播等等。 - 大规模业务,带你装逼带你飞。如果业务快速上涨,可以通过Edge Cluster支持海量Players,或者Origin Cluster支持海量Encoders,当然可以直接平滑迁移到视频云。未来还会支持RTC的级联和集群。
每个场景可能会用到一些通用的能力,比如:
- 一般都需要录制成FLV/MP4,将RTMP流转码,流截图。
- 也需要和现有业务系统集成,比如HTTP回调,或者通过HTTP API接口查询流和客户端的信息。
- 使用FFmpeg主动拉取流到SRS,或者Forward处理流后转给其他服务,或者推送RTSP/UDP/FLV到SRS。
- 安全方面,使用安全策略Security设置访问,或者用HTTP API接口踢流。
- 使用VHOST虚拟服务器 隔离不同的业务,用域名作为调度单元,应用不同的配置。
上述的这些都是最基本的一个操作,后续在使用过程中不断的更新,共同学习。
实时视频服务器 SRS 开源初探相关推荐
- docker部署SRS实时视频服务器,rtmp推流,用WebRTC播放
SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181 大家可以先去gitub上面看使用说明,地址是:v4_CN_Home · ossrs/ ...
- SRS 简单高效的实时视频服务器
一. 简介 SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT. 你可以用它实现视频推流,并且支持http回调事件(HTTPCallback),还可以保 ...
- php流媒体技术srs,基于SRS开源直播系统设计与实现.doc
基于SRS开源直播系统设计与实现 基于SRS开源直播系统设计与实现 摘 要: 针对校内直播系统存在并发性能低下的问题,提出一种基于SRS开源软件的校内直播解决方案.首先在CentOS的环境下部署Ngi ...
- 医院软件管理系统怎样配置服务器,医院信息化建设服务器系统构建初探
医院信息化建设服务器系统构建初探 摘要:随着医院的发展和技术的更新,医院信息化建设需要建立新一代的医院信息管理 平台,医院信息管理平台包括硬件和软件,硬件平台就是要求建立起一个能负担起整个 医院长期的 ...
- 华为服务器操作系统筹备开源社区,华为服务器操作系统开源,增强业务性能
自2019年9月19日,华为在第四届全链接大会上宣传,华为服务器操作系统--欧拉操作系统将开源开始,就引起了社会各界的广泛关注.目前,开源名为OpenEuler的基础建设已经完成,服务器操作系统开源, ...
- 开源流媒体服务器SRS学习笔记(1) - 安装、推流、拉流
SRS(Simple RTMP Server) 是国人写的一款非常优秀的开源流媒体服务器软件,可用于直播/录播/视频客服等多种场景,其定位是运营级的互联网直播服务器集群. 1.安装 官网提供了3种安装 ...
- 开源流媒体服务器SRS环境搭建
一.环境搭建 1.1 C++环境 sudo apt-get update# 更新软件包 sudo apt-get install build-essential -y # 安装C++开发环境 sudo ...
- C/C++音视频高级开发-开源流媒体服务器SRS环境搭建
一.环境搭建 1.1 C++环境 sudo apt-get update# 更新软件包 sudo apt-get install build-essential -y # 安装C++开发环境 sudo ...
- HLS视频服务器SRS简介
原文出处: https://xugaoxiang.com/2019/12/06/hls-srs/ 软硬件环境 ubuntu 16.04 64bit srs 2.0release SRS简介 SRS,即 ...
- linux powerdns服务器搭建,开源DNS服务器 PowerDNS
PowerDNS 是一个跨平台的开源DNS服务组件,PowerDNS同时有Win32和Linux/Unix的版本. PowerDNS在Win32下使用 Access的mdb文件记录DNS信息,而在Li ...
最新文章
- 【青春须早为,岂能长少年】一个初入职场程序员的阶段总结
- python【力扣LeetCode算法题库】面试题13- 机器人的运动范围(BFS)
- CenOS7中使用Docker安装配置Redis(数据持久化与数据卷映射)
- python类的应用_Python · 元类(Meta Class)及其应用
- 创建自定义Tabs组件-01
- html5 canvas移动位置,HTML5 Canvas 移动
- [转载] plt.hist()和numpy.histogram()的学习
- Android用户界面开发:控件集合
- Win7开机动画不见了
- mysql索引失效的情况
- ps的cc版本安装包以及破解包
- 坚果云服务器地址,#网盘每日小技巧分享# 坚果云API是什么?
- java随机取名_中文名字随机生成器
- 360安全卫士企业版卸载
- loj6198 谢特
- cmake取消宏定义_CMake基本使用
- 号称最为简明实用的Django上手教程(下)
- 哪个网站的电子书最多?
- 搭建webdav文件共享服务器,使用Nginx搭建WebDav作为简易共享空间
- 微信小程序毕业设计 基于微信体育馆场地预约小程序系统开题报告
热门文章
- python中的round
- 短信API接口demo示例-C#/Message/Send
- 解决github下载及访问不稳定问题
- pytorch实现多种经典GAN
- windows快捷键之预览窗格
- 【汇编】从键盘输入16位有符号数x,y,z,w,编写程序实现:w=x+ y+24 - z,结果存放在w中, 并显示结果。
- python创建xlsx文件_教程1:创建一个简单的XLSX文件
- 弧微分参数方程下最详细推导
- Linux之Python代码打包工具Nuitka使用说明
- 谷歌浏览器启动页被篡改为hao.7654.com的解决办法