<p>Your suspicion is correct. The image demuxer has a default framerate of 25.</p>
<p>To set a framerate of 30, you will need ffmpeg 5.0+ and modify each file entry as follows:</p>
<pre><code>file red_image.png
option framerate 30
duration 1
</code></pre>

CC BY-SA 4.0
2024-11-22T17:36:02.080Z
2024-11-22T17:36:02.080Z
Gyan
<p>I'm creating a video from a list of images, where images should have different durations.
This works, except the images do not have the correct durations in the resulting video.
Using Linux Mint and FFmpeg version 4.4.2 or 4.5.5</p>
<p>To illustrate, lets create a 30 fps video with a red images for 1 second, followed by alternating green and blue images lasting 100 ms (= 3 frames) each.</p>
<p>Create 3 colored images:</p>
<pre><code>ffmpeg -f lavfi -i color=c=red:s=1000x1000:d=1 red_image.png
ffmpeg -f lavfi -i color=c=green:s=1000x1000:d=1 green_image.png
ffmpeg -f lavfi -i color=c=blue:s=1000x1000:d=1 blue_image.png
</code></pre>
<p>Save this as colored_images_list.txt</p>
<pre><code>file red_image.png
duration 1
file green_image.png
duration 0.1
file blue_image.png
duration 0.1
file green_image.png
duration 0.1
file blue_image.png
duration 0.1
file green_image.png
duration 0.1
file blue_image.png
duration 0.1
file green_image.png
duration 0.1
file blue_image.png
</code></pre>
<p>and run the command</p>
<p><code>ffmpeg -f concat -i colored_images_list.txt -r 30 -pix_fmt yuv420p test.mp4</code></p>
<p>The resulting video should contain 30 red frames, followed by 3 green frames, 3 blue frames, 3 green frames, 3 blue frames, etc.</p>
<p>But (as can be verified using any video editor or <code>ffmpeg -i test.mp4 output_frame_%04d.png</code>) it contains 29 red frames, then 4 green frame, 2 blue frames, 4 green frames, 2 blue frames, etc.</p>
<p>My suspicion is that the video is created at 25 fps which isn't a great fit for the 0.1 s durations (which would be 2.5 frame) and then converted to 30 fps.</p>
<p>The output of FFmpeg seem to support this:</p>
<pre class="lang-none prettyprint-override"><code>  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
  configuration: --prefix=/usr --extra-version='0ubuntu1~22.04.sav0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version='0ubuntu1~22.04.sav0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libaribb24 --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc --enable-libsmbclient
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Input #0, concat, from 'colored_images_list.txt':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: png, rgb24(pc), 1000x1000 [SAR 1:1 DAR 1:1], 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -&gt; #0:0 (png (native) -&gt; h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x5555c7528dc0] using SAR=1/1
[libx264 @ 0x5555c7528dc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x5555c7528dc0] profile High, level 3.2, 4:2:0, 8-bit
[libx264 @ 0x5555c7528dc0] 264 - core 164 r3191 4613ac3 - H.264/MPEG-4 AVC codec - Copyleft 2003-2024 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=18 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'test.mp4':
  Metadata:
    encoder         : Lavf58.76.100
  Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, progressive), 1000x1000 [SAR 1:1 DAR 1:1], q=2-31, 30 fps, 15360 tbn
    Metadata:
      encoder         : Lavc58.134.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame=   49 fps=0.0 q=-1.0 Lsize=       5kB time=00:00:01.53 bitrate=  27.7kbits/s dup=42 drop=0 speed=4.17x    
