FFmpeg帧之间的淡入淡出效果

Raj*_*jat 14 ffmpeg

我想创建我的图像幻灯片,淡入和淡出它们之间的过渡,我正在使用FFmpeg淡入淡出过滤器.

如果我使用命令:

ffmpeg -i input.mp4 "fade=in:5:8" output.mp4
Run Code Online (Sandbox Code Playgroud)

要创建具有淡入淡出效果的输出视频,然后它将输出视频的前5帧设置为黑色,而图像显示为淡入淡出效果,但我希望淡入淡出:输入:帧间更改之间的效果.

我怎样才能做到这一点?

请告诉Centos服务器的解决方案,因为我只在此服务器上使用FFmpeg

Raj*_*jat 7

要创建具有淡入效果的视频,只需将视频分成几部分,然后为每个图像创建单独的视频.例如,如果您有5张图像,那么首先要为每张图像创建50-60份副本并获取该视频:

  $command= "ffmpeg -r 20 -i images/%d.jpg -y -s 320x240 -aspect 4:3 slideshow/frame.mp4";
  exec($command." 2>&1", $output);
Run Code Online (Sandbox Code Playgroud)

这将允许您创建5个不同的视频.然后,您需要这些五个图像的10-12个不同副本,并再次创建具有淡入淡出效果的单独视频.

ffmpeg -i input.mp4 "fade=in:5:8" output.mp4
Run Code Online (Sandbox Code Playgroud)

在此之后,您将拥有以下视频:图像1的视频及其对图像2的淡入淡出效果及其淡入淡出效果等.现在按照各自的顺序组合这些视频以获得整个视频.

要合并您需要的视频:

$command = "cat pass.mpg slideshow/frame.mpg > final.mpg";
Run Code Online (Sandbox Code Playgroud)

这意味着要使用加入视频cat,然后您需要将它们转换为mpg,加入它们并再次将它们重新转换为mp4或avi以正确查看它们.转换后的mpg视频也不合适,所以不要打扰.当你将它们转换为mp4时,它将正常工作.

  • 您可以告诉ffmpeg循环输入,而不是创建图像文件的多个副本。`-loop 1 -i input.jpg -t 2`将告诉ffmpeg使用静态图像作为循环源。因为这将永远播放,所以您需要使用-t 2选项设置输出视频的时间(在这种情况下,指定2秒)。 (2认同)