nick nack_coughing翻译

nick nack_coughing翻译webrtc中fec的处理机制:获取一帧数据,拆分成多个rtp包,再封装成fec包(fec只有primayblock),发送到网络;之后根据rtp包生成相应数量的fec包(根据冗余度来生成对应数量的包),再发送到网络。需要注意的是:rtpred包和fecred包都是序号连续的。所以判断一个完整帧的依据依然可以使用:获取到首包,获取到尾包,中间包连续。但因为fec的加入,导致所有原始数据的rtp包无法连续(和纯nack不会这样)。所以针对带有fec包的丢包处理机制是这样的:如果一个完整帧里面丢了原始

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

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

webrtc中fec的处理机制:获取一帧数据,拆分成多个rtp包,再封装成fec包(fec只有primay block),发送到网络;之后根据rtp包生成相应数量的fec包(根据冗余度来生成对应数量的包),再发送到网络。
需要注意的是:rtp red包和fec red包都是序号连续的。所以判断一个完整帧的依据依然可以使用:获取到首包,获取到尾包,中间包连续。但因为fec的加入,导致所有原始数据的rtp包无法连续(和纯nack不会这样)。
所以针对带有fec包的丢包处理机制是这样的:如果一个完整帧里面丢了原始数据包,一定要在当前帧的所有包到来之前,把此帧数据恢复完整,否则就会导致解码异常问题。如何恢复,两种策略同时使用:1.发现丢包会立即出发nack重传(即使是乱序也会触发)
2.靠后面来的fec包还原丢失的数据包。注意,以上两种策略一定要保证在下一帧数据到来之前把上一帧的数据包恢复完整,否则就会出现解码异常。

nack的处理机制:
与webrtc相比,我在此作了改善。发现丢包后立即触发重传,最多触发5次。
nack如何判断一帧的完整性:因为nack中没有fec的数据包,因此所有的数据包都是原始数据的rtp包。当前帧获取到了首包,尾包,中间包连续后,即可触发解码;之后可立即判断出下一帧的首包序列号是多少,因此比较容易。
fec如何判断一帧的完整性 :当前帧获取到了首包,尾包,中间包连续后,即可触发解码;但是下一帧的首包不一定是下一个序列号对应的数据包,因为有fec包存在。因此一定要保证在下一帧数据到来之前把上一帧的数据包恢复完整,否则就会出现解码异常

 

webrtc追求的是最低的延迟,当收到一个完整帧后立即解码输出。而在有fec数据后,判断一帧完整性变得异常复杂,最终我放弃了webrtc的思路。而是用空间换取了时间:内存中保存5个完整帧,通过mark识别,当大于5个完整帧后,取出首帧来解码 ,并从内存中删除该部分数据。

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

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

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


相关推荐

  • IP地址的分类及范围

    IP地址的分类及范围详解:A、B、C、D、E五类是如何划分的?大家都知道现在的互联网使用的是32位地址,IPv6虽然也说了好些年,但大家都习惯接受IPv4的用法说法。IP以点分十进制表示,如172.16.0.0。地址格式为:IP地址=网络地址+主机地址或IP地址=主机地址+子网地址+主机地址。IP地址类型最初设计互联网络时,为了便于寻址以及层次化构造网络…

    2022年4月5日
    137
  • 细粒度图像分析_图像分类研究现状

    细粒度图像分析_图像分类研究现状一、概述什么是细粒度图像分类细粒度图像分类问题是对大类下的子类进行识别。细粒度图像分析任务相对通用图像(General/GenericImages)任务的区别和难点在于其图像所属类别的粒度更为精细。以图1为例,通用图像分类其任务诉求是将“袋鼠”和“狗”这两个物体大类(蓝色框和红色框中物体)分开,可见无论从样貌、形态等方面,二者还是很容易被区分的;而细粒度图像的分类任务则要求对“狗”该类类别……

    2022年10月4日
    2
  • 树莓派搭建个人网站_树莓派 freenas

    树莓派搭建个人网站_树莓派 freenas必要的设置如下:#在树莓派上设置手机上网的接口ifconfig#查看网络接口sudosrsepc_if_masq.sheth0#选择能上网的接口,此处为eth0#在电脑1上设置路由信息使得电脑1能ping到测试手机sudorouteadd-host172.16.0.2gw192.168.2.104#临时添加路由信息,其中172.16.0.2为测试手机的IP地址,192.168.2.104为树莓派的IP地址route-n#查看路由信息#在测试手机上SIM卡信.

    2022年10月6日
    2
  • 树莓派、jetson nano 安装pycharm arm架构64 aarch64

    树莓派、jetson nano 安装pycharm arm架构64 aarch64树莓派、jetsonnano安装pycharmarm架构64aarch64

    2025年7月3日
    7
  • c# 判断字符串中是否包含某个字符串_判断字符串里是否有某个字符

    c# 判断字符串中是否包含某个字符串_判断字符串里是否有某个字符C#判断字符串中含有多少个汉字

    2022年4月22日
    261
  • Laravel 传递数据到视图

    Laravel 传递数据到视图

    2021年10月26日
    40

发表回复

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

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