[MEncoder-users] Mencoder - Differences between using libc for DVD access and Win2K API

Reimar Döffinger Reimar.Doeffinger at stud.uni-karlsruhe.de
Wed Apr 16 22:02:32 CEST 2008


On Wed, Apr 16, 2008 at 07:37:22PM +0100, Nigel Arnold wrote:
[...]
> I get about 45 fps speed encoding, with the above
> 
> However, If i change the -dvd-device to D:\VIDEO_TS instead of D:\
[...]
> I get a massive 150fps and it obviously takes a fraction of time to encode. 
> This is HUGE speed increase
> 
> So here is my question, WHY so slow when using D:\ and so fast when using 
> D:\VIDEO_TS
> 
> The only thing i've found is this
> 
> If i set the ENV variable DVDCSS_VERBOSE to 2, to enable the CSS messages on 
> stderr and stdoutput, I can see the following
> 
> When using D:\ as the -dvd-device
> MEncoder Sherpya-SVN-r25513-4.2.2 (C) 2000-2007 MPlayer Team
> CPU: Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz (Family: 6, Model: 15, 
> Step
> ping: 11)
> CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
> Compiled with runtime CPU detection.
> libdvdcss debug: opening target `d:\'
> libdvdcss debug: using Win2K API for access                            <<< 
> This is the main difference that i can see
> libdvdcss debug: disc is scrambled
> libdvdcss debug: requesting AGID
> libdvdcss debug: drive authenticated, using variant 0
> libdvdcss debug: authentication established
> libdvdcss debug: GetASF authenticated, ASF=1
> libdvdcss debug: decrypting disc key a2:ee:d9:3a:64
> libdvdcss debug: trying player key 01:af:e3:12:80
> libdvdcss debug: decrypted disc key is 2e:97:32:1f:24
> libdvdcss debug: using CSS key cache dir: C:\Documents and 
> Settings\xxxxxx/.dvdcss/MP725D-2007022113200800-2e97321f24/
> 
> 
> When using D:\VIDEO_TS as the -dvd-device
> libdvdcss debug: opening target `d:\video_ts'
> libdvdcss debug: using libc for access
> There are 21 titles on this DVD.
> There are 12 chapters in this DVD title.
> There are 1 angles in this DVD title.
> libdvdcss debug: opening target `d:\video_ts/VTS_02_0.IFO'
> libdvdcss debug: using libc for access
> libdvdcss debug: using CSS key cache dir: C:\Documents and 
> Settings\xxxxx/.dvdcss/-00cf6c0000d03300-0000000000/
> libdvdcss debug: opening target `d:\video_ts/VTS_02_1.VOB'
> libdvdcss debug: using libc for access
> libdvdcss debug: cracking title key at block 0
> libdvdcss debug: successful attempts 1/1, scrambled blocks 37/38

Obviously your DVD drive limits read speed when playing a Video-DVD. In the
second case no authentication is done and the DVD drive does not realize
it is Video-DVD and reads at full speed.
So as a short summary: The reason is your DVD drive, which was
explicitly designed to behave like this.
Either get a firmware image that removes the special-case handling of
DVD-Video or check if you can override it with programs like e.g. Nero
DriveSpeed (not sure if that is the name of it, but it is one of the
free Nero DVD tools - note that at least for me this tool sometimes has
the side-effect that Windows can not read any discs at all while it is
running).
And as to your other question, why the second method is not the default:
it takes a lot of time on slow computers and it might not work with some
DVD titles (usually very short ones). You might be able to change it by
setting the DVDCSS_METHOD environment variable differently though (not
sure if this can actually avoid the drive authentication).

Greetings,
Reimar Döffinger



More information about the MEncoder-users mailing list