[FFmpeg-trac] #1578(undetermined:new): variable FPS incorrect frame length
FFmpeg
trac at avcodec.org
Fri Jul 27 09:37:01 CEST 2012
#1578: variable FPS incorrect frame length
-------------------------------------+-------------------------------------
Reporter: kubabrecka | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
fps,framerate,vfr,qtrle | Reproduced by developer: 0
Blocking: |
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
I have a sample video to reproduce this bug - see attachment.
The video is in Apple Animation codec (qtrle) with variable frame rate and
contains only 5 frames. Frames 1,2,4 and 5 are displayed for a very short
time, but frame 3 is much longer.
When I extract all the frames into PNGs with this command:
./ffmpeg -vsync 2 -i apple-animation-variable-fps-bug.mov -vf
"[in]showinfo[out]" out/img%04d.png
it's fine, I get 5 PNG files, and the timestamps shown on the output are
correct:
n:0 pts:0 pts_time:0 pos:48
n:1 pts:600 pts_time:0.2 pos:4335
n:2 pts:1300 pts_time:0.433333 pos:8286
n:3 pts:7300 pts_time:2.43333 pos:12518
n:4 pts:8100 pts_time:2.7 pos:16642
as you can see, frame n:2 (the third frame) is displayed for much longer
than the others. However, when I run this command to dump the frames with
a constant FPS:
./ffmpeg -i apple-animation-variable-fps-bug.mov -r 30 out/img%04d.png
the frames are dumped with wrong timing. The "long" frame was 2 seconds
long, so it should be in about 60 frames (with FPS 30), but instead it
only gets 7 frames. But the next frame which should be very short is
dumped into 60 frames. It seems that the conversion between variable FPS
into constant FPS incorrectly assigns frame length into the next frame.
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1578>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list