SRT服务器2:sls(srt live server)

这篇具有很好参考价值的文章主要介绍了SRT服务器2:sls(srt live server)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        前面讲的SRS服务器由于实际测试SRT时,存在不稳的问题,所以切换到sls(srt live server)。实际测试比较稳定,而且代码结构简单,可以十分方便进行功能扩展和维护。

        目前互联网上的视频直播有两种,一种是基于RTMP协议的直播,这种直播方式上行推流使用RTMP协议,下行播放使用RTMP,HTTP+FLV或者HLS,直播延时一般大于3秒,广泛应用秀场、游戏、赛事和事件直播,满足了对交互要求不高的场景;另一种是WebRTC协议的直播,这种直播方式使用UDP的协议进行流媒体的分发,直播延时小于1秒,同时连接数一般小于10个,主要应用在视频通话、秀场连麦等应用场景。

        除了上述两种场景外,还有一种视频直播的场景,就是同时要求低延时和大并发的场景,比如赛事直播、股票信息同步、大班教育等。SRT可以很好地满足上述场景的要求。

SRT:Secure Reliable Transport (SRT) 是一个开源的传输协议架构,基于UDT(可靠UDP协议)实现,主要是优化在不可靠网络上的传输性能。


srt-live-server 源代码:
srt-live-server: 基于SLS的V1.4.9进行开发。1.对文档进行中文化;2.支持SRT的加密传输;https://gitee.com/smartavs_01/srt-live-server

1.介绍

  • SRT -live-server(SLS)是一个基于安全可靠传输(SRT)的低延迟的开源直播流服务器。通常情况下,运输的延迟在互联网SLS小于1秒
  • SLS只支持MPEG-TS格式的流。
  • SLS借鉴了RTMP的URL格式(domain/app/stream_name),例如:msos.push/live/test
  • 如何区分同一流是推流还是拉流?在conf文件中通过设置domain_player/domain_publisher和app_player/app_publisher参数来解析。重要的是,domain_publisher/app_publisher和domain_player/app_player的两个组合字符串在同一个服务器块中不能相等
  • SLS只能运行在基于linux的操作系统上,如mac、centos或ubuntu等。

