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

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

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

SRT源代码:https://github.com/Haivision/srt

SRT提供了简单的使用Demo,可以方便使用者进行简单的测试和延时验证。

如果要使用SRT进行大规模并发直播,可以参考 srt-live-serve,这是基于SRT协议的直播服务器处理架构。

srt-live-server 源代码:https://github.com/Edward-Wu/srt-live-server

ReadMe:

srt-live-server

srt live server based on srt(Secure, Reliable, Transport)

Introduction

srt-live-server(SLS) is an open source live streaming server for low latency based on Secure Reliable Tranport(SRT). Normally, the latency of transport by SLS is less than 1 second in internet.

Requirements

please install the SRT first, refer to SRT(https://github.com/Haivision/srt) for system enviroment. SLS can only run on OS based on linux, such as mac, centos or ubuntu etc.

Complie

$ sudo make bin file is generated in subdir of 'bin'.

Usage

$ cd bin

1.help information $ ./sls -h

2.run with default config file $ ./sls -c ../sls.conf

Test

SLS only supports the MPEG-TS format streaming. you can push camera live stream by FFMPEG.Please download ffmpeg sourcecode from https://github.com/FFmpeg/FFmpeg, then compile FFMPEG with --enable-libsrt.

1.use ffmpeg to push camera stream with SRT(on my mac):

$ ./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]:8080?streamid=uplive.sls.com/uplive/test"

2.play the SRT stream with ffplay:

./ffplay -fflag nobuffer -i "srt://[your.sls.ip]:8080?streamid=live.sls.com/live/test"

Note:

1.SLS refer to the RTMP url format(domain/app/stream_name), example: www.sls.com/live/test. The url of SLS must be set in streamid parameter of SRT, which will be the unique identification a stream. 2.How to distinguish the publisher and player of the same stream? In conf file, you can set parameters of domain_player/domain_publisher and app_player/app_publisher to resolve it. Importantly, the two combination strings of domain_publisher/app_publisher and domain_player/app_player must not be equal in the same server block.

srt-live-server:一款基于SRT的毫秒级低延时直播服务器相关推荐

  1. 转载博客:srt-live-server:一款基于SRT的毫秒级低延时直播服务器

    感谢武总:https://blog.csdn.net/wutong_login/article/details/90257697 目前互联网上的视频直播有两种,一种是基于RTMP协议的直播,这种直播方 ...

  2. 基于Open WebRTC Toolkit(OWT)的8K全景视频低延时直播系统

    photo from Ready Player One 随着5G技术的发展,其高带宽.超低延时的特性为高分辨率全景视频的实现带来了更多的可能.本文来自Open WebRTC Toolkit (OWT) ...

  3. 基于OBS如何实现毫秒级超低延时直播

    原创教程 / 2021-11-16 / 文章字数2300 文章简述:本文介绍使用OBS无延迟直播插件在第三方云平台,如何实现超低延时直播的完整教程(延迟约为400毫秒,通常延迟是3-15秒). OBS ...

  4. 基于 RTS 超低延时直播优化强互动场景体验

    RTS 在阿里云视频直播的基础上进行底层技术优化,通过集成阿里云播放器 SDK,支持在千万级并发场景下节点间毫秒级延时直播的能力,弥补了传统直播存在 3~6 秒延时的问题,确保了超低延时.低卡顿.秒开 ...

  5. [SRS+docker]实现直播服务器 3 基于webRTC协议的srs低延迟直播研究

    目录 前言 低延迟研究 设备兼容性 webRtc调试 播放器 体系结构 结论 问题 rtc_player.html点击播放报错 局域网RTC黑屏 附件 前言 上一篇我们通过单机版的srs服务器,验证了 ...

  6. 一款基于Uniapp开发的开源低代码平台

    rtvue-lowcode 简介 rtvue-lowcode是一款基于uni-app框架和uview组件库开发的app可视化拖拽项目,适用于企业.个人等基于uni-app技术栈开发的项目.适合各种小程 ...

  7. 基于Transformer的高效、低延时、流式语音识别模型

    从场景上,语音识别可以分为流式语音识别和非流式语音识别.非流式语音识别(离线识别)是指模型在用户说完一句话或一段话之后再进行识别,而流式语音识别则是指模型在用户还在说话的时候便同步进行语音识别.流式语 ...

  8. EOSC孤矢:公链需要基于DPoS共识的高性能低延时计算 | 链茶访

    本文转自 链茶访 EOS公链所采用的DPoS共识机制,可以支撑公链进行高性能低延时的计算,而DPoS机制本身却不够去中心化.EOSC作为EOS主网上首条分叉链,对EOSIO的选举机制进行了优化,在创世 ...

  9. dperf: 一款基于DPDK的千万级HTTP CPS的开源网络压力测试仪

    dperf是一款开源的四层负载均衡压力测试仪.它使用了DPDK与用户态TCP协议栈技术,用一台x86服务器就可以制造巨大流量:数10亿并发连接,百Gbps吞吐,千万级HTTP CPS,其性能远远超过商 ...

最新文章

  1. C语言:内存的分配与管理
  2. js(Dom+Bom)第五天(2)
  3. ios gb2312转utf-8
  4. js中使用camel框架_使用Fabric8在Kubernetes中使用Camel和CDI
  5. android与web服务器建立连接失败,Android websocket连接失败
  6. 【图像处理】RGB图像边缘检测
  7. 阵列卡不能格式化磁盘问题所在
  8. kettle官方使用文档地址
  9. 《计算机科学导论》学习笔记
  10. ASBR上配置外部OSPF路由汇总
  11. 使用vue中的transition标签实现点击缓慢展开,再点缓慢关闭
  12. 对基层技术管理者的一些建议
  13. 主题 12:实践案例集锦之设计理念
  14. Pytorch混合精度训练
  15. 3种侧链压缩方法让音乐鼓点更有力—FL Studio教程
  16. 2023武汉集训总结
  17. office(如:Word、Excel、PPT 等)文件轻松实现在线预览
  18. Spark Streaming + ES构建美团App异常监控平台
  19. Java中常见程序:万年历,进制转换等
  20. struts部分站点

热门文章

  1. 彻底搞清楚外贸流程,看这一篇就够了
  2. MSP430F5xx / F6xx系列 DCO频率范围选择方法
  3. MATLAB画正方体
  4. Autocall外呼系统
  5. 分段线性变换函数——比特平面分层
  6. C++实现快速傅里叶变换
  7. 力科示波器上位机软件NS-Scope功能介绍
  8. 手机PDF文件怎么转为电子书
  9. TT盒子种子搜索神器
  10. 虚拟主播神器Facerig