对于希望在互联网IP化端到端低延时进行视频传输的人来说,可选择的传输协议非常有限,尤其是公网传输需要克服丢包、抖动等诸多障碍,目前互联网传输最常用的协议RTMP和SRT。
RTMP互联网传输
RTMP相对来说是一种比较成熟的流媒体协议,RTMP是 Adobe 的私有协议,是基于TCP的包重传机制和可调缓冲区的能力。RTMP在视频传输过程中,视频流包头中不包含时间戳,只包含实际视频流的时间戳,并且单个数据包不包含时间戳。因此RTMP接收端需要在规定的时间间隔内将每个接收到的数据包发送到解码器,为了消除各个包之间在传输时间上的差异,需要使用较大的缓冲区。因此RTMP在视频传输过程的延时也就会大点。目前市面上RTMP的延时在900ms左右。并且RTMP是依赖于中转平台,前端的视频源通过RTMP协议传输,需要中转平台来接收。也就是第三方平台。
SRT互联网传输
SRT是一种开源低延迟视频传输协议,SRT由Haivision开发的一种开源协议。SRT是基于UDT的传输协议,保留了UDT的核心思想和机制,并使用AES256加密。SRT在视频传输过程中,视频流每一个数据包都包含时间戳,这使得接收端可以重建信号特性并且显著降低缓冲区的需求,也就是说,SRT发送端的比特流和接收端的比特流是高度相似的,而SRT可以识别每个丢失的包,在发生丢包时只会重传丢失的包,从而能够降低延时。SRT是不需要中转平台,SRT可以实现点对点的传输,视频发送端和接收端之间不需中转平台,仅需任意一端具备固定公网IP地址即可,SRT延时测试端到端在500ms左右,最低可达300ms。SRT在任何地方都可以传输高达20Mbps码率的媒体流,当距离过远时,RTMP只能传输2Mbps码率的流。
对于远程视频传输来说,距离越远,对端到端延迟的影响就越大。而SRT速度是RTMP的两倍以上。在端到端延迟和最大传输码率方面,SRT的性能高于RTMP。如果您的项目应用如何通过互联网低延时传输,不妨试试SRT协议技术.