使用 ffmpeg“tpad”时,填充帧为绿色

使用 ffmpeg“tpad”时,填充帧为绿色

我不确定这种情况什么时候开始发生在我身上,但我认为是随着 6.0 版本的出现,当我使用“tpad”过滤器时,如下所示:

-filter_complex "[0:0]tpad=start_duration=1:stop_duration=5:color=black[v0]" -map "[v0]"

无论我指定什么颜色,填充的框架都是绿色的。我已尝试使用 mp4、mkv 和 avi 进行此操作,并得到了相同的结果。如果我使用来自 rpm-fusion-updates 的构建(6.0-11.fc38,libavfilter 9.3.100 / 9.8.101),或者如果我自己从源代码构建它(当前为 N-111066-gd26ea03f60,libavfilter 9.8.101 / 9.8.101),结果也是相同的。

这种情况也发生在几台不同的机器上。还有人看到这个吗?我想在提交错误之前确认这不是我一个人的问题。我没有看到有人为此打开。

答案1

我注意到 Windows 10 下也存在同样的问题。切换到以下版本的 Ubuntu - 没有问题,没有绿屏,自动应用了默认黑色。所以,这种解决方法有效。

描述:Ubuntu 20.04.6 LTS,发布版本:20.04

使用Windows10 ffmpeg版本:N-111283-g9b6d191a66-20230628

使用的Ubuntu ffmpeg版本:4.2.7-0ubuntu0.1

问候——Pawel。

答案2

这是 FFmpeg 提交的回归86b252ea9dee18006910e30646ad1067f2d1323f这是我之前做的。此回归的错误报告位于https://trac.ffmpeg.org/ticket/10621

我有已提交修复到邮件列表,它可能很快就会被合并。

start您可以通过使用虚拟值(如)指定and/orstop选项(取决于您需要)来解决该问题1,同时仍然指定优先的start_durationand/or 。stop_duration

因此,根据上面的例子,以下方法应该可以解决这个问题:

-filter_complex "[0:0]tpad=start=1:start_duration=1:stop_duration=5:color=black[v0]" -map "[v0]"

(当同时使用start_duration和时,只需给出或带有虚拟值就足以使空支支票满意。)stop_durationstartstop

抱歉,这次退步了!

相关内容