What I am describing is basically a slideshow.
I was hoping to be able to create a video which consistis of, for example, three different frames 1, 2 and 3 but each of them gets shown for an hour.
Let's say we have a file inputs.txt
file 'img1.jpg'
duration 3600
file 'img2.jpg'
duration 3600
file 'img3.jpg'
duration 3600
I would like to concatenate these images like so:
ffmpeg -f concat -i inputs.txt output.mp4 -y
However, this is already giving me the warning of
More than 1000 frames duplicated
I have seen some parameters in the documentation like decimate
or mpdecimate
but they do not seem to do the trick here.
Is it even possible to do what I am trying here?
It seems like a "no-brainer" to just show a particular image after a certain amount of time but I am not sure how to achieve that.
By the way, I also tried to use MKV here, but this results in a video with just three frames instead of a three hours video:
ffmpeg -f concat -i inputs.txt output.mkv -y
The closest thing I got was using concat
like above, and setting a lower framerate. I wasn't aware that the framerate can be less than on.
With
file 'image1.jpg'
duration 3600
file 'image2.jpg'
duration 3600
file 'image3.jpg'
duration 3600
file 'image3.jpg'
duration 0
I simply ran
ffmpeg -f concat -i inputs.txt -vf "fps=0.1" output.mp4 -y
Each image being around 20 kB, the resulting three hours video took around 80 kB in storage space.