summaryrefslogtreecommitdiffstats
path: root/DOCS/cd-dvd.html
blob: b0f3a098bd323d7f0c7fa6fd99797799d3639982 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261

<HTML>
<BODY BGCOLOR=white>

<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>

<P><B><A NAME=4.1>4.1. CD-ROM drives</A></B></P>

<P>Playing standard Video CDs:</P>

<P>
mplayer -vcd <I>trackno</I> [device]<BR><BR>
Examples:<BR>
mplayer -vcd 1<BR>
mplayer -fs -vcd 2 /dev/hdc<BR>
</P>

<P>
Notes:<BR>
- Do NOT mount VCD disks and play DAT files directly! It may work under windows
but won't work under linux. You have to play them directly, with the -vcd
option!<BR>
- VCD disks usually have 2 tracks: a data track (containing autostart windows
playback program, karaoke data etc) and a mode-2 track (the movie), so try
-vcd 2 first!<BR>
- the default VCD device is /dev/cdrom. if your device differs, then you have
to make a symlink, or specify it in command line!
</P>

<P>From Linux documentation:</P>

<P>Some CDROM drives are capable of changing their head-speed. There are several
reasons for changing the speed of a CDROM drive. Badly pressed CDROMs may
benefit from less-than-maximum head rate. Modern CDROM drives can obtain very
high head rates (up to 24-times is common).  It has been reported that these
drives can make reading errors at these high speeds, reducing the speed can
prevent data loss in these circumstances.  Finally, some of these drives can
make an annoyingly loud noise, which a lower speed may reduce.</P>

<P>The recommended way to do it is with a program called 'setcd' . It's kinda
old, but won't be too hard to find on the Net. (UPDATE : new hdparm
has an option for this !)
Use it with :</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>setcd -x [speed] [cdrom device]</CODE></P>

<P>Also you can try:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>echo current_speed:4 >/proc/ide/[cdrom device]/settings</CODE></P>

<P>but you'll need root privileges. I use following command too:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>echo file_readahead:2000000 >/proc/ide/[cdrom device]/settings</CODE></P>

