engine icon indicating copy to clipboard operation
engine copied to clipboard

media ring 的size 问题

Open zxfskr opened this issue 11 months ago • 5 comments

Image 这个地方的增长好像去掉了限制,是否有内存泄漏风险? 目前我看到了这个值一直增大... 还需要继续看一下为什么

zxfskr avatar Jan 17 '25 01:01 zxfskr

如果一直增大的话,说明缺少关键帧,即使限制大小,也无法使用不含关键帧的数据

langhuihui avatar Jan 17 '25 02:01 langhuihui

Image

@langhuihui 根据这个我找了下,web端的推流好像是这样,webrtc 的web端好像不会主动去发i帧,我看了下当前的webrtc 插件的方案,如果每两秒主动发rtcp 请求i帧的话,会导致画面抖,有没有可能是请求了之后编码器生成i帧丢了一部分帧

zxfskr avatar Jan 17 '25 02:01 zxfskr

不发 I 帧肯定不行的

langhuihui avatar Jan 17 '25 03:01 langhuihui

@langhuihui 但是我简单查了下,webrtc 的web端没有设置gop size的接口..., 如果是定时主动发rtcp PLI ,会导致画面定时就会闪一下,我试了下pion / webrtc 的 whip-whep demo, 也是每三秒画面会闪一下。我当前规避方法是:1. 在video track 加了个标记,只在流加入或者拉流端发送rtcp PLI的情况下,给推流端发PLI;2. 关闭掉ringbuf 的 av.Glow(5) 那一行,规避修改后出现的内存泄漏;看起来正常工作了,不知道有没有什么隐患

zxfskr avatar Jan 17 '25 07:01 zxfskr

你这个只能适应你这种特殊情,如果其他会发送关键帧的协议就必须要 glow 的

langhuihui avatar Jan 17 '25 07:01 langhuihui