我该怎么做才能调试并避免在 ffmpeg 中使用 RTP 解码伪影?

我该怎么做才能调试并避免在 ffmpeg 中使用 RTP 解码伪影?

我以编程方式对 VP9 RTP 流进行编码和解码,偶尔会遇到如下的彩色伪影:

在此处输入图片描述

在 ffmpeg 日志中(无论是使用ffplay还是我自己的代码),这通常与此类消息一致

[sdp @ 0x14de06880] max delay reached. need to consume packet
[sdp @ 0x14de06880] RTP: missed 18 packets

因此,可以推测,解复用器无法再等待数据包,解码器会产生不完整的内容。有没有办法检测此情况并丢弃不完整的帧,或者我应该注意什么来修复此问题?

ffmpeg 的 RTP 中的 VP9 支持显然是实验性的,所以这可能也是一个问题,但我希望可能有一些解码器参数可以使其更优雅地降级。

相关内容