video:4kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 37.138432%
[libx264 @ 0x5555c7528dc0] frame I:5     Avg QP: 8.86  size:   257
[libx264 @ 0x5555c7528dc0] frame P:13    Avg QP:12.38  size:    49
[libx264 @ 0x5555c7528dc0] frame B:31    Avg QP:14.16  size:    41
[libx264 @ 0x5555c7528dc0] consecutive B-frames: 14.3%  0.0% 12.2% 73.5%
[libx264 @ 0x5555c7528dc0] mb I  I16..4: 100.0%  0.0%  0.0%
[libx264 @ 0x5555c7528dc0] mb P  I16..4:  0.0%  0.0%  0.0%  P16..4:  0.0%  0.0%  0.0%  0.0%  0.0%    skip:100.0%
[libx264 @ 0x5555c7528dc0] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.0%  0.0%  0.0%  direct: 0.0%  skip:100.0%  L0:50.0% L1:50.0% BI: 0.0%
[libx264 @ 0x5555c7528dc0] 8x8 transform intra:0.0%
[libx264 @ 0x5555c7528dc0] coded y,uvDC,uvAC intra: 0.0% 0.0% 0.0% inter: 0.0% 0.0% 0.0%
[libx264 @ 0x5555c7528dc0] i16 v,h,dc,p: 98%  0%  2%  0%
[libx264 @ 0x5555c7528dc0] i8c dc,h,v,p: 98%  2%  0%  0%
[libx264 @ 0x5555c7528dc0] Weighted P-Frames: Y:15.4% UV:15.4%
[libx264 @ 0x5555c7528dc0] kb/s:15.59
</code></pre>
<p>I've found several sources (<a href="https://ffmpeg.org/ffmpeg-formats.html#image2-1" rel="nofollow noreferrer">https://ffmpeg.org/ffmpeg-formats.html#image2-1</a> explaining to se the input frame rate using <code>-framerate 1/30</code> before the -i option. but this gives me the error</p>
<pre><code>$ ffmpeg -f concat -framerate 30 -i colored_images_list.txt -r 30 -pix_fmt yuv420p test.mp4
trash: Volume of file: /home
trash: Trash-dir: /home/roland/.local/share/Trash from volume: /home
trash: 'test.mp4' trashed in ~/.local/share/Trash
ffmpeg version 4.4.5-0ubuntu1~22.04.sav0 Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
  configuration: --prefix=/usr --extra-version='0ubuntu1~22.04.sav0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version='0ubuntu1~22.04.sav0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libaribb24 --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc --enable-libsmbclient
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Option framerate not found.
</code></pre>
<p>What's the solution here? how can I indicate the input frame rate should be 30 fps(thus the duration of 0.1 sec to be 3 frames)</p>

<ffmpeg>
FFmpeg video-from-images with different durations, has wrong durations?
Roland
# FFmpeg video-from-images with different durations, has wrong durations?

(Asked by: username_0 on 2024-11-22)

I'm creating a video from a list of images, where images should have different durations.
This works, except the images do not have the correct durations in the resulting video.
Using Linux Mint and FFmpeg version 4.4.2 or 4.5.5
To illustrate, lets create a 30 fps video with a red images for 1 second, followed by alternating green and blue images lasting 100 ms (= 3 frames) each.
Create 3 colored images:
ffmpeg -f lavfi -i color=c=red:s=1000x1000:d=1 red_image.png
ffmpeg -f lavfi -i color=c=green:s=1000x1000:d=1 green_image.png
ffmpeg -f lavfi -i color=c=blue:s=1000x1000:d=1 blue_image.png

Save this as colored_images_list.txt
file red_image.png
duration 1
file green_image.png
duration 0.1
file blue_image.png
duration 0.1
file green_image.png
duration 0.1
file blue_image.png
duration 0.1
file green_image.png
duration 0.1
file blue_image.png
duration 0.1
file green_image.png
duration 0.1
file blue_image.png

