• Chris Zou
    2022-01-13
    老师有没有可能加餐,讲讲另外一个方式FEC冗余和重传方式之间的配合,以及itterbuffer对这两种包的不同处理?

    作者回复: 这两个之间要配合好其实是非常复杂的。但是总的思路就是,如果RTT很高那么重传时间会很长,这是可以主要使用fec,如果RTT 比较小的话,可以重传多一些。

    
    2
  • 一身龙骨
    2022-01-11
    图像的宽高搞反了出现过花屏

    作者回复: 这个就有点类似于stride弄错了

    
    1
  • 播放技术部
    2022-09-23 来自浙江
    “重传也没有收到包” 这块有个问题想请教下,就是如果一个包重传了很久都没有收到,那么后面请求IDR帧的话,由于IDR帧很大,那么不是更有概率导致丢包吗?还有这个请求的IDR帧具体是离丢包的P帧多远的I帧呢?

    作者回复: 是会有这个问题,如果你是持续高丢包的情况下的话,可能会卡住很长时间。但是也没有办法,你不可能一直重传前面丢失的包,毕竟有实时性的要求,毕竟大多数时候丢包率不会一直非常高。 这个IDR帧是收到I帧请求之后,通过编码器的接口告诉编码器当前帧需要编码成IDR帧的,跟丢包的P帧的距离,编码器不会关心。

    
    
  • allin
    2022-02-23
    老师,jitter buffer 在哪能找到模块源码进行学习,

    作者回复: webrtc里面的packet buffer 和frame buffer,老版本是VCMJitterBuffer

    
    
  • Chris Zou
    2022-01-13
    除了webrtc中的这种方式把所有包放到一个队列里面,还有什么好的方式处理,一般做法是什么样子的?

    作者回复: 我文章里面还讲了一种方式啊,通过first_mb_in_slice 来判断开头第一个包,通过Marker位判断最后一个包,中间的所有包都在也可以表示完整了

    共 2 条评论
    
  • Chris Zou
    2022-01-13
    WebRTC 中在使用的方法,在一个排好序的包队列里,从标志位M的包往前找连续包,直到有跳变就认为帧完整,这里跳变之外,应该也要判断是不是首包是否还在把?

    作者回复: 如果时间戳有跳变同时序列号是连续的,那首包就一定在。不然序列号是不会连续的。

    共 2 条评论
    
  • ,
    2021-12-24
    翻了下代码,看上去是会进行kstash 会判断下seq连续,这种还有什么别的好办法没,gop内连续丢参考帧。

    作者回复: 是的,如果有SVC那种不连续参考的参考结构就不需要完全连续了。可以参考SVC那节课。

    
    
  • ,
    2021-12-24
    大佬,webrtc的jitterbuffer有处理264那种如果一个gop内完整的丢了几个p帧的这种情况么,大概怎么处理的?

    作者回复: 有处理的,不能丢帧。会发送关键帧请求给发送端要求发送关键帧。

    
    
  • iOS coder
    2021-12-23
    怎么对花屏进行线上监控呢?

    作者回复: 其实花屏不好线上监控的。可以采用一些AI手段来对解码后的YUV做识别是不是花屏。

    
    
  • 段壹鳴
    2021-12-17
    老师讲的很好, 撒花撒花~ 老师能讲解一下 jitterBUffer里面的 缓冲延时计算吗, 然后请求重传策略, 新版本webrtc是全部移植到nack_requestion模块里了

    作者回复: 卡尔曼滤波吗?我本来想讲一下,但是感觉比较难通俗易懂的讲解清楚,因为数学太多了。

    
    