The ffmpeg application duplicates the second last frame when reading some mpeg files (example attached). For example, the following output from an ffmpeg run shows that 394 frames have been extracted from the attached file which only holds 393 frames (see timecode visible in the pictures). ffmpeg output from the following command: ffmpeg -i 393.mpg -f image2 'img%03d.jpg' ======================================================== FFmpeg version SVN-r5991, Copyright (c) 2000-2004 Fabrice Bellard configuration: --disable-strip --disable-opts --disable-mmx libavutil version: 49.0.0 libavcodec version: 51.11.0 libavformat version: 50.5.0 built on Aug 13 2006 17:58:38, gcc: 4.0.4 20060507 (prerelease) (Debian 4.0.3-3) Input #0, mpeg, from '393.mpg': Duration: 00:00:14.8, start: 0.220000, bitrate: 2065 kb/s Stream #0.0[0x1e0]: Video: mpeg1video, yuv420p, 720x576, 1700 kb/s, 25.00 fps(r) Stream #0.1[0x1c0]: Audio: mp2, 44100 Hz, stereo, 224 kb/s Output #0, image2, to 'img%03d.jpg': Stream #0.0: Video: mjpeg, yuvj420p, 720x576, q=2-31, 200 kb/s, 25.00 fps(c) Stream mapping: Stream #0.0 -> #0.0 [mjpeg @ 0x83c7978]removing common factors from framerate Press [q] to stop encoding frame= 394 q=24.8 Lsize= 0kB time=15.8 bitrate= 0.0kbits/s video:5968kB audio:0kB global headers:0kB muxing overhead -100.000000% =============================================================== The problem is reproducible also on Windows/MinGW, and it is in the libraries, not the ffmpeg application.