SRT 协议初识
天气:晴天,气温 20°,体感舒适
如何设定目标?(smart)
Specific(明确)、Measurable(可衡量)、Achievable(可达成)、Relevant(相关)和 Time-bound(有时限)
想的太多了,别人都在思考如何赚钱,如何学习新技术。
我却还在思考我的目标是什么,如何制定计划。这就是差别和差距啊。
不要错过这样的时间点,因为时间对自己很宝贵,不要等到后面追悔莫及。
1.概念
SRT 是 Secure、Reliable、Transport 三个单词的缩写,分别代表了安全,可靠和传输。
安全是指它可以对传输内容进行加密。
可靠是指它能对抗有损网络中的丢包和抖动。
传输就是针对点对点的传输。
2.资料
SRT 的技术综述(89 页)、SRT 联盟推出的部署指南
https://github.com/haivision/srt
https://datatracker.ietf.org/doc/html/draft-sharabayko-mops-srt-00
https://www.haivision.com/products/srt-secure-reliable-transport/
3.定义:
实时音视频传输;
点对点的传输协议(单播而不是组播);
能够克服有损网络中的抖动和丢包;
专注于节目的制作和分发,而不是交付;
可设定固定延时;
4.工作原理:
首先,SRT 协议以 UDP 协议为基础,传统观念认为 UDP 协议不可靠,但实际它的效率很高,具备稳定、可重复并具有连续吞吐量的数据包投递机制。
第二,SRT 采用握手机制建立连接。这个握手机制非常高效,只需使用两个往返就可以完成握手、信息交互、参数交互。
第三,SRT 使用了改进后的 ARQ 自动重发请求技术,也逐步开始支持 FEC 前向纠错。
第四,封装协议中带有精准的时间戳。
最后 SRT 通过设定延时量,统一规定了发送端和接收端缓冲区的大小。实际上延时量也决定了缓冲区可以使用的大小。
5.ARQ 和 FEC 的对比
6.SRT 协议图
7.SRT 协议数据包(数据包、握手包、ACK 包、NACK 包)
8.使用 Wireshark 进行抓包分析排查握手失败问题
9.SRT 在 5G 中应用
9.1 链路安全冗余量 Secure-Margin(延时量、缓冲区状态图、发送端链路状态图、接收端链路状态图)
9.2 Lantency(SRT 链路丢弃的数据包和 RTT 乘数的关系、延时量总结)
9.3 带宽开销(5%-50%)计算公式:链路可用带宽=流比特率*(1+带宽开销)
9.4 MTU 最大传输单元
10.总结:
电视直播其实是要求低延时、高质量、高可靠的视音频传输。
SRT 通过 ARQ 纠错和基于时间戳的数据包传送(TSBPD),实现了点对点的实时视音频传送,并保证了低延时和高质量。
SRT 协议的数据包结构分析和应用,这一点也是非常重要的。
我们尝试提出 SRT 协议安全冗余量(Secure-Margin)的概念,可以依此判断一个 SRT 链路安全可靠的程度。
另外还需要学会调整延时量 Latency,保证安全冗余量的同时满足不同的直播场景对延迟的需求,不同直播场景有不同的设置策略,
当然在远程制作中 SRT 也有着丰富的应用前景。
版权声明: 本文为 InfoQ 作者【Changing Lin】的原创文章。
原文链接:【http://xie.infoq.cn/article/aca0cdb22415ac5fe55bc322c】。文章转载请联系作者。
评论