<P>for 2MB prefetched reading from the file (it's useful for scratched CDROMs).
It's recommended that you tuneup your CDROM drive also with hdparm:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>hdparm -d1 -a8 -u1 (cdrom device)</CODE></P>

<P>to enable using DMA access, readahead, and IRQ unmasking.
(if you don't understand these, *read the hdparm manpage*)</P>

<P>Please refer to "<CODE>/proc/ide/[cdrom device]/settings</CODE>" for fine-tuning your
CDROM.</P>

<P><B><A NAME=4.2>4.2. DVD playback</A></B></P>
  
<P>Yes, the real DVD support has been arrived. You don't need to play VOB files
manually from disk thinking of the purpose of a file in the video_ts
directory, you don't need worry it it's an encrypted disk or not (in old
<B>MPlayer</B> you had to put '-dvdauth /dev/dvd' into the command line in case
of encrypted discs), and you don't need even mount your disk to be able to
play (but mounting it makes Linux cache the cracked CSS keys, so the playing
will initialize much faster second time).</P>

<P>IMPORTANT NOTE: please _DO_NOT_ require further features for DVD playback.
This is the first version of some real DVD support inside <B>MPlayer</B> and
we're busy with hunting bugs and implementing basic DVD player features.</P>

<P><B>MPlayer</B> uses libdvdread which has got built in support for IFO
parsing, reading navi blocks and doing authentication/descrambling. libdvdread
uses libdvdcss to the latter tasks. So you will need libdvdcss and libdvdread
downloaded, compiled and installed BEFORE you run ./configure script of
<B>MPlayer</B> which will autodetect libdvdread for you in this way.</P>

<UL>  
<LI><P><B>Download source of libdvdread and libdvdcss.</B></P>
  
<P><I>You can download them from
<A HREF="http://www.dtek.chalmers.se/groups/dvd">http://www.dtek.chalmers.se/groups/dvd</A>
(click 'download' in the menu at the left, and you can find libdvdcss and
libdvdread in a table).</I></P>

<P><B><I>IMPORTANT !</I></B><BR>
For
<UL>
  <LI>libdvdread 0.8 - you'll need <B>libcss</B> instead of libdvdcss</LI>
  <LI>libdvdread 0.9 - you'll need <B>libdvdcss 0.0.3</B> ! Don't use newer
    versions, they won't work!</LI>
  <LI>For example <B><U>never</U></B> use libdvdcss <B>1.0</B>, it will be unusably slow!</LI>
</UL>
</P>
</LI>
  
<LI><P><B>Compile and install libdvdcss THEN libdvdread.</B></P>
    
<P><I>Read documentation of these packages to do this step easily.</I></P></LI>

<LI><P><B>Old-style DVD support - <I>OPTIONAL</I></B></P>

<P><I>Useful if you want to play encoded VOB's from hard disk. Compile and
  install <B>libcss</B> 0.0.1 (not newer) (if <B>MPlayer</B> can't detect
  it, use the <CODE>-csslib /path/to/libcss.so</CODE> option).</P></LI>

<LI><P><B>Recompile MPlayer.</B></P>
  
<P><I>Run <CODE>./configure</CODE>. If you install libdvdread correctly, ./configure
says something similar:<BR><CODE>Checking for DVDread support ... yes</CODE><BR>
(Of course you can put your favourite configure options into the command
line when you run ./configure). That's it! Say: <CODE>make</CODE>, then <CODE>make install</CODE>.</I></P></LI>
</UL>

<P>Of course after installing libdvdcss and libdvdread you don't need recompile
them at each time when you want to recompile <B>MPlayer</B> (from a new CVS version
for example) since the needed packages have already been installed on your
machine.</P>

<P><B>Using MPlayer to play DVDs:</B></P>


<TABLE BORDER=0 WIDTH=100%>
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-dvd &lt;title_id&gt;&nbsp;</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Enables DVD support and selects title.</TD><TR>
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-chapter &lt;chapter_id&gt;&nbsp;</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Selects DVD chapter(s) to play (default: play from chapter 1).
  Example : <CODE>-chapter 5-10</CODE> or <CODE>-chapter -9</CODE></TD><TR>
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-dvdangle &lt;angle_id&gt;&nbsp;</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Selects camera angle (default: 1)</TD><TR>
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-alang &lt;country code&gt;&nbsp;</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
  The <CODE>country code</CODE> tells <B>MPlayer</B> which audio language(s) to prefer.
  For the list of available languages, add <CODE>-v</CODE> option after
  your DVD options, and browse the output.<BR>
  For example :<BR>
  &nbsp;&nbsp;<CODE>-alang hu,en</CODE> - first tries to find hungarian
  audio, and if not found, decode english audio.</TD></TR>
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-slang &lt;country code&gt;&nbsp;</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
  Turns on DVD subtitles. The <CODE>country code</CODE> tells <B>MPlayer</B>
  which language(s) to prefer.
  For the list of available languages, add <CODE>-v</CODE> option after
  your DVD options, and browse the output.<BR>
  For example :<BR>
  &nbsp;&nbsp;<CODE>-slang hu,en</CODE> - first tries to display hungarian
  subtitles, and if not found, display english subtitles.</TD></TR>
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-sid &lt;subtitle_id&gt;&nbsp;</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
  Displays a subtitle channel with the given <CODE>id</CODE> (values can be
  0-31). Useful for example with badly mastered DVDs where country code
  selects the wrong channel.</TD></TR>
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-csslib &lt;path/filename&gt;</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
  (old-style DVD option) This option is used to override the default location
  of <CODE>libcss.so</CODE>
  </TD></TR>
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-dvdauth &lt;DVD device&gt;&nbsp;</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
  (old-style DVD option) Turns on DVD authentication using the given device.
  </TD></TR>
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-dvdkey &lt;CSS key&gt;</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
  (old-style DVD option) When decoding from non-DVD, this option gives the
  CSS key needed to crack the DVD (the key is printed when authenticating
  with DVD).
  </TD></TR>
</TABLE>

<P>Default device is <CODE>/dev/dvd</CODE>, you can change it in config.h
(compile time option), or you can specify it as a filename for <B>MPlayer</B>:
</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>mplayer -dvd 1 /dev/dvd</CODE></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>mplayer -dvd 1 -slang en /dev/dvd</CODE></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>mplayer -dvd 1 -slang en /dev/dvd -chapter 20-25</CODE></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>mplayer -dvd 2 -alang sp -chapter 5 -dvdangle 2</CODE></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>mplayer -dvdauth /dev/dvd /mnt/cd/video_ts/vts_03_1.vob</CODE></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>mplayer -dvdkey C005D4A16D vts_03_1.vob</CODE></P>

<P><B><A NAME=4.3>4.3. DVD playback FAQ</A></B></P>

<TABLE BORDER=0 ALIGN=left WIDTH=100%>

<TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Playing a DVD, I encountered this error :<BR>
<CODE>mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion     nfo_length /
sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed.</CODE>
</B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
This is a known libdvdread 0.9.1 bug, it should be already fixed in 0.9.2.
</TD><TR><TD COLSPAN=3>&nbsp;</TD><TR>

<TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Can I compile libdvdread and libdvdcss for example on my sweet Sparc/Solaris?
</B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Who knows ... Please test it and send feedback. But it's said that it
should work. Please refer documentation of libdvdread and its homepage
as well. We're not authors of libdvdread.
</TD><TR><TD COLSPAN=3>&nbsp;</TD><TR>

<TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
What about subtitles? Can MPlayer display them?
</B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Yes! See above in the DVD chapter.
</TD><TR><TD COLSPAN=3>&nbsp;</TD><TR>

<TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
How can I set the region code of my DVD-Drive ? I don't have windows!
</B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Use the 'regionset' tool:
<A HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz</A>
</TD><TR><TD COLSPAN=3>&nbsp;</TD><TR>

<TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
So MPlayer can play DVDs? Then it must use DeCSS! You are under arrest
under the XYZ#$ paragraph of the--
</B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Get back asshole, there is no DeCSS code in <B>MPlayer</B>. <B>MPlayer</B> uses libdvdread
by linking against it, and libdvdread uses libdvdcss by dynamic loading it.<BR>
</TD><TR><TD COLSPAN=3>&nbsp;</TD><TR>

<TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Do I need to be (setuid) root/setuid fibmap_mplayer to be able to play DVD?
</B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
No, you don't. Only for old-style DVD support. However of course you must have
the proper rights to the DVD device driver entry (in /dev).
</TD><TR><TD COLSPAN=3>&nbsp;</TD><TR>

<TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
How can I ... (insert some expectable DVD player feature here)?
</B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
The current implementation is the first implementation of some real DVD
player functionality. First, we would like to target existing bugs and
basic features before implementing new features.
</TD><TR><TD COLSPAN=3>&nbsp;</TD><TR>

<TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Where can I get libdvdread and libdvdcss packages from?
</B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
From the site of Ogle:
<A HREF="http://www.dtek.chalmers.se/groups/dvd">http://www.dtek.chalmers.se/groups/dvd</A>.
</TD><TR><TD COLSPAN=3>&nbsp;</TD><TR>

<TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Is it possible to play/encode only selected chapters ?
</B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Yes, see the <CODE>-chapter</CODE> option.
</TD><TR><TD COLSPAN=3>&nbsp;</TD><TR>

</TABLE>

</BODY>
</HTML>