|SRT协议在电视直播中的应用( 二 )
本文插图
SRT是一个开源协议 , 它在github有一个非常活跃的社区 。 从2017年到2020年的Issues和Pull Requests的数据可以看出这个社区有多活跃 。
本文插图
我们大概从2018年开始接触SRT , 也经过了很长时间的学习 , 有一些觉得不错的学习资料想和大家分享一下 。
图左是SRT的技术综述(89页) , 它更像一个规范 , 这是学习SRT的朋友都绕不过去的一本书 。 第二本图书是SRT联盟推出的部署指南 , 这本书更针对实际使用者 , 告诉我们怎么应用SRT , 怎么部署 , 怎么穿越防火墙 , 怎么调整 , 出错了怎么办等等 , 这也是一本大概四五十页 , 内容非常详细的指南 。 当然咱们可以通过github去学习 。 SRT在今年三月份提交了一个RFC的草案 , 第二个网址是草案的全部内容 , 内容是对最新版SRT非常详尽的概述 , 此外Haivison和SRT联盟官网也有非常多的资料和白皮书可供下载 。 当然 , 学习SRT最主要的是实践 , 无论是从应用还是开发的角度 , 实践都是最好的学习方式 。
本文插图
我们尝试总结一下SRT到底是一个什么样的协议 。
当然SRT在不断的发展 , 它的野心也是很大的 , SRT现在开发了许多新功能 , 包括传输大文件、小的对话数据等等 。 但是SRT的“传统优势领域“还是实时的视音频传输 , SRT本质上是一个点对点的传输协议(单播而不是组播) 。 SRT的亮点在于能够克服有损网络中的抖动和丢包 。 SRT目前还是专注于节目的制作和分发 , 而不是交付 。 最后两个也是SRT独有的特点 , SRT拥有一个强制的延时量 , 并且这个延时量是固定不变的 , 但是这个延时在网络搭建之前可以由用户进行调整 , 另外SRT可以对内容进行加密 。
本文插图
SRT是如何实现这些功能的呢:
- 首先 , SRT协议以UDP协议为基础 , 传统观念认为UDP协议不可靠 , 但实际它的效率很高 , 具备稳定、可重复并具有连续吞吐量的数据包投递机制 。
- 第二 , SRT采用握手机制建立连接 。 这个握手机制非常高效 , 只需使用两个往返就可以完成握手、信息交互、参数交互 。
- 第三 , SRT使用了改进后的ARQ自动重发请求技术 , 也逐步开始支持FEC前向纠错 。
- 第四 , 封装协议中带有精准的时间戳 。
- 最后SRT通过设定延时量 , 统一规定了发送端和接收端缓冲区的大小 。 实际上延时量也决定了缓冲区可以使用的大小 。
2.2 UDP协议
本文插图
在有损网络中不用SRT协议 , 使用裸露的UDP协议行不行呢?这是一个编码后的TS流信号(VBR) , 固定帧间隔40毫秒 , 经过了有损网络传输之后 , 码流特性改变 , 帧间隔也变得不固定 。 实际上 , 这样的信号是几乎无法解码出来的 。
2.3 SRT协议
本文插图
上图是SRT协议的效果图 , 可以看到SRT在解码端重新恢复了原有的码率特性和帧间隔 。 如图所示 , SRT有一个发送端缓冲区、接收端缓冲区 , 在发送信号的同时会有一些控制信息或者说反馈信息来实现ARQ纠错 , 并且SRT包头中有精确的时间戳 。
另外在发送端接收端之间有一个强制的固定延时量 。 这个延时实际上是在接收端缓冲区产生的 , 所有数据放到接收端缓冲区 , 必须要等待一个延时量才会被送给解码器 , 这是SRT的一个重要的特点 。
推荐阅读
- 行业互联网|大华股份与大连量天科技签署战略合作协议
- 中年|宿迁深圳招商再结硕果,签约项目19个,协议总投资158亿元
- 互联网|重磅!广东光大与华为签署战略合作协议
- 行业互联网|西商联合会与三彩家有限公司签约战略合作协议
- 行业互联网,工业互联网|中国联通与青岛四大机构签署工业互联网战略合作协议
- |胖协议概念四年后,学院派公链兴起
- 融资并购|宁波三生签订战略投资协议,投资金额近2亿
- 物联网|广大通与机智云正式签署SD-WAN物联网边缘计算网关战略合作框架协议
- Triller|TikTok对手Triller与印度企业签订协议 在当地推广
- 行业互联网,阿里巴巴|中国银行 、阿里巴巴和蚂蚁集团正式签订全面深化战略合作协议
