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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win7命令行进入目录

    win7命令行进入目录1:经常会用到win7的命令行进入不同的目录

    2022年10月16日
    0
  • OleDbCommand 的用法

    OleDbCommand 的用法OleDbConnectioncon=newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;datasource=data.mdb

    2022年7月4日
    23
  • anconda pycharm_conda pytorch

    anconda pycharm_conda pytorchConda+Pycharm使用教程(Windows)如果你要决定用conda管理Python版本及包那么你有两个选择,安装Anaconda或者Miniconda,下面简单说明区别:Anaconda,包含了Python,Conda,以及一大堆实用的包(这里实用相对而言,numpy,pandas这类科学计算的包可能你并用不上)Miniconda,只是Python,Conda这里推荐使用Miniconda,就我个人而言,喜欢简单,值得一说的是如果你决定安装Miniconda或者Anacond

    2022年8月27日
    0
  • h2数据库如何连接_怎样远程连接数据库

    h2数据库如何连接_怎样远程连接数据库H2数据库支持如下3种连接模式: 内嵌模式(通过JDBC进行本地连接,应用和数据库在同一个JVM中) 服务器模式(通过JDBC或ODBC或TCP/IP进行远程连接) 混合模式(同时支持本地和远程连接)数据库连接URL说明:TopicURLFormatandExamples嵌入式(本地)连接jdb

    2022年10月11日
    0
  • SprintBoot任意处获取Request对象[通俗易懂]

    SprintBoot任意处获取Request对象[通俗易懂]老样子,直接上代码方式一(粗暴,推荐)packagecom.pibgstar.demo.utils;importorg.springframework.web.context.request.RequestAttributes;importorg.springframework.web.context.request.RequestContextHolder;importorg….

    2022年5月13日
    74
  • 【数据结构】字典树TrieTree图文详解

    【数据结构】字典树TrieTree图文详解问题引入现在,我给你n个单词,然后进行q次询问,每一次询问一个单词b,问你b是否出现在n个单词中,你会如何去求呢?暴力搜索?但是我们如果这么做的话时间复杂度一下就高上去了。大家都是成熟的ACMer了,不要再惦记着暴力的方法啦,要优雅。你想想,问题的描述像不像查字典的操作?你平时是怎么查字典的?想想看?如果你要在字典中查找单词“Avalon”,你是不是先找到首字母为‘A’的部分,然后再找第二个单词为‘V’的部分······最后,你可能可以找到这个单词,当然,也有可能这本词典并没有这个单词。你想想看,

    2022年9月7日
    0

发表回复

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

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