实时视频降低延迟的分析

通过下图,我们可以看到延迟是怎么来得。
实时视频降低延迟的分析_第1张图片
视频直播主要涉及到采集预处理编码传输服务器转码解码这样的流程。
而延迟可以理解为几个关键延迟成分的集合:处理延迟、传输延迟和传播延迟。
处理延迟是指系统对数据包报头进行分析和确定数据包被发送到哪里去所要花费的时间。
传输延迟是指将包中的数据位传入线路所需要的时间。根据数据包的大小和带宽的不同而有所变化。
但并不取决于传输线路的距离,而传播延迟是指数据包的第一个比特位从发送端到达接收端的时间。通常也被称为距离的延迟,受数据传输距离和传播速度的影响。
上述这些延迟是不可避免的,只能想办法使得延迟尽可能小。

首先必须提一下网络协议的选择,因为不同的网络协议对于延迟的影响比较大。平常最常见的协议有RTMP、HLS、HTTP-FLV。
RTMP协议是私有协议,能实时传输视频流,延迟在1到3秒。因为基于TCP传输,可能会被防火墙拦截。
HLS是苹果公司提出的基于HTTP协议的流媒体网络传输协议,原理是将视频流切割成一个个小的包,每次只下载一部分。客户端可以选择从不同的资源中以不同的速率下载同样的资源,允许流媒体会话自适应不同的数据速率。缺点是实时性差,延迟高。切片的大小和数量对存储和缓存都会造成影响。
FLV是一种在网络上传输的流媒体数据存储容器格式。而我们所说的 HTTP-FLV 即将流媒体数据封装成 FLV 格式,然后通过 HTTP 协议传输给客户端。HTTP-FLV 能够好的穿透防火墙,它是基于 HTTP/80 传输,有效避免被防火墙拦截。另外,它可以通过 HTTP 302 跳转灵活调度/负载均衡,支持使用 HTTPS 加密传输,也能够兼容支持 Android,iOS 的移动端。FLV 也有一个缺点,由于它的传输特性,会让流媒体资源缓存在本地客户端,在保密性方面不够好。

其次就是通过上面提到的处理延迟、传输延迟、传播延迟中想办法去解决。
采集设备的优化和编码速度的优化:编解码器的选择
发送和接收的优化:首屏秒开
传播过程的优化:智能调度、DNS解析、码率自适应调整

下面具体思路实现
指导思想:选择一条最优路径,在这条路径上做到最优,保持所有路径最优。

选择一条最优路径
要选择一条最优的路径,有很多方法。目前使用比较多的是网络测速用户个人连接数据分析,和用户群体连接数据分析等几种方法来选择最优的网络路径。

参考资料:https://zhuanlan.zhihu.com/p/30099402

你可能感兴趣的:(音视频技术,音视频)