Thanks! I'll look into this.
Download the preset I attached to this post and extract it somewhere, (it'll create a 10fps video that's 1280x720 and displays each image for 1 second).-4wd
Wouldn't that be a 1fps video if it only shows one frame (image) per second?
-Deozaan
No, video frame rate and image persistence are two different things.
Some video players, (I'm referring to software not a hardware media player, they're probably even more restricted), can't handle very low video frame rates, (I saw mentioned somewhere that VLC doesn't handle below around 10fps - I know MPC-BE doesn't like low rates).
To get an image to display for
x seconds, ffmpeg creates
x *
fps copies of the image to display, so for the above preset: 1 (second) x 10 (fps) = 10 copies
10 fps means each frame is displayed for 100ms, so each of the 10 copies of the image is displayed for 100ms - appended together gives you each image being displayed in the video for 1 second.
Here's a page regarding ffmpeg, frame rates, and image sequences:
Create a video slideshow from imagesI've also added the
-pix_fmt yuv420p mentioned on that page, (ensures maximum compatibility in final video with players/online sites).
In your original command:
ffmpeg -r [framerate] -i [images] -s [resolution] -vcodec libx264 [videofilename].mp4
Because you haven't specified a frame rate for the output video, the input image frame rate would be used - if this is too low, the video won't display correctly (ie. some images may appear for longer - I was getting the first image being displayed for 5 seconds and the following for 1 second) - if it's too high, the images might just flash up on screen or possibly they'll be dropped altogether from the final video.
BTW, if the folder you drop onto the interface button contains more than one image sequence, in theory it should create a job for each ... but I haven't tested that.
If you let me know what fps/dimensions/codecs you're interested in, I'll try knocking up some presets so you can look at them - specify image persistence in seconds and video output frame rate.
EDIT: I incorrectly made the description on the preset, (shows up under preset), as 1fps - forgot to change it after I'd finished playing around. I've corrected and re-attached to the above post.
Addendum: I've attached some more presets you can import, (remember to restart program after importing), it should give you an idea of what to do:
Output video presets, (all MPEG4-AVC, MP4 format):
720x400, 2 images/s, 24fps (2 images every second)
720x400, 5 images/s, 30fps (5 images every second)
1280x720, 1image/s, 10fps (1 image every second)
1280x720, 1image/s, 24fps (1 image every second)
1280x720, 1image/5s, 24fps (1 image every 5 seconds)
1280x720, 2images/s, 24fps (2 images every second)
1980x1080, 2images/s, 24fps (2 images every second)
<?xml version="1.0" encoding="utf-16"?>
<AnotherGUI_Presets_ver.03>
<Preset>
<UUID>66a5159b-4405-499f-9b56-0439ae54978a</UUID>
<Executable>ffmpeg.exe</Executable>
<Name>Image sequence to video 1280x720, 1ips, 10fps</Name>
<Description><![CDATA[Convert sequence of images to video (1280x720, 1 image/s, 10fps)]]></Description>
<Category><![CDATA[IMAGES 1280]]></Category>
<Arguments><![CDATA[-r 1
-i "<FullSourceFileName>"
-s 1280x720
-r 10
-vcodec libx264
-pix_fmt yuv420p
"<OutputPath><OutputFileName>.mp4"]]></Arguments>
<Arguments2><![CDATA[]]></Arguments2>
<Postprocess><![CDATA[]]></Postprocess>
</Preset>
<Preset>
<UUID>808b659a-5bcf-4d87-8e17-789e995e167e</UUID>
<Executable>ffmpeg.exe</Executable>
<Name>Image sequence to video 1280x720, 1ips, 24fps</Name>
<Description><![CDATA[Convert sequence of images to video (1280x720, 1 image/s, 24fps)]]></Description>
<Category><![CDATA[IMAGES 1280]]></Category>
<Arguments><![CDATA[-r 1
-i "<FullSourceFileName>"
-s 1280x720
-r 24
-vcodec libx264
-pix_fmt yuv420p
"<OutputPath><OutputFileName>.mp4"]]></Arguments>
<Arguments2><![CDATA[]]></Arguments2>
<Postprocess><![CDATA[]]></Postprocess>
</Preset>
<Preset>
<UUID>90f8f618-766b-4a16-91e9-04eb67e7ba45</UUID>
<Executable>ffmpeg.exe</Executable>
<Name>Image sequence to video 1280x720, 2ips, 24fps</Name>
<Description><![CDATA[Convert sequence of images to video (1280x720, 2 image/s, 24fps)]]></Description>
<Category><![CDATA[IMAGES 1280]]></Category>
<Arguments><![CDATA[-r 2/1
-i "<FullSourceFileName>"
-s 1280x720
-r 24
-vcodec libx264
-pix_fmt yuv420p
"<OutputPath><OutputFileName>.mp4"]]></Arguments>
<Arguments2><![CDATA[]]></Arguments2>
<Postprocess><![CDATA[]]></Postprocess>
</Preset>
<Preset>
<UUID>d1bf7e3a-3ca2-4b73-b12a-300c4fe90393</UUID>
<Executable>ffmpeg.exe</Executable>
<Name>Image sequence to video 1280x720, 1i/5s, 24fps</Name>
<Description><![CDATA[Convert sequence of images to video (1280x720, 1 image/5s, 24fps)]]></Description>
<Category><![CDATA[IMAGES 1280]]></Category>
<Arguments><![CDATA[-r 1/5
-i "<FullSourceFileName>"
-s 1280x720
-r 24
-vcodec libx264
-pix_fmt yuv420p
"<OutputPath><OutputFileName>.mp4"]]></Arguments>
<Arguments2><![CDATA[]]></Arguments2>
<Postprocess><![CDATA[]]></Postprocess>
</Preset>
<Preset>
<UUID>5107fcff-6305-4317-9dd9-3863f99c599f</UUID>
<Executable>ffmpeg.exe</Executable>
<Name>Image sequence to video 1920x1080, 2ips, 24fps</Name>
<Description><![CDATA[Convert sequence of images to video (1920x1080, 2 image/s, 24fps)]]></Description>
<Category><![CDATA[IMAGES 1920]]></Category>
<Arguments><![CDATA[-r 2/1
-i "<FullSourceFileName>"
-s 1920x1080
-r 24
-vcodec libx264
-pix_fmt yuv420p
"<OutputPath><OutputFileName>.mp4"]]></Arguments>
<Arguments2><![CDATA[]]></Arguments2>
<Postprocess><![CDATA[]]></Postprocess>
</Preset>
<Preset>
<UUID>1cf678cb-07ce-42c1-bca3-bade905d49a8</UUID>
<Executable>ffmpeg.exe</Executable>
<Name>Image sequence to video 720x400, 2ips, 24fps</Name>
<Description><![CDATA[Convert sequence of images to video (720x400, 2 image/s, 24fps)]]></Description>
<Category><![CDATA[IMAGES 720]]></Category>
<Arguments><![CDATA[-r 2/1
-i "<FullSourceFileName>"
-s 720x400
-r 24
-vcodec libx264
-pix_fmt yuv420p
"<OutputPath><OutputFileName>.mp4"]]></Arguments>
<Arguments2><![CDATA[]]></Arguments2>
<Postprocess><![CDATA[]]></Postprocess>
</Preset>
<Preset>
<UUID>91fe525a-abdc-4858-8e51-41e61d848754</UUID>
<Executable>ffmpeg.exe</Executable>
<Name>Image sequence to video 720x400, 5ips, 30fps</Name>
<Description><![CDATA[Convert sequence of images to video (720x400, 5 image/s, 30fps)]]></Description>
<Category><![CDATA[IMAGES 720]]></Category>
<Arguments><![CDATA[-r 5/1
-i "<FullSourceFileName>"
-s 720x400
-r 30
-vcodec libx264
-pix_fmt yuv420p
"<OutputPath><OutputFileName>.mp4"]]></Arguments>
<Arguments2><![CDATA[]]></Arguments2>
<Postprocess><![CDATA[]]></Postprocess>
</Preset>
</AnotherGUI_Presets_ver.03>
Addendum2: Forgot to mention, if it can't find ffmpeg.exe then go
Preferences and click the
Reset executable paths button, you can then select the paths to various executables, (AnotherGUI can handle more than just ffmpeg), or click the Cancel button in the dialog if you don't have that executable.