将一张 PNG 图像转换为具有透明度和淡入淡出效果的 webm 视频

Convert one PNG image to webm video with transparency and fade in and out effect

我有一个名为 c.png 的图像 首先,我将它转换为透明的 webm,使用命令:

ffmpeg -framerate 1/9 -i c.png  -i c.mp3 -c:v libvpx-vp9 -pix_fmt yuva420p -lossless 1 out.webm

然后我想为 out.webm 添加淡入和淡出,但我使用了很多这样的命令仍然不起作用:

ffmpeg  -i out.webm -vf "fade=t=in:st=0:d=3:alpha=1" -c:v libvpx-vp9 -pix_fmt yuv420p -c:a copy out_ok.webm
ffmpeg -i out.webm -vf "fade=in:0:3:alpha=1" out3.webm

ffmpeg -c:v libvpx-vp9 -i out.webm -vf "fade=t=in:st=0:d=3:alpha=1" out_ok.webm

ffmpeg -c:v libvpx-vp9 -i out.webm -filter_complex "fade=t=in:st=0:d=3:alpha=1" -map "[v]" -lossless 1  -b 10M -r 30 all.web

我该如何解决?

谢谢。

您可以使用 1 个命令完成。在这个例子中 audio.mp3 是 10 秒长。

ffmpeg -loop 1 -framerate 15 -i input.png -i audio.mp3 -vf "fade=t=in:d=1:alpha=1,fade=t=out:d=1:st=9:alpha=1" -shortest -fflags +shortest -max_interleave_delta 100M output.webm
  • 您的命令只输出了 1 帧视频。添加 -loop 选项以循环显示图像。
  • -shortest -fflags +shortest -max_interleave_delta 100M 选项 () 使视频与音频持续时间匹配。