Gstreamer管道通过这种方式接收视频:
webrtcbin-> rtph264depay-> avdec_h264-> ...
我已在webrtcbin的rtpbin上启用了do_nack以提高视频质量,但问题是RTP丢失的缓冲区导致“有时” h264解码器变为Reinit context to ...
,这会使整个输出视频变灰(只有运动可见) ),直到收到下一个关键帧为止(但这可能会在几秒钟后发生)。
我注意到在上下文重新初始化之前发出了EVENT_GAP,但是删除它们并没有帮助。
如何使解码伪像“一如既往”地作用于损坏的视频,而不是用灰色填充整个视频?
答案 0 :(得分:0)
我无法使用avdec_h264找到解决方案,但我自己编译了gst-plugins-bad,然后使用openh264dec解决了该问题(令人惊讶的是,它在Ubuntu / Debian上的存储库包中不可用)。