魔扣论坛

魔扣源码论坛业务
查看: 24|回复: 1

直播中,可能造成画面或声音延迟的因素有哪些?

[复制链接]
  • TA的每日心情
    慵懒
    昨天 17:32
  • 签到天数: 39 天

    [LV.5]经常留意

    38

    主题

    38

    帖子

    210

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    429
    贡献
    156
    威望
    0
    QQ
    发表于 2019-11-20 14:09:30 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】
    淘宝、天猫优惠券

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    在直播APP开发完成后,技术人员不仅要测试源码的完整性,设备的兼容性,还要顾及到网络对于直播的影响,因为网络不稳定是造成直播画面和声音延迟的最主要因素。事实上,在直播APP开发中,还有一些非网络因素也能造成延迟,今天,小编就和大家一起来全面总结下,所有造成网络延迟的情况。
    一、网络延时
    这里指的是从主播端采集,到观众端播放之间的时间差。就算不考虑主播端采集对视频进行编码的时间,以及观众端观看对视频机型解码的时间,那也会不可避免的造成延迟,原因就是信息从主播到观众的“路程”上,可能会经过很多CDN节点,经过一次,就会产生一次分发过程,而这种过程必然会造成延迟。另外,数据传输过程中还涉及到逻辑上的交互,例如包的重传以及确认,以及缓存上的一些逻辑等,会在这个基础上又增加很多很多。

    直播APP开发

    直播APP开发
    二、网络抖动
    网络抖动,是指数据包的到达顺序、间隔和发出时不一致。比如说,发送N+1个数据包,每个表间隔1s发出,结果在第N-50个包在传输过程中遇到网络拥塞,导致包N-50不是紧跟着N-51到达的,而是延迟到N后面才到达。这种情况就会造成不能依照接收顺序把内容播放出来,否则会造成失真。为了不产生失真现象,就不可避免了造成播放延迟。
    三、网络丢包
    直播中用到的RTMP、HLS等流媒体传输协议都是建立在TCP的基础之上。TCP一个很重要的特性是其可靠性—不会发生数据丢失的问题。为了保证可靠性,TCP在传输过程中会有3次握手:首先客户端会向服务端发送连接请求,服务端同意后,客户端会确认这次连接,这就是3次握手。接着,客户端就开始发送数据,每次发送一批数据,得到服务端的“收到”确认后,继续发送下一批。那么问题就来了,TCP为了保证传到,都会有自动重传机制。如果传输中发生了丢包,没有收到对端发出的“收到”信号,那么本端就会自动重传丢失的包,一直到超时。网络丢包是很难控制的因素,所以当网络的丢包率开始升高时,重传会导致延时不断增大。
    四、RTMP累积延迟
    虽然在流媒体传输协议中,RTMP用的无疑是最多的,但是它也有一个比较显著的弱点,即累积误差。原因也比较简单,就是RTMP基于TCP:当网络状态很差时,服务器会将包缓存起来,从而导致累积的延迟,当网络状况好了,就一起发给客户端,这样做的对策就是,造成客户端的缓冲区很大,从而发生延迟。
    五、GOP-Cache(图像群组造成的延迟)
    图像群组(Group of pictures),简称GOP。为了让大家更加直观的理解,直接放图:

    直播APP开发

    直播APP开发
    图片来源:https://www.processon.com/view/56ebb341e4b01c9aeb5f137f
    以上,就是直播中,可能造成延迟的主要原因,如果你对此有其它见解,欢迎在评论区给小编进行留言。
    文章主要内容来源自CSDN博客《直播技术学习笔记(直播协议+流媒体服务器+音视频处理+FFmpeg)》作者CrankZ,其中部分内容有改动。

    该用户从未签到

    0

    主题

    232

    帖子

    464

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    232
    贡献
    232
    威望
    0
    发表于 2019-11-20 14:10:37 来自手机 | 显示全部楼层
    支持楼主,用户楼主,楼主英明呀!!!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表