3
2
I just figured out how to make a slideshow with crossfade. It's a two-step process. The first step reads the pictures with framerate 0.5 (which means 2 seconds for each picture), and produces an intermediate video with framerate 2. That means each picture is repeated 4 times. The second step applies the framerate filter. The result is that each picture is shown for 1.5 seconds, followed by a 0.5 second crossfade.
ffmpeg -framerate 0.5 -i IMG_%3d.jpg -r 2 -codec:v mpeg4 temp.mp4
ffmpeg -i temp.mp4 -vf "framerate=fps=25" -codec:v mpeg4 out.mp4
This two step process works fine, but I have two questions:
- Is it also possible to get the same result in one step, without an intermediate video file?
- If the answer to the first question is no, can someone please show me how the above commands must be modified for a lossless intermediate file, for example RAWVIDEO?
Thanks, Michael
1Any reason you need
mpeg4
as codec? Using that particular encoder without setting any target bitrate or quality level will result in bad quality output. I'd rather use H.264 unless you specifically need to target a device that does not support it. – slhck – 2017-11-05T18:58:55.097I did omit the bitrate and quality level settings in the above example, because I wanted to keep it as short as possible. – Michael – 2017-11-05T19:18:02.620