[FFmpeg-trac] #2806(undetermined:new): Overlay filter with “shortest=1” drops last frame

FFmpeg trac at avcodec.org
Wed Jul 24 16:05:38 CEST 2013


#2806: Overlay filter with “shortest=1” drops last frame
-------------------------------------+-------------------------------------
             Reporter:  hansmi       |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
              Version:  unspecified  |  undetermined
             Keywords:               |               Resolution:
             Blocking:               |               Blocked By:
Analyzed by developer:  0            |  Reproduced by developer:  0
-------------------------------------+-------------------------------------

Comment (by hansmi):

 Using Git master branch as of Wed Jul 24 13:48:12 UTC 2013:

 {{{
 ~/src/ffmpeg $ git describe
 n2.0-314-gc5f3cc4

 /tmp/ffmpeg-git-install $ bin/ffmpeg
 ffmpeg version N-54917-gc5f3cc4 Copyright (c) 2000-2013 the FFmpeg
 developers
   built on Jul 24 2013 15:46:49 with Apple LLVM version 4.2
 (clang-425.0.28) (based on LLVM 3.2svn)
   configuration: --prefix=/tmp/ffmpeg-git-install --enable-swscale
 --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libopus
 --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-
 libmodplug --enable-libvpx --enable-libspeex --enable-libass --enable-
 libbluray --enable-gnutls --enable-libfreetype --enable-shared --enable-
 pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-yasm --enable-gpl
 --enable-postproc --enable-libx264 --enable-libxvid
   libavutil      52. 40.100 / 52. 40.100
   libavcodec     55. 19.100 / 55. 19.100
   libavformat    55. 12.102 / 55. 12.102
   libavdevice    55.  3.100 / 55.  3.100
   libavfilter     3. 81.102 /  3. 81.102
   libswscale      2.  4.100 /  2.  4.100
   libswresample   0. 17.103 /  0. 17.103
   libpostproc    52.  3.100 / 52.  3.100
 Hyper fast Audio and Video encoder
 usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options]
 outfile}...

 Use -h to get full help or, even better, run 'man ffmpeg'
 }}}

 Generating input frames:

 {{{
 /tmp/ffmpeg-git-install $ for i in {0..30}; do \
 >   convert -alpha on -background none -fill red \
 >     -pointsize 30  -size 200x200 -gravity center \
 >     label:$i png32:frame_$(printf '%03d' $i).png; \
 > done

 /tmp/ffmpeg-git-install $ echo frame_*.png
 frame_000.png frame_001.png frame_002.png frame_003.png frame_004.png
 frame_005.png frame_006.png frame_007.png frame_008.png frame_009.png
 frame_010.png frame_011.png frame_012.png frame_013.png frame_014.png
 frame_015.png frame_016.png frame_017.png frame_018.png frame_019.png
 frame_020.png frame_021.png frame_022.png frame_023.png frame_024.png
 frame_025.png frame_026.png frame_027.png frame_028.png frame_029.png
 frame_030.png
 }}}

 Input file information (notice how there are 31 frames):

 {{{
 /tmp/ffmpeg-git-install $ bin/ffmpeg -v 9 -loglevel 99 -i 'frame_%03d.png'
 ffmpeg version N-54917-gc5f3cc4 Copyright (c) 2000-2013 the FFmpeg
 developers
   built on Jul 24 2013 15:46:49 with Apple LLVM version 4.2
 (clang-425.0.28) (based on LLVM 3.2svn)
   configuration: --prefix=/tmp/ffmpeg-git-install --enable-swscale
 --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libopus
 --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-
 libmodplug --enable-libvpx --enable-libspeex --enable-libass --enable-
 libbluray --enable-gnutls --enable-libfreetype --enable-shared --enable-
 pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-yasm --enable-gpl
 --enable-postproc --enable-libx264 --enable-libxvid
   libavutil      52. 40.100 / 52. 40.100
   libavcodec     55. 19.100 / 55. 19.100
   libavformat    55. 12.102 / 55. 12.102
   libavdevice    55.  3.100 / 55.  3.100
   libavfilter     3. 81.102 /  3. 81.102
   libswscale      2.  4.100 /  2.  4.100
   libswresample   0. 17.103 /  0. 17.103
   libpostproc    52.  3.100 / 52.  3.100
 Splitting the commandline.
 Reading option '-v' ... matched as option 'v' (set logging level) with
 argument '9'.
 Reading option '-loglevel' ... matched as option 'loglevel' (set logging
 level) with argument '99'.
 Reading option '-i' ... matched as input file with argument
 'frame_%03d.png'.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option v (set logging level) with argument 9.
 Successfully parsed a group of options.
 Parsing a group of options: input file frame_%03d.png.
 Successfully parsed a group of options.
 Opening an input file: frame_%03d.png.
 [AVIOContext @ 0x7fd809c13880] Statistics: 907 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c13da0] Statistics: 589 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c13da0] Statistics: 849 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c148e0] Statistics: 861 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c14640] Statistics: 733 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c14720] Statistics: 880 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c155c0] Statistics: 962 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c15a80] Statistics: 715 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c15e40] Statistics: 946 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c16360] Statistics: 965 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c16880] Statistics: 1031 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c16960] Statistics: 625 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c16d40] Statistics: 1006 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c16e20] Statistics: 1029 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c16f00] Statistics: 848 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c173a0] Statistics: 1021 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c17480] Statistics: 1090 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c17560] Statistics: 862 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c17a20] Statistics: 1080 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c17b00] Statistics: 1130 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c17be0] Statistics: 1233 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c17cc0] Statistics: 985 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c18220] Statistics: 861 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c186e0] Statistics: 1204 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c187c0] Statistics: 1060 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c188a0] Statistics: 1202 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c18980] Statistics: 1274 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c18ac0] Statistics: 1052 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c18ba0] Statistics: 1262 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c18c80] Statistics: 1259 bytes read, 0 seeks
 [AVIOContext @ 0x7fd809c18dc0] Statistics: 1263 bytes read, 0 seeks
 Input #0, image2, from 'frame_%03d.png':
   Duration: 00:00:01.24, start: 0.000000, bitrate: N/A
     Stream #0:0, 31, 1/25: Video: png, rgba, 200x200, 1/25, 25 fps, 25
 tbr, 25 tbn, 25 tbc
 Successfully opened the file.
 At least one output file must be specified
 }}}

 Produce video without overlay filter:

 {{{
 /tmp/ffmpeg-git-install $ bin/ffmpeg -an -v 9 -loglevel 99 \
 > -f image2 -i 'frame_%03d.png' \
 > -filter_complex "[0:v]
 drawtext=fontfile=/Library/Fonts/Arial.ttf:x=5:y=5:text='frame %{n}'
 [out]" \
 > -map '[out]' \
 > -vcodec mpeg4 -b:v 600k -flags +aic+mv4 \
 > working.mp4
 ffmpeg version N-54917-gc5f3cc4 Copyright (c) 2000-2013 the FFmpeg
 developers
   built on Jul 24 2013 15:46:49 with Apple LLVM version 4.2
 (clang-425.0.28) (based on LLVM 3.2svn)
   configuration: --prefix=/tmp/ffmpeg-git-install --enable-swscale
 --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libopus
 --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-
 libmodplug --enable-libvpx --enable-libspeex --enable-libass --enable-
 libbluray --enable-gnutls --enable-libfreetype --enable-shared --enable-
 pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-yasm --enable-gpl
 --enable-postproc --enable-libx264 --enable-libxvid
   libavutil      52. 40.100 / 52. 40.100
   libavcodec     55. 19.100 / 55. 19.100
   libavformat    55. 12.102 / 55. 12.102
   libavdevice    55.  3.100 / 55.  3.100
   libavfilter     3. 81.102 /  3. 81.102
   libswscale      2.  4.100 /  2.  4.100
   libswresample   0. 17.103 /  0. 17.103
   libpostproc    52.  3.100 / 52.  3.100
 Splitting the commandline.
 Reading option '-an' ... matched as option 'an' (disable audio) with
 argument '1'.
 Reading option '-v' ... matched as option 'v' (set logging level) with
 argument '9'.
 Reading option '-loglevel' ... matched as option 'loglevel' (set logging
 level) with argument '99'.
 Reading option '-f' ... matched as option 'f' (force format) with argument
 'image2'.
 Reading option '-i' ... matched as input file with argument
 'frame_%03d.png'.
 Reading option '-filter_complex' ... matched as option 'filter_complex'
 (create a complex filtergraph) with argument '[0:v]
 drawtext=fontfile=/Library/Fonts/Arial.ttf:x=5:y=5:text='frame %{n}'
 [out]'.
 Reading option '-map' ... matched as option 'map' (set input stream
 mapping) with argument '[out]'.
 Reading option '-vcodec' ... matched as option 'vcodec' (force video codec
 ('copy' to copy stream)) with argument 'mpeg4'.
 Reading option '-b:v' ... matched as option 'b' (video bitrate (please use
 -b:v)) with argument '600k'.
 Reading option '-flags' ... matched as AVOption 'flags' with argument
 '+aic+mv4'.
 Reading option 'working.mp4' ... matched as output file.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option v (set logging level) with argument 9.
 Applying option filter_complex (create a complex filtergraph) with
 argument [0:v]
 drawtext=fontfile=/Library/Fonts/Arial.ttf:x=5:y=5:text='frame %{n}'
 [out].
 Successfully parsed a group of options.
 Parsing a group of options: input file frame_%03d.png.
 Applying option an (disable audio) with argument 1.
 Applying option f (force format) with argument image2.
 Successfully parsed a group of options.
 Opening an input file: frame_%03d.png.
 [AVIOContext @ 0x7fecc3413e40] Statistics: 907 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3414340] Statistics: 589 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3414340] Statistics: 849 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3414ec0] Statistics: 861 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3414c20] Statistics: 733 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3414d00] Statistics: 880 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3415be0] Statistics: 962 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc34160a0] Statistics: 715 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3416460] Statistics: 946 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3416980] Statistics: 965 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3416ea0] Statistics: 1031 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3416f80] Statistics: 625 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3417360] Statistics: 1006 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3417440] Statistics: 1029 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3417520] Statistics: 848 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc34179c0] Statistics: 1021 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3417aa0] Statistics: 1090 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3417b80] Statistics: 862 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3418040] Statistics: 1080 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3418120] Statistics: 1130 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3418200] Statistics: 1233 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc34182e0] Statistics: 985 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3418840] Statistics: 861 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3418d00] Statistics: 1204 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3418de0] Statistics: 1060 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3418ec0] Statistics: 1202 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc3418fa0] Statistics: 1274 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc34190e0] Statistics: 1052 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc34191c0] Statistics: 1262 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc34192a0] Statistics: 1259 bytes read, 0 seeks
 [AVIOContext @ 0x7fecc34193e0] Statistics: 1263 bytes read, 0 seeks
 Input #0, image2, from 'frame_%03d.png':
   Duration: 00:00:01.24, start: 0.000000, bitrate: N/A
     Stream #0:0, 31, 1/25: Video: png, rgba, 200x200, 1/25, 25 fps, 25
 tbr, 25 tbn, 25 tbc
 Successfully opened the file.
 Parsing a group of options: output file working.mp4.
 Applying option map (set input stream mapping) with argument [out].
 Applying option vcodec (force video codec ('copy' to copy stream)) with
 argument mpeg4.
 Applying option b:v (video bitrate (please use -b:v)) with argument 600k.
 Successfully parsed a group of options.
 Opening an output file: working.mp4.
 detected 2 logical cores
 [Parsed_drawtext_0 @ 0x7fecc4000000] Setting 'fontfile' to value
 '/Library/Fonts/Arial.ttf'
 [Parsed_drawtext_0 @ 0x7fecc4000000] Setting 'x' to value '5'
 [Parsed_drawtext_0 @ 0x7fecc4000000] Setting 'y' to value '5'
 [Parsed_drawtext_0 @ 0x7fecc4000000] Setting 'text' to value 'frame %{n}'
 [graph 0 input from stream 0:0 @ 0x7fecc4002860] Setting 'video_size' to
 value '200x200'
 [graph 0 input from stream 0:0 @ 0x7fecc4002860] Setting 'pix_fmt' to
 value '28'
 [graph 0 input from stream 0:0 @ 0x7fecc4002860] Setting 'time_base' to
 value '1/25'
 [graph 0 input from stream 0:0 @ 0x7fecc4002860] Setting 'pixel_aspect' to
 value '0/1'
 [graph 0 input from stream 0:0 @ 0x7fecc4002860] Setting 'sws_param' to
 value 'flags=2'
 [graph 0 input from stream 0:0 @ 0x7fecc4002860] Setting 'frame_rate' to
 value '25/1'
 [graph 0 input from stream 0:0 @ 0x7fecc4002860] w:200 h:200 pixfmt:rgba
 tb:1/25 fr:25/1 sar:0/1 sws_param:flags=2
 [format @ 0x7fecc40035a0] compat: called with args=[yuv420p]
 [format @ 0x7fecc40035a0] Setting 'pix_fmts' to value 'yuv420p'
 Successfully opened the file.
 [auto-inserted scaler 0 @ 0x7fecc4003c40] w:iw h:ih flags:'bilinear'
 interl:0
 [format @ 0x7fecc40035a0] auto-inserting filter 'auto-inserted scaler 0'
 between the filter 'Parsed_drawtext_0' and the filter 'format'
 [AVFilterGraph @ 0x7fecc3415180] query_formats: 4 queried, 2 merged, 1
 already done, 0 delayed
 [auto-inserted scaler 0 @ 0x7fecc4003c40] w:200 h:200 fmt:rgba sar:0/1 ->
 w:200 h:200 fmt:yuv420p sar:0/1 flags:0x2
 [mpeg4 @ 0x7fecc480c400] intra_quant_bias = 0 inter_quant_bias = -64
 Output #0, mp4, to 'working.mp4':
   Metadata:
     encoder         : Lavf55.12.102
     Stream #0:0, 0, 1/12800: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p,
 200x200, 1/25, q=2-31, 600 kb/s, 12800 tbn, 25 tbc
 Stream mapping:
   Stream #0:0 (png) -> drawtext
   drawtext -> Stream #0:0 (mpeg4)
 Press [q] to stop, [?] for help
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:0 t:0.000000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:1 t:0.040000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:2 t:0.080000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:3 t:0.120000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:4 t:0.160000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:5 t:0.200000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:6 t:0.240000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:7 t:0.280000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:8 t:0.320000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:9 t:0.360000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:10 t:0.400000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:11 t:0.440000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:12 t:0.480000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:13 t:0.520000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:14 t:0.560000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:15 t:0.600000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:16 t:0.640000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:17 t:0.680000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:18 t:0.720000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:19 t:0.760000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:20 t:0.800000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:21 t:0.840000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:22 t:0.880000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:23 t:0.920000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:24 t:0.960000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:25 t:1.000000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:26 t:1.040000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:27 t:1.080000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:28 t:1.120000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:29 t:1.160000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_drawtext_0 @ 0x7fecc4000000] Copying data in avfilter.
 [Parsed_drawtext_0 @ 0x7fecc4000000] n:30 t:1.200000 text_w:62 text_h:12
 x:5 y:5
 [output stream 0:0 @ 0x7fecc4003320] EOF on sink link output stream
 0:0:default.
 No more output streams to write to, finishing.
 frame=   31 fps=0.0 q=2.0 Lsize=      23kB time=00:00:01.24 bitrate=
 151.9kbits/s
 video:22kB audio:0kB subtitle:0 global headers:0kB muxing overhead
 4.185470%
 31 frames successfully decoded, 0 decoding errors
 [AVIOContext @ 0x7fecc4003900] Statistics: 34 seeks, 57 writeouts
 }}}

 It has 31 frames as intended:

 {{{
 /tmp/ffmpeg-git-install $ bin/ffprobe -show_streams -loglevel quiet
 working.mp4 | grep -w nb_frames
 nb_frames=31
 }}}

 Now produce another video using “overlay=shortest=1”:

 {{{
 /tmp/ffmpeg-git-install $ bin/ffmpeg -an -v 9 -loglevel 99 \
 > -f image2 -i 'frame_%03d.png' \
 > -f lavfi -i 'color=c=white:size=200x200' \
 > -filter_complex "[1:v][0:v] overlay=shortest=1,
 drawtext=fontfile=/Library/Fonts/Arial.ttf:x=5:y=5:text='frame %{n}'
 [out]" \
 > -map '[out]' \
 > -vcodec mpeg4 -b:v 600k -flags +aic+mv4 \
 > missingframe.mp4
 ffmpeg version N-54917-gc5f3cc4 Copyright (c) 2000-2013 the FFmpeg
 developers
   built on Jul 24 2013 15:46:49 with Apple LLVM version 4.2
 (clang-425.0.28) (based on LLVM 3.2svn)
   configuration: --prefix=/tmp/ffmpeg-git-install --enable-swscale
 --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libopus
 --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-
 libmodplug --enable-libvpx --enable-libspeex --enable-libass --enable-
 libbluray --enable-gnutls --enable-libfreetype --enable-shared --enable-
 pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-yasm --enable-gpl
 --enable-postproc --enable-libx264 --enable-libxvid
   libavutil      52. 40.100 / 52. 40.100
   libavcodec     55. 19.100 / 55. 19.100
   libavformat    55. 12.102 / 55. 12.102
   libavdevice    55.  3.100 / 55.  3.100
   libavfilter     3. 81.102 /  3. 81.102
   libswscale      2.  4.100 /  2.  4.100
   libswresample   0. 17.103 /  0. 17.103
   libpostproc    52.  3.100 / 52.  3.100
 Splitting the commandline.
 Reading option '-an' ... matched as option 'an' (disable audio) with
 argument '1'.
 Reading option '-v' ... matched as option 'v' (set logging level) with
 argument '9'.
 Reading option '-loglevel' ... matched as option 'loglevel' (set logging
 level) with argument '99'.
 Reading option '-f' ... matched as option 'f' (force format) with argument
 'image2'.
 Reading option '-i' ... matched as input file with argument
 'frame_%03d.png'.
 Reading option '-f' ... matched as option 'f' (force format) with argument
 'lavfi'.
 Reading option '-i' ... matched as input file with argument
 'color=c=white:size=200x200'.
 Reading option '-filter_complex' ... matched as option 'filter_complex'
 (create a complex filtergraph) with argument '[1:v][0:v]
 overlay=shortest=1,
 drawtext=fontfile=/Library/Fonts/Arial.ttf:x=5:y=5:text='frame %{n}'
 [out]'.
 Reading option '-map' ... matched as option 'map' (set input stream
 mapping) with argument '[out]'.
 Reading option '-vcodec' ... matched as option 'vcodec' (force video codec
 ('copy' to copy stream)) with argument 'mpeg4'.
 Reading option '-b:v' ... matched as option 'b' (video bitrate (please use
 -b:v)) with argument '600k'.
 Reading option '-flags' ... matched as AVOption 'flags' with argument
 '+aic+mv4'.
 Reading option 'missingframe.mp4' ... matched as output file.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option v (set logging level) with argument 9.
 Applying option filter_complex (create a complex filtergraph) with
 argument [1:v][0:v] overlay=shortest=1,
 drawtext=fontfile=/Library/Fonts/Arial.ttf:x=5:y=5:text='frame %{n}'
 [out].
 Successfully parsed a group of options.
 Parsing a group of options: input file frame_%03d.png.
 Applying option an (disable audio) with argument 1.
 Applying option f (force format) with argument image2.
 Successfully parsed a group of options.
 Opening an input file: frame_%03d.png.
 [AVIOContext @ 0x7fa65b414040] Statistics: 907 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b414560] Statistics: 589 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b414560] Statistics: 849 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b414da0] Statistics: 861 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b414e00] Statistics: 733 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b414ee0] Statistics: 880 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b415dc0] Statistics: 962 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b416280] Statistics: 715 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b416640] Statistics: 946 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b416b60] Statistics: 965 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b417080] Statistics: 1031 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b417160] Statistics: 625 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b417540] Statistics: 1006 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b417620] Statistics: 1029 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b417700] Statistics: 848 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b417ba0] Statistics: 1021 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b417c80] Statistics: 1090 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b417d60] Statistics: 862 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b418220] Statistics: 1080 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b418300] Statistics: 1130 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b4183e0] Statistics: 1233 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b4184c0] Statistics: 985 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b418a20] Statistics: 861 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b418ee0] Statistics: 1204 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b418fc0] Statistics: 1060 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b4190a0] Statistics: 1202 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b419180] Statistics: 1274 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b4192c0] Statistics: 1052 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b4193a0] Statistics: 1262 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b419480] Statistics: 1259 bytes read, 0 seeks
 [AVIOContext @ 0x7fa65b4195c0] Statistics: 1263 bytes read, 0 seeks
 Input #0, image2, from 'frame_%03d.png':
   Duration: 00:00:01.24, start: 0.000000, bitrate: N/A
     Stream #0:0, 31, 1/25: Video: png, rgba, 200x200, 1/25, 25 fps, 25
 tbr, 25 tbn, 25 tbc
 Successfully opened the file.
 Parsing a group of options: input file color=c=white:size=200x200.
 Applying option f (force format) with argument lavfi.
 Successfully parsed a group of options.
 Opening an input file: color=c=white:size=200x200.
 detected 2 logical cores
 [Parsed_color_0 @ 0x7fa65c000000] Setting 'c' to value 'white'
 [Parsed_color_0 @ 0x7fa65c000000] Setting 'size' to value '200x200'
 [Parsed_color_0 @ 0x7fa65c000000] size:200x200 rate:25/1
 duration:-1.000000 sar:1/1
 [AVFilterGraph @ 0x7fa65b4137c0] query_formats: 2 queried, 1 merged, 0
 already done, 0 delayed
 [lavfi @ 0x7fa65b814200] All info found
 Input #1, lavfi, from 'color=c=white:size=200x200':
   Duration: N/A, start: 0.000000, bitrate: N/A
     Stream #1:0, 1, 1/25: Video: rawvideo (I420 / 0x30323449), yuv420p,
 200x200 [SAR 1:1 DAR 1:1], 1/25, 25 tbr, 25 tbn, 25 tbc
 Successfully opened the file.
 Parsing a group of options: output file missingframe.mp4.
 Applying option map (set input stream mapping) with argument [out].
 Applying option vcodec (force video codec ('copy' to copy stream)) with
 argument mpeg4.
 Applying option b:v (video bitrate (please use -b:v)) with argument 600k.
 Successfully parsed a group of options.
 Opening an output file: missingframe.mp4.
 [Parsed_overlay_0 @ 0x7fa65c001760] Setting 'shortest' to value '1'
 [Parsed_drawtext_1 @ 0x7fa65c001d80] Setting 'fontfile' to value
 '/Library/Fonts/Arial.ttf'
 [Parsed_drawtext_1 @ 0x7fa65c001d80] Setting 'x' to value '5'
 [Parsed_drawtext_1 @ 0x7fa65c001d80] Setting 'y' to value '5'
 [Parsed_drawtext_1 @ 0x7fa65c001d80] Setting 'text' to value 'frame %{n}'
 [graph 0 input from stream 1:0 @ 0x7fa65c0044e0] Setting 'video_size' to
 value '200x200'
 [graph 0 input from stream 1:0 @ 0x7fa65c0044e0] Setting 'pix_fmt' to
 value '0'
 [graph 0 input from stream 1:0 @ 0x7fa65c0044e0] Setting 'time_base' to
 value '1/25'
 [graph 0 input from stream 1:0 @ 0x7fa65c0044e0] Setting 'pixel_aspect' to
 value '1/1'
 [graph 0 input from stream 1:0 @ 0x7fa65c0044e0] Setting 'sws_param' to
 value 'flags=2'
 [graph 0 input from stream 1:0 @ 0x7fa65c0044e0] Setting 'frame_rate' to
 value '25/1'
 [graph 0 input from stream 1:0 @ 0x7fa65c0044e0] w:200 h:200
 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
 [graph 0 input from stream 0:0 @ 0x7fa65c0048e0] Setting 'video_size' to
 value '200x200'
 [graph 0 input from stream 0:0 @ 0x7fa65c0048e0] Setting 'pix_fmt' to
 value '28'
 [graph 0 input from stream 0:0 @ 0x7fa65c0048e0] Setting 'time_base' to
 value '1/25'
 [graph 0 input from stream 0:0 @ 0x7fa65c0048e0] Setting 'pixel_aspect' to
 value '0/1'
 [graph 0 input from stream 0:0 @ 0x7fa65c0048e0] Setting 'sws_param' to
 value 'flags=2'
 [graph 0 input from stream 0:0 @ 0x7fa65c0048e0] Setting 'frame_rate' to
 value '25/1'
 [graph 0 input from stream 0:0 @ 0x7fa65c0048e0] w:200 h:200 pixfmt:rgba
 tb:1/25 fr:25/1 sar:0/1 sws_param:flags=2
 [format @ 0x7fa65c0054c0] compat: called with args=[yuv420p]
 [format @ 0x7fa65c0054c0] Setting 'pix_fmts' to value 'yuv420p'
 Successfully opened the file.
 [auto-inserted scaler 0 @ 0x7fa65c005b00] w:iw h:ih flags:'bilinear'
 interl:0
 [Parsed_overlay_0 @ 0x7fa65c001760] auto-inserting filter 'auto-inserted
 scaler 0' between the filter 'graph 0 input from stream 0:0' and the
 filter 'Parsed_overlay_0'
 [AVFilterGraph @ 0x7fa65c001280] query_formats: 6 queried, 4 merged, 1
 already done, 0 delayed
 [auto-inserted scaler 0 @ 0x7fa65c005b00] w:200 h:200 fmt:rgba sar:0/1 ->
 w:200 h:200 fmt:yuva420p sar:0/1 flags:0x2
 [Parsed_overlay_0 @ 0x7fa65c001760] main w:200 h:200 fmt:yuv420p overlay
 w:200 h:200 fmt:yuva420p
 [mpeg4 @ 0x7fa65c82fa00] intra_quant_bias = 0 inter_quant_bias = -64
 Output #0, mp4, to 'missingframe.mp4':
   Metadata:
     encoder         : Lavf55.12.102
     Stream #0:0, 0, 1/12800: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p,
 200x200 [SAR 1:1 DAR 1:1], 1/25, q=2-31, 600 kb/s, 12800 tbn, 25 tbc
 Stream mapping:
   Stream #0:0 (png) -> overlay:overlay
   Stream #1:0 (rawvideo) -> overlay:main
   drawtext -> Stream #0:0 (mpeg4)
 Press [q] to stop, [?] for help
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:0.000000 t:0.000000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:0 t:0.000000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:1.000000 t:0.040000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:1 t:0.040000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:2.000000 t:0.080000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:2 t:0.080000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:3.000000 t:0.120000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:3 t:0.120000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:4.000000 t:0.160000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:4 t:0.160000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:5.000000 t:0.200000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:5 t:0.200000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:6.000000 t:0.240000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:6 t:0.240000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:7.000000 t:0.280000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:7 t:0.280000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:8.000000 t:0.320000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:8 t:0.320000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:9.000000 t:0.360000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:9 t:0.360000 text_w:53 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:10.000000 t:0.400000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:10 t:0.400000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:11.000000 t:0.440000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:11 t:0.440000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:12.000000 t:0.480000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:12 t:0.480000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:13.000000 t:0.520000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:13 t:0.520000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:14.000000 t:0.560000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:14 t:0.560000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:15.000000 t:0.600000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:15 t:0.600000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:16.000000 t:0.640000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:16 t:0.640000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:17.000000 t:0.680000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:17 t:0.680000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:18.000000 t:0.720000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:18 t:0.720000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:19.000000 t:0.760000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:19 t:0.760000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:20.000000 t:0.800000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:20 t:0.800000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:21.000000 t:0.840000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:21 t:0.840000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:22.000000 t:0.880000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:22 t:0.880000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:23.000000 t:0.920000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:23 t:0.920000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:24.000000 t:0.960000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:24 t:0.960000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:25.000000 t:1.000000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:25 t:1.000000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:26.000000 t:1.040000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:26 t:1.040000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:27.000000 t:1.080000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:27 t:1.080000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:28.000000 t:1.120000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:28 t:1.120000 text_w:62 text_h:12
 x:5 y:5
 [Parsed_overlay_0 @ 0x7fa65c001760] Copying data in avfilter.
 [Parsed_overlay_0 @ 0x7fa65c001760] n:29.000000 t:1.160000 pos:nan
 x:0.000000 xi:0 y:0.000000 yi:0
 [Parsed_drawtext_1 @ 0x7fa65c001d80] n:29 t:1.160000 text_w:62 text_h:12
 x:5 y:5
 [output stream 0:0 @ 0x7fa65c005180] EOF on sink link output stream
 0:0:default.
 No more output streams to write to, finishing.
 frame=   30 fps=0.0 q=2.0 Lsize=      38kB time=00:00:01.20 bitrate=
 259.9kbits/s
 video:37kB audio:0kB subtitle:0 global headers:0kB muxing overhead
 2.475690%
 61 frames successfully decoded, 0 decoding errors
 [AVIOContext @ 0x7fa65c005940] Statistics: 34 seeks, 56 writeouts
 }}}

 This video has only 30 frames, missing one:

 {{{
 /tmp/ffmpeg-git-install $ bin/ffprobe -show_streams -loglevel quiet
 missingframe.mp4 | grep -w nb_frames
 nb_frames=30
 }}}

 As can be determined by looking at working.mp4 and missingframe.mp4 it is
 the last frame that's missing.

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2806#comment:2>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list