[MEncoder-users] Inverse telecine? framerate from 120000/1001 to 24000/1001

Rich Felker dalias at aerifal.cx
Sun Sep 3 16:49:44 CEST 2006


On Wed, Aug 30, 2006 at 11:04:10PM -0700, Loren Merritt wrote:
> On Thu, 31 Aug 2006, Evgeniy Stepanov wrote:
> 
> >On Thursday 31 August 2006 05:07, Rich Felker wrote:
> >>Yes, what you said is nonsense. The reason the file uses 120 tick/sec
> >>timebase is that it's not all 24 fps but some 30 fps, and the smallest
> >>common timebase that can represent timestamps correctly for both is
> >>1/120 sec. If you try to make it 1/24 sec timebase, you will have to
> >>discard one in every five frames from the 30 fps parts. If you want to
> >>make it 1/30 sec timebase, you will have to show every 4th frame in
> >>the 24 fps parts for double duration. Both choices will look very
> >>ugly and choppy.
> >
> >It might be a good idea to somehow locate the parts of original video that 
> >are
> >24 fps and the parts that are 30 fps, and encode them separately. Then,
> >either leave the resulting videos as they are, or mux them into some vfr
> >container.
> >
> >AFAIK, there is no good way of converting 30 <-> 24 fps.
> 
> No need to separate anything. Just encode it as 120fps with null frames, 
> and then remux to a vfr container. mkvmerge at least will do the Right 
> Thing.

He was talking about the fact that libavcodec allocates bitrate
incorrectly because it stupidly things the video is actually 120 fps.
I'm not sure who is at fault here but probably MEncoder for passing
the timebase to lavc as a framerate and for not passing timestamps,
but OTOH I doubt lavc even uses timestamps for bitrate allocation,
which it must do to handle vfr correctly.

Rich




More information about the MEncoder-users mailing list