Converting still images to video with transitions
imagemagick
Solution
I did not find a solution to allow throwing '*.jpg' in there. But use of -duplicate can clean it up a little. I'm using different constants than you are, but here it is:
convert \
\( 0.png 1.png -morph 23 -duplicate 25,-1 \) \
\( 1.png 2.png -morph 23 -duplicate 25,-1 \) \
\( 2.png 3.png -morph 23 -duplicate 25,-1 \) \
\( 3.png 4.png -morph 23 -duplicate 25,-1 \) \
\( 4.png 0.png -morph 23 \) \
output.mpg
I know this question is a bit old now. If, since you posted, you have found a solution that allows throwing '*.jpg' in there I would love to see it.
Problem
I'd like to create a video from still images, preferably with ImageMagick and/or ffmpeg. The best guide I found is here: http://www.itforeveryone.co.uk/image-to-video.html This sort of works but this command ``` convert *.JPG -delay 10 -morph 10 %05d.morph.jpg ``` doesn't work for me because the delay sets the time for both the still and the morph images. I came up with this solution for a set of four images (1.jpg ... 4.jpg) with a additional black image 0.jpg: ``` convert -size 800x600 xc:'rgba(0,0,0,1)' 0.jpg convert \ \( -set delay 1 0.jpg 1.jpg -morph 10 \) \ \( -set delay 60 1.jpg \) \ \( -set delay 1 1.jpg 2.jpg -morph 10 \) \ \( -set delay 60 2.jpg \) \ \( -set delay 1 2.jpg 3.jpg -morph 10 \) \ \( -set delay 60 3.jpg \) \ \( -set delay 1 3.jpg 4.jpg -morph 10 \) \ \( -set delay 60 4.jpg \) \ \( -set delay 1 4.jpg 0.jpg -morph 10 \) \ output.mpg ``` This does what I want except that it - looks way to complicated and - I obviously can't throw an '*.jpg' in there so that it works on any set of images in a directory. Now I can python or bash my way to a script that automates this for me, but my gut feeling is that I oversaw something obvious that would turn the above script into a beautiful one-liner? Or at least something less ugly? Thanks in advance.