and run the command
ffmpeg -f concat -i colored_images_list.txt -r 30 -pix_fmt yuv420p test.mp4
The resulting video should contain 30 red frames, followed by 3 green frames, 3 blue frames, 3 green frames, 3 blue frames, etc.
But (as can be verified using any video editor or ffmpeg -i test.mp4 output_frame_%04d.png) it contains 29 red frames, then 4 green frame, 2 blue frames, 4 green frames, 2 blue frames, etc.
My suspicion is that the video is created at 25 fps which isn't a great fit for the 0.1 s durations (which would be 2.5 frame) and then converted to 30 fps.
The output of FFmpeg seem to support this:
  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
  configuration: --prefix=/usr --extra-version='0ubuntu1~22.04.sav0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version='0ubuntu1~22.04.sav0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libaribb24 --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc --enable-libsmbclient
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Input #0, concat, from 'colored_images_list.txt':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: png, rgb24(pc), 1000x1000 [SAR 1:1 DAR 1:1], 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (png (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x5555c7528dc0] using SAR=1/1
[libx264 @ 0x5555c7528dc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x5555c7528dc0] profile High, level 3.2, 4:2:0, 8-bit
[libx264 @ 0x5555c7528dc0] 264 - core 164 r3191 4613ac3 - H.264/MPEG-4 AVC codec - Copyleft 2003-2024 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=18 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'test.mp4':
  Metadata:
    encoder         : Lavf58.76.100
  Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, progressive), 1000x1000 [SAR 1:1 DAR 1:1], q=2-31, 30 fps, 15360 tbn
    Metadata:
      encoder         : Lavc58.134.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame=   49 fps=0.0 q=-1.0 Lsize=       5kB time=00:00:01.53 bitrate=  27.7kbits/s dup=42 drop=0 speed=4.17x    
video:4kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 37.138432%
[libx264 @ 0x5555c7528dc0] frame I:5     Avg QP: 8.86  size:   257
[libx264 @ 0x5555c7528dc0] frame P:13    Avg QP:12.38  size:    49
[libx264 @ 0x5555c7528dc0] frame B:31    Avg QP:14.16  size:    41
[libx264 @ 0x5555c7528dc0] consecutive B-frames: 14.3%  0.0% 12.2% 73.5%
[libx264 @ 0x5555c7528dc0] mb I  I16..4: 100.0%  0.0%  0.0%
[libx264 @ 0x5555c7528dc0] mb P  I16..4:  0.0%  0.0%  0.0%  P16..4:  0.0%  0.0%  0.0%  0.0%  0.0%    skip:100.0%
[libx264 @ 0x5555c7528dc0] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.0%  0.0%  0.0%  direct: 0.0%  skip:100.0%  L0:50.0% L1:50.0% BI: 0.0%
[libx264 @ 0x5555c7528dc0] 8x8 transform intra:0.0%
[libx264 @ 0x5555c7528dc0] coded y,uvDC,uvAC intra: 0.0% 0.0% 0.0% inter: 0.0% 0.0% 0.0%
[libx264 @ 0x5555c7528dc0] i16 v,h,dc,p: 98%  0%  2%  0%
[libx264 @ 0x5555c7528dc0] i8c dc,h,v,p: 98%  2%  0%  0%
[libx264 @ 0x5555c7528dc0] Weighted P-Frames: Y:15.4% UV:15.4%
[libx264 @ 0x5555c7528dc0] kb/s:15.59

I've found several sources (https://ffmpeg.org/ffmpeg-formats.html#image2-1 explaining to se the input frame rate using -framerate 1/30 before the -i option. but this gives me the error
$ ffmpeg -f concat -framerate 30 -i colored_images_list.txt -r 30 -pix_fmt yuv420p test.mp4
trash: Volume of file: /home
trash: Trash-dir: /home/roland/.local/share/Trash from volume: /home
trash: 'test.mp4' trashed in ~/.local/share/Trash
ffmpeg version 4.4.5-0ubuntu1~22.04.sav0 Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
  configuration: --prefix=/usr --extra-version='0ubuntu1~22.04.sav0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version='0ubuntu1~22.04.sav0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libaribb24 --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc --enable-libsmbclient
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Option framerate not found.

What's the solution here? how can I indicate the input frame rate should be 30 fps(thus the duration of 0.1 sec to be 3 frames)

**Tags:** ffmpeg


---

## 1 answers

### Answer by username_1 on 2024-11-22. Score: 0

Your suspicion is correct. The image demuxer has a default framerate of 25.
To set a framerate of 30, you will need ffmpeg 5.0+ and modify each file entry as follows:
file red_image.png
option framerate 30
duration 1


---

