[FFmpeg-user] extract 1 image every 0.04s (25fps) whatever fps

Robert Krüger krueger at lesspain.de
Fri Mar 15 14:47:00 CET 2013


Hi,

On Fri, Mar 15, 2013 at 2:35 PM, Sebastien WILLEMIJNS
<sebastien at willemijns.com> wrote:
> Hello,
>
> I'd like to extract one image every 0.04s (25 fps) whatever the fps...
> some images can be the same also if i extract a file with less than 25
> fps.
>
> ffmpeg -i inpu.avi -t 0.04 -s 4cif d:\image%%06d.bmp
> ffmpeg -i inpu.avi -t 0.08 -s 4cif d:\image%%06d.bmp
> ffmpeg -i inpu.avi -t 0.12 -s 4cif d:\image%%06d.bmp
> ffmpeg -i inpu.avi -t 0.16 -s 4cif d:\image%%06d.bmp
> [...]
>
> works well but ffmpeg read the whole file at every loading...
> 7 minutes to extract image from time 2.96, 3 and 3.04 second but 7 hours
> to extract image from time
> 3999.96 4000 4000.04 ;-(
>
> a 1h40 movie make 1 or 2 weeks to be extracted...
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user

Why don't you convert the video to 25 FPS first and then dump every
frame in a second run? The first conversion will do exactly what you
want, i.e. duplicate/drop frames if necessary and then you will be
done in two ffmpeg runs. If you are worried about loss, use a lossless
format like ffv1 for the first conversion. Maybe someone even knows
how to to that in one step. I don't know if that is possible.

HTH,

Robert


More information about the ffmpeg-user mailing list