[FFmpeg-devel] [PATCH] dvd vob input fps detect wrong

Limin Wang lance.lmwang
Tue Sep 11 08:14:04 CEST 2007


Hi,

> > After more analysis and play with the dvd, it seems that its real fps is
> > 24000/1001 and is progressive dvd. By mplayer, it will show below line:
> 
> look, the output you provided clearly says the base frame rate in the
> mpegvideo header is 30000/1001 so it cannot have frames with timestamps
> seperated by 1001/24000 as that is not a multiple of 1001/60000
> the closest possibilities would be 1001/30000 and 1001/20000
> 
> so no the timestamps are not specified in a 1001/24000 timebase
> that may be the average 1/fps but its not a timebase in which the
> timestamps can be accurately represented
> 
> there is no field for avergage fps, you can add one if you like but
> you cannot use a field which represents something else
> 
> what am i doing wrong that people just dont get it?
> this almost belongs into the FAQ, something like
> 
> no real_frame_rate is NOT the average framerate and NO you cannot
> set it to the average frame rate, and yes you are wasting your time
> if you propose that on ffmpeg-dev

Good idea, maybe the real frame rate has confusing already, it's largest frame
rate by your explanation.


> > > > By my test, if I transcode 1000frame, the duplicate frame will
> > > > 1000frame also.
> > > 
> > > use -vsync 1 and preferably dont use .avi
> > 
> > the vsync default is enable, so ffmpeg will report duplicate frame. I'm try
> > to use vob to ts.
> 
> i meant -vsync 0

After use -vsync, a/v lose sync totally. Anyway, after force fps to
24000/1001, the transcode result is good. The problem is I haven't figured out
how to auto set it rightly.

> 
> 
> > 
> > 
> > > 
> > > and as ive said thousends of times already
> > > r_frame_rate is NOT the average frame rate it is the largest framerate
> > > with which all timestamps can accurately be represented
> > > 
> > > if you want a average_framerate send a patch which adds such a field
> > > but dont hijack a field with a different definition
> > > (and yes an avarage framerate might make sense for transcoding to AVI
> > > but it is wrong for normal containers which have timestamps)
> > 
> > Yes, the problem is the output codec frame rate will be set to the max
> > framerate 60000/1001 also,
> > I don't think it's proper to set its fps to 60000/1001?
> 
> then you should complain to the one who made the DVD

But 24000/1001 is for DVD film, it's normal dvd format. It's pity if ffmpeg
can't transcode dvd films properly.

Thanks,
Limin





More information about the ffmpeg-devel mailing list