annotate DOCS/cd-dvd.html @ 7934:b75cf70d2a7c

DVD authentication, VCD/DVD structure, more...
author jonas
date Sun, 27 Oct 2002 15:36:33 +0000
parents 988498df1996
children 643d7fea35c5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6405
d0f408a8b150 Background color now set by CSS, added doctype and charset, misc HTML fixes
diego
parents: 6393
diff changeset
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
2 <HTML>
4982
6cb9d9a1716d HTML: different font handling - idea from new hp dezign
gabucino
parents: 4908
diff changeset
3
6cb9d9a1716d HTML: different font handling - idea from new hp dezign
gabucino
parents: 4908
diff changeset
4 <HEAD>
6882
f3f87f6bf5cf Added a uniform title: something - MPlayer - The Movie Player for Linux.
diego
parents: 6879
diff changeset
5 <TITLE>CD, DVD, VCD - MPlayer - The Movie Player for Linux</TITLE>
6391
4e5c236ade69 small updates
gabucino
parents: 6252
diff changeset
6 <LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
6405
d0f408a8b150 Background color now set by CSS, added doctype and charset, misc HTML fixes
diego
parents: 6393
diff changeset
7 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
4982
6cb9d9a1716d HTML: different font handling - idea from new hp dezign
gabucino
parents: 4908
diff changeset
8 </HEAD>
6cb9d9a1716d HTML: different font handling - idea from new hp dezign
gabucino
parents: 4908
diff changeset
9
6405
d0f408a8b150 Background color now set by CSS, added doctype and charset, misc HTML fixes
diego
parents: 6393
diff changeset
10 <BODY>
1704
a2e1432f7ac3 Arial font
gabucino
parents: 1702
diff changeset
11
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
12
7047
4f87cd0f642f Converted the docs to use proper headings tags.
diego
parents: 7043
diff changeset
13 <H2><A NAME="drives">4.1 CD/DVD drives</A></H2>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
14
6877
diego
parents: 6405
diff changeset
15 <P>Linux documentation excerpt:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
16
6878
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
17 <P>Modern CD-ROM drives can attain very high head speeds, yet some CD-ROM drives
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
18 are capable of running at reduced speeds. There are several reasons that might
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
19 make you consider changing the speed of a CD-ROM drive:</P>
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
20
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
21 <UL>
6960
87deea511b1f continuing paragraph reformatting
gabucino
parents: 6909
diff changeset
22 <LI>There have been reports of read errors at these high speeds, especially
6878
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
23 with badly pressed CD-ROMs. Reducing the speed can prevent data loss under
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
24 these circumstances.</LI>
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
25 <LI>Many CD-ROM drives are annoyingly loud, a lower speed may reduce the
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
26 noise.</LI>
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
27 </UL>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
28
6877
diego
parents: 6405
diff changeset
29 <P>You can reduce the drive speed with hdparm or a program called setcd.
diego
parents: 6405
diff changeset
30 It works like this:</P>
diego
parents: 6405
diff changeset
31
diego
parents: 6405
diff changeset
32 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>hdparm -E [speed] [cdrom device]</CODE></P>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
33
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
34 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>setcd -x [speed] [cdrom device]</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
35
6877
diego
parents: 6405
diff changeset
36 <P>You can also try</P>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
37
7076
3275af5787e0 Applied patch by Andras Mohari <mayday@varoshaza.nagyatad.hu>, slightly
diego
parents: 7048
diff changeset
38 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>echo current_speed:4 &gt; /proc/ide/[cdrom device]/settings</CODE></P>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
39
6877
diego
parents: 6405
diff changeset
40 <P>but you will need root privileges. The following command may also help:</P>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
41
7076
3275af5787e0 Applied patch by Andras Mohari <mayday@varoshaza.nagyatad.hu>, slightly
diego
parents: 7048
diff changeset
42 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>echo file_readahead:2000000 &gt; /proc/ide/[cdrom device]/settings</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
43
6877
diego
parents: 6405
diff changeset
44 <P>This sets prefetched file reading to 2MB, which helps with scratched CD-ROMs.
diego
parents: 6405
diff changeset
45 It is recommended that you also tune your CD-ROM drive with hdparm:</P>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
46
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
47 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>hdparm -d1 -a8 -u1 (cdrom device)</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
48
6877
diego
parents: 6405
diff changeset
49 <P>This enables DMA access, read-ahead, and IRQ unmasking (read the hdparm man
diego
parents: 6405
diff changeset
50 page for a detailed explanation).</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
51
6877
diego
parents: 6405
diff changeset
52 <P>Please refer to "<CODE>/proc/ide/[cdrom device]/settings</CODE>" for
diego
parents: 6405
diff changeset
53 fine-tuning your CD-ROM.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
54
7795
37c36f8b4645 FreeBSD info
nexus
parents: 7640
diff changeset
55 <P>FreeBSD:</P>
37c36f8b4645 FreeBSD info
nexus
parents: 7640
diff changeset
56
37c36f8b4645 FreeBSD info
nexus
parents: 7640
diff changeset
57 <P>&nbsp;&nbsp;&nbsp;&nbsp;Speed: <CODE>cdcontrol [-f device] speed [speed]</CODE></P>
37c36f8b4645 FreeBSD info
nexus
parents: 7640
diff changeset
58 <P>&nbsp;&nbsp;&nbsp;&nbsp;DMA: <CODE>sysctl hw.ata.atapi_dma=1</CODE></P>
37c36f8b4645 FreeBSD info
nexus
parents: 7640
diff changeset
59
6878
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
60
7047
4f87cd0f642f Converted the docs to use proper headings tags.
diego
parents: 7043
diff changeset
61 <H2><A NAME="dvd">4.2 DVD playback</A></H2>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
62
7934
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
63 <P>For the complete list of available options, please read the man page.</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
64
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
65 <H4>New-style DVD support (mpdvdkit2)</H4>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
66
7814
988498df1996 <B>MPlayer</B> ---> MPlayer
diego
parents: 7795
diff changeset
67 <P>MPlayer uses <CODE>libdvdread</CODE> and <CODE>libdvdcss</CODE> for
6877
diego
parents: 6405
diff changeset
68 DVD decryption and playback. These two libraries are contained in the
7814
988498df1996 <B>MPlayer</B> ---> MPlayer
diego
parents: 7795
diff changeset
69 <CODE>libmpdvdkit2/</CODE> subdirectory of the MPlayer source tree, you
6877
diego
parents: 6405
diff changeset
70 do not have to install them separately. We opted for this solution because
7934
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
71 we had to fix a libdvdread bug, and apply a patch which adds <B>cracked CSS
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
72 keys caching support</B> to libdvdcss. This results in a large speed increase
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
73 because the keys do not have to be cracked every time before playing.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
74
7814
988498df1996 <B>MPlayer</B> ---> MPlayer
diego
parents: 7795
diff changeset
75 <P>MPlayer can also use system-wide <CODE>libdvdread</CODE> and
6877
diego
parents: 6405
diff changeset
76 <CODE>libdvdcss</CODE> libraries, but this solution is <B>not</B> recommended,
diego
parents: 6405
diff changeset
77 as it can result in bugs, library incompatibilities, and slower speed.</P>
diego
parents: 6405
diff changeset
78
7934
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
79 <H4>DVD Navigation support (dvdnav)</H4>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
80
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
81 <P>Support for DVD navigation via <CODE>dvdnav</CODE> was being worked on, but
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
82 it was never finished properly and is therefore not recommended.</P>
4057
0d9bf4a76dab old-style DVD options added
gabucino
parents: 3799
diff changeset
83
7047
4f87cd0f642f Converted the docs to use proper headings tags.
diego
parents: 7043
diff changeset
84 <H4>Old-style DVD support - OPTIONAL</H4>
4057
0d9bf4a76dab old-style DVD options added
gabucino
parents: 3799
diff changeset
85
7934
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
86 <P>Useful if you want to play encoded VOBs from <B>hard disk</B>. Compile and
7814
988498df1996 <B>MPlayer</B> ---> MPlayer
diego
parents: 7795
diff changeset
87 install <B>libcss</B> 0.0.1 (not newer) for this (If MPlayer fails to
7934
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
88 detect it, use the <CODE>-csslib /path/to/libcss.so</CODE> option). You need
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
89 to be root or use a suid root binary to use it.</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
90
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
91 <H4>DVD structure</H4>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
92
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
93 <P>DVD disks use all 2048 b/s sectors with ecc/crc. They usually have an UDF
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
94 filesystem on a single track, containing various files (small .IFO and .BUK
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
95 files and big (1GB) .VOB files). They are real files and can be copied/played
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
96 from a mounted file system of an unencrypted DVD.</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
97
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
98 <P>The .IFO files contain the movie navigation informations (chapter/title/angle
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
99 map, language table, etc) and is needed to read and interpret the .VOB content
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
100 (movie). The .BUK files are backups of them. They use <B>sectors</B> everywhere,
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
101 so you need to use raw addressing of sectors of the disc to implement DVD
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
102 navigation. It's also needed to decrypt the content.</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
103
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
104 <P>The whole old-style DVD support with libcss needs therefore a mounted DVD
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
105 filesystem and a raw sector-based access to the device. Unfortunately you must
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
106 be root (under Linux) to get the sector address of a file. You got two choices:</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
107
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
108 <UL>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
109 <LI>Force the user to be root or use a suid root mplayer binary like
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
110 fibmap_mplayer which does the dvd access for the old-style DVD playback
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
111 over libcss.</LI>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
112 <LI>Don't use the kernel's filesystem driver at all and re-implement it in
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
113 userspace. libdvdread 0.9.x and libmpdvdkit does this (New-style DVD
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
114 support). The kernel udf filesystem drivers isn't needed as they already
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
115 have their own, built-in udf fs driver. Also the dvd, doesn't needs to be
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
116 mounted as only the raw sector-based access is used.</LI>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
117 </UL>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
118
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
119 <P>Sometimes /dev/dvd can't be read by users, so the libdvdread authors
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
120 implemented an emulation layer which transfers sector addresses to
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
121 filenames+offsets, to emulate raw access on the top of a mounted filesystem
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
122 or even on a hard disk.</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
123
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
124 <P>libdvdread even accepts the mountpoint instead of the device name for raw
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
125 access and checks in <CODE>/proc/mounts</CODE> to get the device name. It was
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
126 developed for Solaris, where device names are dynamically allocated.</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
127
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
128 <P>The default DVD device is <CODE>/dev/dvd</CODE>. If your setup differs,
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
129 make a symlink, or specify the correct device on the command line with the
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
130 <CODE>-dvd-device</CODE> option.</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
131
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
132 <H4>DVD authentication</H4>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
133
7934
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
134 <P>The authentication and decryption method of the new-style DVD support is done
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
135 using a patched libdvdcss (see above). The method can be specified over the
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
136 environment variable <CODE>DVDCSS_METHOD</CODE> which can be set to
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
137 <CODE>key</CODE>, <CODE>disk</CODE> or <CODE>title</CODE>.</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
138
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
139 <P>If nothing is specified it tries the following methods
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
140 (default: key, title request):</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
141
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
142 <OL>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
143 <LI><B>bus key:</B> This key is negotiated during authentication (a long mix
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
144 of ioctls and various key exchanges, crypto stuff) and is used to encrypt
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
145 the title and disk keys before sending them over the unprotected bus
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
146 (to prevent eavesdropping). The bus key is needed to get and predecrypt the
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
147 crypted disk key.
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
148 <LI><B>cached key:</B> MPlayer looks for eventually already cracked
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
149 title keys which are stored in the <CODE>~/.mplayer/DVDKeys</CODE> directory
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
150 (fast ;).</LI>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
151 <LI><B>key:</B> If no cached key is available, MPlayer tries to
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
152 decrypt the disk key with a set of included player keys.
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
153 <LI><B>disk:</B> If the key method fails (e.g. no included player keys),
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
154 MPlayer will crack the disk key using a brute force algorithm.
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
155 This process is CPU intensive and requires 64 MB of memory (16M 32bit
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
156 entries hash table) to store temporary data. This method should always
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
157 work (slow).</LI>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
158 <LI><B>title request:</B>With the disk key MPlayer requests the crypted title
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
159 keys, which are inside <I>hidden sectors</I> using <CODE>ioctl()</CODE>.
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
160 The region protection of RPC-2 drives is performed in this step and may
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
161 fail on such drives. If it succeeds, the title keys will be decrypted with
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
162 the bus and disk key.
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
163 <LI><B>title:</B> This method is used if the title request failed and does
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
164 not rely on any key exchange with the DVD drive. It uses a crypto attack to
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
165 guess the title key directly (by finding a repeating pattern in the
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
166 decrypted VOB content and guessing that that the plain text for first
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
167 encrypted bytes are a continuation of that pattern).
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
168 The method is also known as "known plaintext attack" or "DeCSSPlus".
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
169 In rare cases this may fail because there is not enough encrypted data on
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
170 the disk to perform a statistical attack or because the key changes in the
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
171 middle of a title. On the other hand it is the only way to decrypt a DVD
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
172 stored on a hard disk or a DVD with the wrong region on an RPC2 drive
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
173 (slow).</LI>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
174 </OL>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
175
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
176 <P>RPC-1 DVD drives only protect region settings over software DVD players.
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
177 RPC-2 drives have a hardware protection that allows 5 changes only. It might
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
178 be needed/recommended to upgrade the firmware to RPC-1 if you have a RPC-2 DVD
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
179 drive. Firmware upgrades can be found
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
180 <A HREF="http://perso.club-internet.fr/farzeno/firmware/">here</A>. If there is
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
181 no firmware upgrade available for your device, use the
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
182 <A HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">regionset
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
183 tool</A> to set the region code of your DVD-drive (under Linux).
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
184 <B>Warning:</B> You can only set the region 5 times.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
185
6878
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
186
7047
4f87cd0f642f Converted the docs to use proper headings tags.
diego
parents: 7043
diff changeset
187 <H2><A NAME="vcd">4.3 VCD playback</A></H2>
6878
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
188
7934
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
189 <P>For the complete list of available options, please read the man page.
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
190 The Syntax for a standard Video CD (VCD) is as followed:
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
191 <CODE>mplayer -vcd &lt;track&gt; [-cdrom-device &lt;device&gt;]</CODE>.<BR>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
192 Example: <CODE>mplayer -vcd 2 -cdrom-device /dev/hdc</CODE></P>
6878
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
193
7934
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
194 <H4>VCD structure</H4>
6878
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
195
7934
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
196 <P>VCD disks consists of 2 or more track:</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
197
6878
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
198 <UL>
7934
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
199 <LI>The first track is a few MB 2048 bytes/sector data track, with an iso9660
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
200 filesystem, usualy containing win32 VCD player programs and maybe other infos
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
201 (jpegs, text, etc).</LI>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
202 <LI>The second and other tracks are raw 2324 bytes/sector mpeg tracks, without
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
203 any filesystem but raw mpeg ps data, one packet per sector. they contain the
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
204 movie(s)... The tracks <B>can't be mounted</B>! It is similar to audio
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
205 tracks (e.g. You never mounted an audio cd to play it, or did you? No).
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
206 As most movies are inside track too, you should try <CODE>-vcd 2</CODE>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
207 first.</LI>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
208 <LI>There exist VCD disks without the first track too (single track and no
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
209 filesystems at all). They are still playable, but can't be mounted.</LI>
6878
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
210 </UL>
0374fdb8eeb0 Result of review by Nilmoni Deb <ndeb@ece.cmu.edu>.
diego
parents: 6877
diff changeset
211
7934
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
212 <P>About .DAT files:</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
213
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
214 <P>The ~600 MB file visible on the first track of the mounted vcd isn't a real
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
215 track! It's a so called iso gateway, created to allow Windows to handle such
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
216 tracks (Windows doesn't allow raw device access to applications at all).
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
217 Under linux, you cannot copy or play such files (they contain garbage).
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
218 Under Windows it is possible as its iso9660 driver emulates the raw reading of
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
219 tracks in this file.
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
220 To play a .DAT file you need a kernel driver which can be found on a powerdvd
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
221 Linux version. It is a modified iso9660 fs driver, which is able to emulate the
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
222 raw tracks through this shadow .DAT file. If you mount the disc using their
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
223 driver, you can copy and even play .DAT files with mplayer. But it <B>won't
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
224 work</B> with the standard iso9660 driver of the kernel! It is recommended to
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
225 use the <CODE>-vcd</CODE> option instead.</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
226
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
227 <P>The default VCD device is <CODE>/dev/cdrom</CODE>. If your setup differs,
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
228 make a symlink, or specify the correct device on the command line with the
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
229 <CODE>-cdrom-device</CODE> option.</P>
b75cf70d2a7c DVD authentication, VCD/DVD structure, more...
jonas
parents: 7814
diff changeset
230
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
231 </BODY>
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
232 </HTML>