WebRTC中Fec实现「建议收藏」

WebRTC中Fec实现「建议收藏」FEC报文构建、FEC掩码构造和丢失数据包恢复ForwardErrorCorrection::EncodeFec()主要:如2.2.1中所介绍的,随机丢包和突发丢包下fec组包模式不同,所以webrtc准备了两张mask表kFecMaskRandom(随机丢包),kFecMaskBursty(突发丢包)去生成mask,调用internal::GeneratePacketMasks()去生成mask 根据mask和packet,调用GenerateFecPayloads()生成fec包

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

系列文章

WebRTC中Fec实现_fdsafwagdagadg6576的专栏-CSDN博客
https://blog.csdn.net/fdsafwagdagadg6576/article/details/122563450
https://blog.csdn.net/fdsafwagdagadg6576/article/details/122564286

虽然WebRTC中实现ULPFEC,但是使用的任然是均等保护,没用使用ULPFEC;另外,在WebRTC内部,保护RTP头部的FEC头部称之为Level 0,而保护RTP负载的的FEC Level部分称之为Level 1,这里和RFC5109中的定义略有不同,需要注意。

当前 RTT < kLowRttNackMs = 20ms, 使用 NACK, 此时FEC仅用于保护 关键帧.
当前 RTT > kHightRttNackMs 时仅使用 FEC, 关闭 NACK ( WebRTC 暂时未启用 )
当前 RTT > kLowRttNackMs =20ms, 混合使用 NACK 和 FEC.
当前每帧画面平均发送的BitRate 太低则会关闭 FEC, 此时不关心当前丢包率.
nack,fec混合;fec不出来的nack

FEC报文构建、FEC掩码构造和丢失数据包恢复

整体流程

WebRTC中Fec实现「建议收藏」

参考:ULPFEC在WebRTC中的实现 – 简书

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169617.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL自增主键详解「建议收藏」

    MySQL自增主键详解「建议收藏」一、自增值保存在哪儿?不同的引擎对于自增值的保存策略不同1.MyISAM引擎的自增值保存在数据文件中2.InnoDB引擎的自增值,在MySQL5.7及之前的版本,自增值保存在内存里,并没有持久化。每次重启后,第一次打开表的时候,都会去找自增值的最大值max(id),然后将max(id)+步长作为这个表当前的自增值selectmax(ai_col)fromtable_namefor…

    2022年6月7日
    89
  • Java8数组和List相互转换

    Java8数组和List相互转换使用Java1.8中的循环转换数组为List,代码: privateListarrayToList(T[]objects){ returnStream.of(objects).map(object->{ returnobject; }).collect(Collectors.toList()); }

    2022年8月23日
    7
  • 如何使用adb命令安装apk到电视上[通俗易懂]

    如何使用adb命令安装apk到电视上[通俗易懂]使用此命令之前,先确定你的电视已打开adb调试服务如何打开请参考:TCLMS平台电视如何实现adb连接从而安装第三方应用程序需要用到的软件Windows下,选择”开始”-&amp;gt;运行-&amp;gt;cmd,进入命令行模式;进入adb的目录,如adb在D盘adbtools文件夹中,则:d:cdadbtools如果嫌麻烦,可以在adb目录中右击|在此处直接打开命令窗口输…

    2022年5月15日
    181
  • c++中条件运算符_单目运算符有哪些

    c++中条件运算符_单目运算符有哪些条件运算符是C++中唯一一个三元运算符,要求有三个操作对象,条件表达式的一般形式为:表达式1?表达式2:表达式3条件运算符的执行顺序是,先求解表达式1,若为真则求解表达式2,此时表达式2的值作为整个条件表达式的值。若表达式1的值为假,则求解表达式3,表达式3的值为整个条件表达式的值。max=(a>b)?a:ba比b大时,关系表达式为真,条件表达式的值为a;b比a大时,关系表达式为假,条件

    2022年10月2日
    4
  • python生成器详解_自动生成python代码

    python生成器详解_自动生成python代码生成器利用迭代器,我们可以在每次迭代获取数据(通过next()方法)时按照特定的规律进行生成。但是我们在实现一个迭代器时,关于当前迭代到的状态需要我们自己记录,进而才能根据当前状态生成下一个数据。

    2022年7月31日
    56
  • linux查看java程序线程命令_linux查找字符串命令

    linux查看java程序线程命令_linux查找字符串命令在linux系统下可以通过命令查看进程,那么具体是那个命令呢?下面由学习啦小编为大家整理了linux查看进程的命令,希望对大家有帮助!一、linux查看进程的命令有ps、pstree、pgrep等1、ps显示进程信息,参数可省略-aux以BSD风格显示进程常用-efH以SystemV风格显示进程-e,-A显示所有进程a显示终端上所有用户的进程x显示无终端进程u显示详细信息f…

    2022年8月24日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号