专栏首页爱撸猫的杰SRS-开源流媒体服务器

SRS-开源流媒体服务器

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-调度,使得不同层级只负责一项任务。达到集群部署的效果,可横向和纵向扩展。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 美团支付平台产品规划

    爱撸猫的杰
  • merge和rebase的区别

    我从用git就一直用rebase,但是新的公司需要用merge命令,我不是很明白,所以查了一些资料,总结了下面的内容,如果有什么不妥的地方,还望指正,我一定虚心...

    爱撸猫的杰
  • SOFARPC源码解析-搭建环境

    简介摘要 SOFA 是蚂蚁金服自主研发的金融级分布式中间件,包含构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时...

    爱撸猫的杰
  • 深入了解layout_weight的用途

    导语 :当需要某个View自动占满剩余空间,或者多个View平分空间时,你会想到使用layout_weight,但如果想按比例使用空间, 你会怎么用呢,又有什么...

    MelonTeam
  • 康熙部首导致的字典查询异常

    可以看到,这两个字符串都是4个汉字,说明没有零宽字符。那么为什么他们不一样呢?那我们看一下每个文字的 Unicode 码:

    青南
  • 你真的会写项目代码注释么?

    如果你写代码不写注释,那并不是个好习惯,你可能会说,你的代码只会自己使用,而事实上,自己写的代码可能过段时间自己也会忘记当时要表达的含义。

    用户1564362
  • mysql:避免命令行使用password的安全警告:Warning: Using a password on the command line interface can be insecure.

    在命令行执行mysql的命令mysql -uroot -p${password} < file.sql,会导致下面的警告:

    用户1148648
  • 解决WordPress多说评论无法同步(个例)

    这个问题其实已经解决很久了,但是一直忘了来记录下,前几天还帮 MOREOPEN 解决了相同的问题,感觉虽然是个案,但可能还是有朋友会遇到类似的问题。所以,就简单...

    张戈
  • Mac 安装 mysqlclient

    希希里之海
  • flash werkzeug计算和验证密码(flask 68)

    from werkzeug.security import generate_password_hash, check_password_hash

    用户5760343

扫码关注云+社区

领取腾讯云代金券