[MEncoder-users] rip dvd to mkv, ogm, mp4 script

Laine Lee llee at lonestar.utsa.edu
Tue Oct 14 05:07:56 CEST 2008


On 10/13/08 2:28 PM, "James Hastings-Trew" <jimht at shaw.ca> wrote:

> Laine Lee wrote:
>> I wouldn't doubt that. I did devise a workaround for the problem by
>> introducing an additional line into the undvd executable's encoding process
>> that specifies "-ofps 24000/1001". I realize that there shouldn't be a need
>> for such a modification, but until I can figure out what's wrong, this seems
>> to completely eliminate my problem with the conversion of DVD titles that
>> have a 24 fps rate. I would, however, like to find some way to improve
>> quality of the output. It looks really good, but the resulting AVI is only
>> 1.4G while the sum of the original VOBs adds up to over 5G for the latest
>> title I've worked with, so I suspect that some quality is being left behind.
>> Not too much, probably, because I am converting to h264.
>>   
> Any "film-rate" NTSC DVDs should use -vf pullup,softskip,....,harddup in
> the video filter chain, and -ofps 24000/1001. It's easy to use mplayer
> to detect the actual frame rate of a DVD title. However, relying on
> -identify won't get you that information. All titles will report that
> they are 29.97fps regardless of what they actually play at.
> 
> For NTSC DVDs there are generally 4 types of frame rate you are going to
> encounter:
> 
> 23.976 - its on the DVD at 29.97 will pullup flags so you have to use
> the pullup,softskip filter combo to recover the original 23.976 frames
> 29.97 - interlaced video format. Generally you'll want to deinterlace
> this stuff with -yadif or -pp=lb
> mixed - generally mostly 23.976 progressive content with the occasional
> stretch of 29.97 interlaced material.
> hard telecine - really the same as 23.976 content, but has been put on
> the DVD as interlaced video with no pullup flags. You can use mplayer to
> detect the telecine "cadence" to differentiate this from actual video
> content. Generally only found on some Japanese titles.
> 
> I'm no PERL programmer, but here is a general "recipe" for determining
> the frame rate of a DVD title:
> use MPlayer to play a small portion of the video and log it's output:
> mplayer dvd://1 -vf scale -nosound -vo null -frames 1500 >cropfile.txt
> read the "cropfile.txt" and count how many times it has the string
> "24000/1001" in it and put it in a variable $film
> if $film is greater than or equal to 4 then you have "mixed" film and video
> if $film is less than or equal to 3 then you have 23.976 fps material
> (mostly)
> if $film is equal to zero then you have 29.97 fps material
> 
> If you have 29.97 fps material you need to do a further test to see if
> it is hard-telecined
> mplayer dvd://1 -vf pullup,scale -v -ss 60 -frames 60 -nosound >telecine.txt
> read the "telecine.txt" file and count how many times it has the string
> "3 2 3 2" in it and put it in a variable $telecine
> if $telecine is greater than 4 then you have hard-telecined material,
> and treat it same as mixed.
> 
> If you have film, then your command line should have:
> -vf pullup,softskip,(other filters),harddup
> -ofps 24000/1001
> 
> If you have video then your command line should have:
> -vf yadif,(other filters),harddup
> -fps 30000/1001 -ofps 30000/1001
> 
> If you have mixed then your command line should have:
> -vf pullup,softskip,yadif,(other filters),harddup
> -ofps 24000/1001
> 
> You can't just decide to do everything at video rate, or everything at
> film rate, and use the -ofps switch to change the frame rate. Either
> approach will result in video that will not play back smoothly - either
> inserting repeat frames, or dropping frames.

Thank you very much! There is a more useful information here than I am
equipped to command at present. But I'll keep it for when I can.

-- 
Laine Lee





More information about the MEncoder-users mailing list