1.简介
安全可靠传输协议(Secure Reliable Transport)简称SRT,是一种基于UDT协议的开源互联网传输协议,Haivision和Wowza合作成立SRT联盟,管理和支持SRT协议开源应用的组织,这个组织致力于促进视频流解决方案的互通性,以及推动视频产业先驱协作前进,实现低延时网络视频传输。
SRT是时下非常受欢迎的开源低延迟视频传输协议,SRT解决了复杂的传输时序问题,SRT可以减少延迟,消除中心瓶颈,并降低网络成本。
SRT(Secure Reliable Transport,安全可靠传输)是一种用于超低(亚秒)延迟的实时音视频流及通用批量数据传输的传输协议。SRT解决了复杂的传输时序问题,可以做到支持高吞吐量文件和超清视频的实时传输。
SRT是一种开源技术,其代码
srt: 同步的SRT库,如有涉及侵权请联系我,进行删除https://gitee.com/smartavs/srt
2.特性
2.1.质量和高靠性
无论您的网络多么不可靠,SRT都可以从严重的数据包丢失和抖动中恢复,确保视频流的完整性和质量。
2.2.低延迟
为了适应用户的各种部署环境,因此SRT的流错误纠正策略是可配置的。由于SRT建立在UDP协议之上,解决了TCP协议传输延迟高的问题。
2.3.内容不敏感
SRT在网络传输层运行,它可以传输任何类型的视频格式、编解码器、分辨率或帧速率。
2.4.使用交会模式轻松穿越防火墙
SRT使用的握手过程支持出站连接,也就是只需要直到双方的公网IP地址,无需在防火墙中打开端口映射。
另外,使用直接从源到目的地的连接,SRT可以减少延迟,消除中心瓶颈,并降低网络成本。
原理:双方发送源和目的端口完全一致,达到欺骗防火墙通过的目的,从而建立连接。存在如果在网络传输过程中端口被转换,无法连接的问题。
2.5.AES加密
SRT使用世界各地政府和组织信任的128/192/256位AES加密,确保有价值的内容得到端到端的保护,不会被分发。
2.6.前向纠错(FEC)和包过滤器API
包过滤器AP允许在发送网络数据包之前,在发送方对其进行自定义处理,并允许在从网络接收到网络数据包之后在接收方对其进行定制处理。
用户可以以任何方式操作生成的数据包过滤器数据,例如用于自定义加密、数据包检查或在数据发送之前访问数据。
创建的第一个插件是前向纠错(FEC),在某些使用情况下,它可以提供比自动重复请求(ARQ)稍低的延迟。此插件允许三种不同的模式:
仅ARQ 重传丢失的数据包
仅FEC 提供接收机侧FEC恢复所需的开销
FEC和ARQ 重新传输FEC无法恢复的丢失数据包
2.7.无缝连接
与管理网络SMPTE-2022-7类似,连接键合为SRT协议添加了无缝流保护和故障切换。该技术依赖于多个IP网络路径,以防止网络拥塞或中断导致实时视频流的故障中断,从而保持服务的连续性。
该功能通过使用SRT v1.5中引入的套接字组来实现的。套接字组包含多个套接字,当正在使用的套接字发送一个故障信号后,组内其他套接字将接管它的操作。
目前支持两种模式:
广播模式--在广播模式下,数据通过组中的所有成员链接冗余发送。如果其中一条链路出现故障或经历网络抖动和/或数据包丢失,则将通过组中的另一条链路接收丢失的数据。冗余分组在接收机侧被简单地丢弃。
主/备模式--在主/备份模式下,一次仅使用一条(主)链路进行数据传输,而其他(备份)连接处于备用状态,以确保主链路出现故障时传输将继续。主/备份模式的目标是在可能的链路中断发生之前识别它,从而提供一个时间窗口,在该时间窗口内无缝切换到其中一个备份链路。
2.8.访问控制(流ID)
当需要向单个IP地址和UDP端口推送/拉取多个SRT流,使用流ID来区分本次推流/拉取的行为。
3.与常见传输格式比较
目前互联网上的视频直播有两种:
一种是基于RTMP协议的直播,这种直播方式上行推流使用RTMP协议,下行播放使用RTMP,HTTP+FLV或者HLS,直播延时一般大于3秒,广泛应用秀场、游戏、赛事和事件直播,满足了对交互要求不高的场景;
另一种是WebRTC协议的直播,这种直播方式使用UDP的协议进行流媒体的分发,直播延时小于1秒,同时连接数一般小于10个,主要应用在视频通话、秀场连麦等应用场景。
除了上述两种场景外,还有一种视频直播的场景,就是同时要求低延时和大并发的场景,比如赛事直播、股票信息同步、大班教育等。SRT可以很好地满足上述场景的要求。
SRT与目前市场上的大多数其他视频流传输格式(如RTMP、HLS和MPEG-DASH)。相比有几个特点:
- SRT是一个开源解决方案,已经集成到多个平台和体系结构中,包括基于硬件的可移植解决方案和基于软件的云解决方案。
- SRT可以在几毫秒到几秒的延时之间的连接上很好地工作。能处理长时间的网络延迟。
- SRT与负载无关。任何类型的视频或音频媒体,或者实际上任何可以使用UDP发送的其他数据元素,都与SRT兼容。支持多种流类型。
- SRT发送支持多个并发流,多个不同的媒体流例如多个摄像机角度或可选音频轨道,可以通过在一个点对点链接上共享相同UDP端口和地址的并行SRT流发送。
- SRT使用的握手过程支持出站连接,而不需要在防火墙中打开危险的永久外部端口,从而维护公司安全策略。增强防火墙遍历。
- SRT端点建立了稳定的端到端延迟概要,消除了下游设备需要有自己的缓冲区来应对不断变化的信号延迟。信号时间准确。