FFmpeg:PNG 生成的视频淡入淡出

FFmpeg:PNG 生成的视频淡入淡出

我有一张 PNG 图像,想用它制作一段时长 8 秒、帧率为 30 fps 的视频,其中第一秒淡入,最后一秒淡出。这是我使用滤镜预期的效果,fade但结果却只产生了一段长度为 8 秒的黑色视频,两者均使用2019 年的2023-09-07-git-9c9f48e7f2-essentials_build-www.gyan.dev滤镜4.2.1

ffmpeg -framerate 1/8 -i t.png -r 30 -pix_fmt yuv420p ^
  -filter_complex "fade=in:0:30, fade=out:210:30" t.mp4

不使用滤镜(-vf-filter_complex没有区别),会按预期创建一个包含 PNG 图像的 8 秒视频。我不知道在应用滤镜时我做错了什么。

答案1

因此,命令应该是,

ffmpeg -framerate 30 -loop 1 -t 8 -i t.png -vf "fade=in:0:30, fade=out:210:30" -pix_fmt yuv420p t.mp4

  1. 淡入淡出过滤器根据提供给它的帧进行操作 - 它无法生成新帧。如果没有输入-loop,图像输入就只是一个帧流。

  2. 即使使用循环,1/8 的帧速率也会导致第二帧的时间戳为 8 秒。第 240 帧的时间戳为 1920 秒。这不是您想要的。

  3. 最后,使用 将循环限制为 8 秒-t 8

相关内容