2.依赖

        请先安装SRT,系统环境请参考SRT(https://github.com/Haivision/srt)。SLS只能运行在基于linux的操作系统上,如mac、centos或ubuntu等。

3.编译

$ sudo make

Bin文件在' Bin '的子目录下生成。

4.文档

关于配置文件,请参见wiki

5.使用说明

5.1.帮助信息

sls -h

5.2.指定配置文件运行

sls -c sls.conf

6.测试

6.1.使用ffmpeg进行测试

推流指令

./ffmpeg -f avfoundation -framerate 30 -i "0:0" -vcodec libx264  -preset ultrafast -tune zerolatency -flags2 local_header  -acodec libmp3lame -g  30 -pkt_size 1316 -flush_packets 0 -f mpegts "srt://[your.sls.ip]:8100?streamid=msos.push/live/test"

播放指令

./ffplay -fflags nobuffer -i "srt://[your.sls.ip]:8100?streamid=msos.pull/live/test"

注意:您可以通过FFMPEG推送直播流。编译FFMPEG源码时,需要启用SRT(--enable-libsrt)

6.2.使用srt-live-client进行测试

​ 在SLS中有一个测试工具,它可以用于性能测试。因为它没有编解码器的开销,主要是主网络开销。SLC可以将SRT流保存为TS文件,也可以将TS文件推送到SRT流。

TS文件作为输入,推送SRT流

./slc -r srt://[your.sls.ip]:8080?streamid=msos.push/live/test -i [TS文件]

SRT流作为输入,保存为TS文件

./slc -r srt://[your.sls.ip]:8080?streamid=msos.pull/live/test -o [TS文件]

7.发布信息

v1.2

  1. 更新内存模式。在v1.1中,发布者将数据复制到每个播放器,在v1.2中,每个发布者将数据放入数组,所有播放器从该数组读取数据。
  2. 更新发布者和播放器的关系。播放器不是发布者的成员。它们之间唯一的关系是数组数据。
  3. 添加推拉功能。支持所有和哈希模式的推,支持循环和哈希的拉。在集群模式下,您可以将流推送到散列节点,并从相同的散列节点拉取该流。
  4. 在pull和push的上游支持hostname:port/app

v1.3

  1. 支持重载。
  2. 为中继添加idle_streams_timeout特性。
  3. 将许可证类型从GPL更改为mit。

v1.4.x

  1. 增加HTTP统计信息。
  2. 增加HTTP事件通知,on_connect, on_close。
  3. 在slc(srt-live-client)工具中添加播放器功能,用于压力测试。
  4. 为slc (srt-live-client)工具增加发布功能,它可以根据DTS推送TS文件。
  5. 修改主机不可用时的HTTP bug。
  6. 将remote_ip和remote_port添加到on_event_url中,这可以作为播放器或发行商的唯一标识。
  7. 为了兼容MAC系统,TCP监听由epoll模式更改为select模式
  8. 修改HTTP检查重复错误以重新打开。
  9. 兼容OBS流,OBS支持srt协议,版本为v25.0以上。(https://obsproject.com/forum/threads/obs-studio-25-0-release-candidate.116067/)
  10. 增加 hls 录制功能.
  11. 将pid文件路径从“~/”更新为“/opt/soft/sls/”
  12. 将pid文件路径从“/opt/soft/sls/”更新为“/tmp/sls”,以避免在某些情况下使用根权限。
  13. 兼容SRT v1.4.1,在设置方法之前添加set latency方法
  14. 兼容raspberrypi.

01.05.01

  1. 对文档进行中文化;

  2. 支持SRT的加密传输;文章来源地址https://www.toymoban.com/news/detail-728397.html

01.05.02

  1. 为了保证程序长期运行,增加看门狗功能;

到了这里,关于SRT服务器2:sls(srt live server)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在vscode中安装使用live Server(前端搭建自己的本地服务器环境)

    一、在扩展中搜索live Server,找到并下载,下载完后点击设置图标,点击扩展设置  二、点击在settings.json中编辑,在JSON中修改添加下列代码 端口号可配,注意不要与其他服务冲突; AdvanceCustomBrowserCmdLine填写自己实际chrome的路径;  三、保存重启vscode,点击右下角的go live 就可

    2024年02月16日
    浏览(60)
  • Ubuntu 更换IP (服务器)以Ubuntu-live-server20.04为例

    1.切换root登录(默认登录root) 2.输入下面代码,摁Tab键,系统会自动识别并且查找哪一个网卡或者网口的配置文件 多半是(00或者01) 注意:Linux操作系统下 注意空格 3.看到配置文件之后,摁  i  进入编辑模式 ens33:代表网卡名称                                       

    2024年01月22日
    浏览(55)
  • 虚拟机VMware Workstation Pro安装配置使用服务器系统ubuntu-22.04.3-live-server-amd64.iso

    虚拟机里安装ubuntu-23.04-beta-desktop-amd64开启SSH(换源和备份)配置中文以及中文输入法等 获取Ubuntu服务器版 选择 Custom(advanced) : 选择 Workstation 17.x : 选择“ I will install the operating system later. ” 选择“ Linux ”: 命名 虚拟机 和 位置 : 处理器 配置: 虚拟机内存 配置: 网络类型

    2024年02月01日
    浏览(72)
  • AI Powered SLS 智能分析能力创新

    随着云计算技术不断升级,承载业务的 IT 基础设施规模扩大,各个应用之间的链路关系变得越来越复杂,每时每刻都在产生海量级的日志。对日志数据的采集、存储与分析处理方式,是衡量企业系统数字化程度的重要标志。传统的 IT 运维方案也会面临非常大的挑战,对于

    2024年02月03日
    浏览(34)
  • 限制 SLS告警通知时段的几种常见方法

    在对系统进行监控告警的过程中,有时候并非在任何时候都要接收告警通知,例如以下场景: 计划内变更触发的已知告警可以无需通知 非工作时间不接收不严重的告警 夜里不接收电话告警 等等 本文会介绍几种常见的限制告警通知时段的方法,以及它们各自所适用的场景。

    2024年02月02日
    浏览(41)
  • 一键式开启:IDaaS 日志接入 SLS日志审计发布

    应用身份服务 IDaaS (Identity as a Service)是阿里云原生身份管理系统,可以统一管理 各应用 中分散的账号,并集中分配 应用 访问控制权限,降低低效、重复的账号访问配置和运维工作。IDaaS 旗下的EIAM(Enterprise IAM)面向政企内部身份管理,其服务对象为企业员工、实习生、合作

    2023年04月26日
    浏览(43)
  • 使用 SPL 高效实现 Flink SLS Connector 下推

    作者:潘伟龙(豁朗) 日志服务 SLS 是云原生观测与分析平台,为 Log、Metric、Trace 等数据提供大规模、低成本、实时的平台化服务,基于日志服务的便捷的数据接入能力,可以将系统日志、业务日志等接入 SLS 进行存储、分析;阿里云 Flink 是阿里云基于 Apache Flink 构建的大数

    2024年03月19日
    浏览(34)
  • 阿里云logtail采集容器内日志到sls导致容器内存增加

    nginx容器接入logtail后,因为服务请求量较大导致日志量快速增加,很快就触发了内存告警,甚至触发容器伸缩 查看内存使用如图所示(单位:GB,统计参数:container_memory_working_set_bytes) 略去一大波nginx参数配置的苦逼历程... 最终排查后发现nginx使用内存并不多,而大部分内存是

    2024年02月16日
    浏览(29)
  • 优秀的你在哪里?《阿里云SLS团队2023校园招聘》

    有意者简历发送我哦 hongqi.lgs@alibaba-inc.com 关于我们 阿里云日志大数据团队,负责阿里集团百PB级日志基础设施及阿里云发展最快速的产品-SLS(日志服务)。 我们立志于打造面向未来的实时、智能、大规模观测分析平台,以此构建智能运维(AIOps)、大数据安全、业务监控和

    2023年04月09日
    浏览(74)
  • python srt字幕转lrc歌词文件

    当想要把电影或者视频的音频转成mp3在手机或者设备上听的时候,或者是用来练英语听力的时候,那么,就需要把相关的srt字幕文件,转换成lrc的歌词文件。 搜了很多网上的,都没有这个代码,只有lrc转srt的。 没办法,只好自己写一个。 首先看下srt字幕文件的格式,因为我

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包