关注直播系统开发的朋友都知道,直播APP开发中的流媒体传输一般流程是采集、前处理、压缩、推流、拉流、解码、播放,这当中每个阶段都是十分重要的,所以为了保证用户观看的及时性,这些流程需要高度协调统一,来减少在线直播的延迟,那么还有那些方面是延迟的影响因素呢?
一、拉流端的手机配置因素
开头提到为了压缩数据包大小,原始视频数据在视频预处理期间被压缩处理。这个过程就是直播APP开发对数据进行整理的过程,这个过程本身就需要一定的时间。而且视频的编解码过程会对手机的处理器性能增加压力,所以手机配置比较低的容易造成数据编解码效率慢,导致延迟的出现,但这个问题也很好解决,并且目前大家用的手机都性能过剩。
二、网络波动
网络波动也是常见的延迟因素之一,直播时的流畅度与网络息息相关,因此必须保证直播环境的网速够快,有很多主播都会选择用手机流量进行直播,避免用WiFi,因为WiFi并不是一个终端在用。那么如何看自己的网速是不是满足直播的最低需求呢?可以去下载一个测网速的软件,一般来说网速超过20M/S左右就能稳定直播,避免卡顿了。网络的波动会造成内容在直播APP开发中播放的延迟可以看作是直播延迟的外部因素,与系统本身的关系不大。
三、网络丢包
直播APP开发中使用的流媒体传输协议源代码包括HTTP等。传输过程一般是主机向服务器发送连接请求服务器同意主播端确认连接。主播端每次将数据发送到服务器后,需要得到服务器的反馈才能进行下一步。如果收到反馈就是发生了网络丢包,系统会再次传输丢失的包,这二者之间的操作时间就会造成直播的延迟。
基于上述三个主要因素,大家应该了解了直播APP开发中延迟的“罪魁祸首”主要存在哪里了吧,除了外部因素手机配置和网络波动的现象,我们可以优化网络丢包这一方面。
以上内容为作者“云豹短视频嘉兴” 原创,未经作者本人同意,禁止转载,否则将追究相关法律责任