直播丢包问题是流媒体中一直关注的重要问题,如何解决直播的丢包问题呢?先从直播流程入手:
一般直播流程大体上:采集→前处理→编码→推流→分发→拉流→解码→播放。
引起直播的丢包延迟的主要原因有两种:
1.网络波动
网络波动就是说在排序好的数据包中,有任何一包被延迟,就会导致它不按照正确的抵达顺序到达用户端,自然也无法按照接受顺序把内容播放出来,呈现在用户的接收屏上。网路波动会导致网络的内容播放的延迟和直播卡顿,但是这个原因只能算作是直播延时的外部因素,与本身的在线直播源码没有多大的关系。
2.网络丢包
在线直播源码使用的流媒体传输协议有:RTMP、HLS、HTTP FLV等,传输过程一般是:主播端向服务端发送连接请求→服务端同意→主播端确认连线。经过上述的三个过程,主播端才会持续的进行数据的分批发送,每发送完一批数据都需得到服务端的反馈才能进行下一步,若为接收到反馈就是出现了网络丢包的现象,系统会自动传输丢失的包,这就是丢包的自动重传机制,这样中间的间隔就会造成直播的延时。
优化方法:
(1).RTMP协议是作为直播流媒体传输协议的首选,因为它的延时相对较低,通常能够降低在5s之内,其次它能够被第三方内容分发网络普遍支持,拥有丢包重