srs

Easter79
• 阅读 976

SRS 简介

SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。SRS提供了丰富的接入方案将RTMP流接入SRS,

包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、流截图、

转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、转封装成HDS、录制成FLV。SRS包含支大规模集群如CDN业务的关键特性,譬如RTMP

多级集群、源站集群、VHOST虚拟服务器、无中断服务Reload、HTTP-FLV集群、Kafka对接。此外,SRS还提供丰富的应用接口,包括HTTP回调、

安全策略Security、HTTP API接口、RTMP测速。SRS在源站和CDN集群中都得到了广泛的应用Applications。 官方说明

SRS特点

1、简单,足够稳定。

2、高性能,高并发,SRS是单线程、事件/st-线程驱动。最大可支持6k客户端。官网性能介绍: 性能测试

3、可以作为rtmp源服务器,也可作为节点对接CND,从其他rtmp服务器上推/拉流。

4、支持Vhost 及defaultVhost配置。

5、核心功能是分发RTMP,主要定位就是分发RTMP低延时流媒体,同时支持分发HLS流。

6、服务Reload 机制,即在不中断服务时应用配置的修改。达到不中断服务调整码率,添加或调整频道。

7、cache 一个GOP ,达到播放器能快速播放的效果。(gop_cache配置项)

8、可监听多个端口,支持长时间推拉流。

9、forward配置项,可在服务器间转发流。

10、支持转码,可以对推送到SRS的RTMP流进行转码,然后输出到其他RTMP服务器。可对指定的流配置是否转码。内置了FFMPEG.同时会提供FFMPEG的部分功能:输出纯音频、加文字水印、剪切视频、添加图片LOGO等。

11、支持http回调,提供了客户端连接接口、关闭连接接口、流发布、流停止、流播放、停止播放等接口,方便再封装的应用跟踪流信息。内置也有一个http服务器,可直接调用api接口。

12、内置流带宽测试工具、完善的日志跟踪规则。

13、脚本管理,提供init.d系统脚本,也可通过调用api 控制服务状态。

14、采集端支持:设备、本地文件,RTSP摄像头、rtmp等。官方意思是,能拉任意的流,只要FFMPEG支持,不是h264/aac都没有关系,FFMPEG能转码。SRS的接入方式可以是“推流到SRS”和“SRS主动拉流”。

15、支持将RTMP流录制成flv文件。FLV文件的命名规则是随机生成流名称,上层应用可通过http-callback 管理流信息。

16、SRS日志很完善,支持打印到console和file,支持设置level,支持连接级别的日志,支持可追溯日志。

SRS部署

SRS是国产优秀流媒体服务器,在Github上开源, 可在 Linux 机器各主流系统上部署。操作简单。

操作及配置清晰,文档齐全,在此只附上部署Demo : SRS_SampleDemo

XX云平台使用SRS案例

1、XX云平台PGC直播管理

通过SRS 的http_callback ,XX云的直播模块,完成对流信息的管理。

主要功能:创建频道、编辑频道、跟踪频道信息、转码模板、时移、录制、直播加密。

2、SRS集群

SRS集群 : 基于SRS多节点、多层级部署, 通过srs-调度,使得不同层级只负责一项任务。达到集群部署的效果,可横向和纵向扩展。

srs

3、基于SRS集群的UGC直播管理

srs

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
2年前
srs部署到ubuntu 18.04 server
srs.txtubuntu18.04安装srs1.上传srs_40.7z和h2ws.7z到linux服务器,然后远程ssh连接(假设登陆用户名是bob,linux服务器ip是192.168.0.50)$scp.7zbob@192.168.0.50:~$sshbob@192.16
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
FFmpeg RTSP流通过UDP传输问题
我自己在使用SRS服务的Ingest功能时发现在读取一个网络摄像头的RTSP流时一直不成功,具体分析后发现SRS在调用FFmpeg时出了问题:/usr/local/ffmpeg/bin/ffmpegirtsp://admin:admin123@192.168.50.187:554/profile1vcodeccopyacode
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k