如何在G64reamer webrtcbin的H264视频解码过程中丢弃上下文重新启动

问题描述 投票:0回答:1

Gstreamer管道以这种方式接收视频:

webrtcbin - > rtph264depay - > avdec_h264 - > ...

我已经在webrtcbin中的rtpbin上启用do_nack以提高视频质量,但问题是来自RTP的丢失缓冲区导致'有时'h264解码器到Reinit context to ...,这会使整个输出视频变为灰色(只有移动可见),直到收到下一个关键帧(但这可能会在几秒钟后发生)。

我注意到EVENT_GAP是在上传重启之前发出的,但丢弃它们并没有帮助。

如何使解码工件在损坏的视频上“一如既往”,而不是用灰色填充整个视频?

ffmpeg webrtc gstreamer h.264
1个回答
0
投票

我无法找到avdec_h264的解决方案但是我自己编译gst-plugins-bad并使用openh264dec解决了这个问题(令人惊讶的是,它在Ubuntu / Debian的存储库包中不可用)。

© www.soinside.com 2019 - 2024. All rights reserved.