直播行业大火,大家可以在日常生活中接触到各类直播,例如游戏直播、乐秀、在线教育、发布会等等。无论哪种类型的直播,延时是直播过程中需要关注的一个重要的点。直播实现低延迟,是对大部分直播产品的要求,低延迟也是提升直播产品用户体验最有效的一个方法,特别是对于互动直播、在线教育这一类产品来说。今天简单跟大家介绍下直播如何实现低延迟。
直播延迟的由来
在了解如何降低延迟之前,就必须先了解下直播是延迟是如何而来的。
视频直播主要涉及到采集、预处理、编码、传输、服务器转码、解码这样的流程。而延迟可以理解为几个关键延迟成分的集合:处理延迟、传输延迟和传播延迟。处理延迟是指系统对数据包报头进行分析和确定数据包被发送到哪里去所要花费的时间。传输延迟是指将包中的数据位传入线路所需要的时间。根据数据包的大小和带宽的不同而有所变化。但并不取决于传输线路的距离,而传播延迟是指数据包的第一个比特位从发送端到达接收端的时间。通常也被称为距离的延迟,受数据传输距离和传播速度的影响。
如何实现低延迟。
选择一条最优的路径
要选择一条最优的路径,有很多方法。目前使用比较多的是网络测速,用户个人连接数据分析,和用户群体连接数据分析等几种方法来选择最优的网络路径。
网络测速
推流端在推流之前,向各个路径发送简单的数据包,然后根据数据包响应的时间来推测哪条路径最快。这个方法比较简单,有效然而有限:选出来的路径只是在该测试时间点最快的,而网络状况是随着时间变化的;另外,简单数据包测出来速度比较快,并不代表流媒体传输数据速度也比较快。因此,这个方法得到的结果只能作为一个指标来参考。
大数据分析
为了回避单个采样时间点测速导致的偏差,可以采