• 第50月第12天 LiveVideoStack


    1.

    QoS策略的主要任务是对抗影响数据传输的网络变量,比如时延,抖动,丢包,带宽等。我们简单介绍下QoS的常规武器

    ARQ:自动重传请求,是数据链路层的错误纠正协议之一,WebRTC中用到是协议中的NACK机制,即接收端监测到数据包SeqN丢失后,发送对该数据包的重传请求,由发送端执行重传。

    FEC:前向纠错,是增加数据通讯可靠度的方法,利用原始数据编码进行冗余信息的传输,当传输中出现丢包,允许接收端根据冗余信息重建。WebRTC利用UlpFEC进行数据保护,冗余系数由链路上的丢包率决定。

    Jitter Buffer:抖动缓冲,通过在接收端维护一个数据缓冲区,可以对抗一定程度的网络抖动,丢包和乱序,需要考虑的是接收延时和卡顿之间的平衡。

    Congestion Control:拥塞控制, WebRTC利用GCC算法来控制传输,通过兼顾丢包和时延的算法来估计网络可用带宽,并以此估算值来控制源端发送码率,避免网络拥堵。

    在典型的SFU传输链路中,媒体流(RTP数据包)由Sender发送到Receiver,媒体控制流(RTCP包)由Receiver反馈给Sender。控制流中包括了NACK, PLI, REMB, Receiver Report等反馈信息。这些反馈信息是配合QoS策略的辅助手段。

    有了这些QoS策略的加持,WebRTC的视频通话能够对抗一定程度的网络状况,正常情况下的通话质量可以保障。但是,这种默认的策略也存在明显的改进空间,比如:




    https://www.jianshu.com/u/c58912608b1d

    https://www.jianshu.com/p/ce7c0372a534

  • 相关阅读:
    join命令
    参与者模式
    字符串中的第一个唯一字符
    Git与SVN对比
    惰性模式
    .NET Conf 2020
    使用Github部署Azure应用服务
    Azure Terraform(一)入门简介
    打日志还能打出个线上Bug_ 太难了。。。
    让API并行调用变得如丝般顺滑的绝招
  • 原文地址:https://www.cnblogs.com/javastart/p/13966413.html
Copyright © 2020-2023  润新知