vanessa
vanessa

Reputation: 23

Making a video (.mp4) using every Nth numbering plotted images (.png) with ffmpeg

I have images file in format starting with number 10000 with every 500 step as shown here "Qen_10000.png, Qen_10500.png, Qen_11000.png, Qen_11500.png..." until Qen_80500.png

I want to combine them and make a video .mp4

I've tried ffmpeg -r 5 -i Qen_%1d000.png video.mp4 and some other combination, but only every 10000 of the numbering.

I also tried ffmpeg -start_number 10000.... but it showed unrecognized option.

/usr/bin/ffmpeg -start_number 10000 -r 1 -i   Qen_distribution_*.png  video.mp4
    FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
      built on Jan 29 2012 23:55:02 with gcc 4.1.2 20080704 (Red Hat 4.1.2-51)
      configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
      libavutil     50.15. 1 / 50.15. 1
      libavcodec    52.72. 2 / 52.72. 2
      libavformat   52.64. 2 / 52.64. 2
      libavdevice   52. 2. 0 / 52. 2. 0
      libavfilter    1.19. 0 /  1.19. 0
      libswscale     0.11. 0 /  0.11. 0
      libpostproc   51. 2. 0 / 51. 2. 0
Unrecognized option 'start_number'

Please suggest some options. Thank you.

Upvotes: 0

Views: 575

Answers (2)

llogan
llogan

Reputation: 133673

  1. Your ffmpeg is extremely old. You should update. Either compile or download it and put it in /usr/local/bin.

  2. Use the glob pattern as described in the image file demuxer documentation.

    ffmpeg -framerate 5 -pattern_type glob -i "*.png" -r 25 -vf format=yuv420p -movflags +faststart output.mp4
    
    • Some players may refuse to play such a low frame rate. In that case increase the -framerate value, or add -r 25 (or whatever value works for your player) as an output option.

    • Use -framerate instead of -r for input frame rate when using the image file demuxer.

    • Output yuv420p pixel format for compatibility.

    • Add -movflags +faststart if presenting video via progressive download.

    • If you get not divisible by 2 then add scale filter: "scale=trunc(in_w/2)*2:trunc(in_h/2)*2,format=yuv420p"

Upvotes: 1

Mattias Wadman
Mattias Wadman

Reputation: 11425

Try to use -pattern_type glob. So something like this:

ffmpeg -r 5 -pattern_type glob -i "Qen_*.png" video.mp4

The quotes around the -i argument is important to prevent the shell from expand the glob instead of ffmpeg.

You can read more about glob and file order in the wikibooks about ffmpeg

Upvotes: 1

Related Questions