[Ffmpeg-devel] VFR support

Emiliano Parasassi millallo
Thu Oct 20 12:50:26 CEST 2005


> 1/10 is not a working timebase for variable framerate anywhere between
> 1 and 10 fps; it only works for 1, 2, 5, and 10 fps. If the frame
> durations are all integer multiples of 1/10, then you can use 1/2520
> (lcm of 1,2,...,10 unless I made a mistake); otherwise just use some
> small physical unit like microseconds.
> In any case, you need to set the pts values correctly for each frame
> you write. MPlayer and vlc incorrectly show the timebase as a
> "framerate" but they should play the file correctly still.
> 
> Rich
> 

8 rows of wisdom ;)

Unfortunately there is yet something wrong :(
I tried to encode always a test frame with different PTS:

AVCContext.timebase = 1/4
AVStream.timebase =   1/90000 (for mov container)

CODED_PTS=1  (1/4) AVSTREAM_TB=(1/90000) PKT_PTS=22500
CODED_PTS=4  (1/4) AVSTREAM_TB=(1/90000) PKT_PTS=90000
CODED_PTS=9  (1/4) AVSTREAM_TB=(1/90000) PKT_PTS=202500
CODED_PTS=16 (1/4) AVSTREAM_TB=(1/90000) PKT_PTS=360000
CODED_PTS=25 (1/4) AVSTREAM_TB=(1/90000) PKT_PTS=562500
CODED_PTS=36 (1/4) AVSTREAM_TB=(1/90000) PKT_PTS=810000
CODED_PTS=49 (1/4) AVSTREAM_TB=(1/90000) PKT_PTS=1102500
CODED_PTS=64 (1/4) AVSTREAM_TB=(1/90000) PKT_PTS=1440000
CODED_PTS=81 (1/4) AVSTREAM_TB=(1/90000) PKT_PTS=1822500
CODED_PTS=100(1/4) AVSTREAM_TB=(1/90000) PKT_PTS=2250000

The output is played by Mplayer and VLC at 4fps :(((

I tried also with asf container and it follows PTS, pausing the right
time :) , but i can't view anything in the player window :(

Do you have any other suggestions to give me?

Thanks in advance
Emiliano





More information about the ffmpeg-devel mailing list