ffmpeg - Create a video from image frame with a start and a count
Using ffmpeg
, I made a video from multiple images with the below, which works, however I don't want to use all 200 images in my folder, wanting the video to contain only images from 1 to 100:
ffmpeg -start_number n -i test_%d.jpg -vcodec mpeg4 test.avi
How can I specify the number of frames to include in the video, or the number of the ending frame?
You do this by stating the number of frames you want with -vframes 100
:
ffmpeg -start_number 1 -i test_%d.jpg -vframes 100 -vcodec mpeg4 test.avi
- You might need to specify other parameters such as
pix_fmt
, etc. depending on other factors, and usually one uses something liketest_%05d.jpg
with the numbered sequence having preceding zeroes with five digits; if you don't have it in that format you might need to use a globbing pattern.
This always works well for me:
ffmpeg -i yourfile.mp4 -r 1 -ss 15 -t 16 -f image2 snapshot.jpg
^ ^
^ ^
start end
time time
-
yourfile.mp4
: movie clip -
snapshot.jpg
: new image file - IMPORTANT: leave
image2
alone, as it was the only way to get what I wanted
Time is in seconds only; If it's 2 minutes ahead of the reel, then it's 120
.
One image file is always one-second worth, thus calculate your desired image by that approach.