需要在使用 ffmpeg 的视频的前 3 秒添加水印。这是我现在得到的:
ffmpeg -y -i '255871.mov' -qscale:v 0 -qscale:a 0 -vf '[in] transpose=1 [out];movie=watermark.png , select=lte(t\,3) [bg]; [out][bg] overlay=x=20:y=main_h-60 [out]' output.mp4
它将视频向右旋转,并在前 3 秒的视频底部添加水印。问题是在整个视频中都可以看到水印。
认为选择根本不起作用。尝试了以下命令
ffmpeg -y -i '255871.mov' -qscale:v 0 -qscale:a 0 -vf '[in] transpose=1 [out];movie=watermark.png , select=0 [bg]; [out][bg] overlay=x=20:y=main_h-60 [out]' output.mp4
水印不可见。这是正确的,并证明select
过滤器按预期工作。据我了解,这就是 ffmpeg 的工作方式:它使最短视频的最后一帧可见。
如何在 N 秒后强制 ffmpeg 丢弃显示水印?