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


相关推荐

  • Pycharm修改字体大小「建议收藏」

    Pycharm修改字体大小「建议收藏」点击settings点击Editor点击Font修改Size和linespacing

    2022年8月25日
    6
  • 煤矿云计算大数据_构建物联网

    煤矿云计算大数据_构建物联网传统工业实时历史数据库与时序数据库的区别?本文介绍了实时数据库和时序数据库,并就其特点、应用场景、相关厂商、联系与区别做介绍。实时历史数据库![实时历史数据库架构.png](https://img-blog.csdnimg.cn/img_convert/ddd8d3b24107ac2ebf328f3fd390c603.png#clientId=ud49e0880-2e25-4&crop=0&crop=0&crop=1&crop=1&from=drop&i

    2022年10月4日
    0
  • 如何测试ntp时间服务器

    C:\DocumentsandSettings\Administrator>w32tm/stripchart/computer:aisa.pool.ntp.orgTrackingaisa.pool.ntp.org[180.168.41.175].Thecurrenttimeis2012-3-715:35:23(localtime).15:35:23err

    2022年4月11日
    397
  • HTTP_POST请求的数据格式

    HTTP_POST请求的数据格式在HTTP的请求头中,可以使用Content-type来指定不同格式的请求信息。Content-type的类型常见的媒体格式类型:   text/html:HTML格式   text/plain:纯文本格式     &nbs…

    2022年4月1日
    26
  • 在测试集上训练,还能中CVPR?这篇IEEE批判论文是否合理?

    在测试集上训练,还能中CVPR?这篇IEEE批判论文是否合理?在测试集上训练,还能中CVPR?这篇IEEE批判论文是否合理?

    2022年4月21日
    56
  • 粘包现象_光柱现象

    粘包现象_光柱现象粘包现象当多条消息发送时接受变成了一条或者出现接收不准确的情况粘包现象会发生在发送端两条消息间隔时间短,长度短就会把两条消息在发送之前就拼在一起节省每一次发送消息回复的网络资源粘包现象会发生在接收端多条消息发送到缓存端,但没有被及时接收,或者接收的长度不足一次发送的长度数据与数据之间没有边界本质:发送的每一条数据之间没有边界–例:importsocketsk=…

    2022年8月11日
    7

发表回复

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

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