summaryrefslogtreecommitdiffstats
path: root/DOCS/cd-dvd.html
blob: 8b1d26970b4bff842319cccbf02844d2b4233989 (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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>

<HEAD>
  <TITLE>CD, DVD, VCD - MPlayer - The Movie Player for Linux</TITLE>
  <LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>

<BODY>


<P><B><A NAME="drives">4.1 CD/DVD drives</A></B></P>

<P>Linux documentation excerpt:</P>

<P>Modern CD-ROM drives can attain very high head speeds, yet some CD-ROM drives
  are capable of running at reduced speeds. There are several reasons that might
  make you consider changing the speed of a CD-ROM drive:</P>

<UL>
  <LI>There have been reports of read errors at these high speeds, especially
    with badly pressed CD-ROMs. Reducing the speed can prevent data loss under
    these circumstances.</LI>
  <LI>Many CD-ROM drives are annoyingly loud, a lower speed may reduce the
    noise.</LI>
</UL>

<P>You can reduce the drive speed with hdparm or a program called setcd.
  It works like this:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>hdparm -E [speed] [cdrom device]</CODE></P>

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

<P>You can also try</P>

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

<P>but you will need root privileges. The following command may also help:</P>

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

<P>This sets prefetched file reading to 2MB, which helps with scratched CD-ROMs.
  It is recommended that you also tune your CD-ROM drive with hdparm:</P>

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

<P>This enables DMA access, read-ahead, and IRQ unmasking (read the hdparm man
  page for a detailed explanation).</P>

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


<P><B><A NAME="dvd">4.2 DVD playback</A></B></P>
  
<P><B>MPlayer</B> uses <CODE>libdvdread</CODE> and <CODE>libdvdcss</CODE> for
  DVD decryption and playback. These two libraries are contained in the
  <CODE>libmpdvdkit/</CODE> subdirectory of the <B>MPlayer</B> source tree, you
  do not have to install them separately. We opted for this solution because
  we had to fix a libdvdread bug, and apply a patch which adds
  <B>cracked CSS keys caching support</B> to libdvdcss. This results in a large
  speed increase because the keys do not have to be cracked every time before
  playing. The cracked keys are stored in the
  <CODE>~/.mplayer/DVDKeys</CODE> directory.</P>

<P><B>MPlayer</B> can also use system-wide <CODE>libdvdread</CODE> and
  <CODE>libdvdcss</CODE> libraries, but this solution is <B>not</B> recommended,
  as it can result in bugs, library incompatibilities, and slower speed.</P>

<P>Support for DVD navigation via <CODE>dvdnav</CODE> is being worked on, but
  not finished yet.</P>

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

<P>Useful if you want to play encoded VOBs from hard disk. Compile and
  install <B>libcss</B> 0.0.1 (not newer) for this (If <B>MPlayer</B> fails to
  detect it, use the <CODE>-csslib /path/to/libcss.so</CODE> option).</P>

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

<TABLE BORDER=0 WIDTH="100%">
  <TR><TD VALIGN=top><CODE>-dvd &lt;title_id&gt;&nbsp;</CODE></TD>
    <TD>Enables DVD support and selects title.</TD></TR>
  <TR><TD VALIGN=top><CODE>-chapter &lt;chapter_id&gt;&nbsp;</CODE></TD>
    <TD>Selects DVD chapter(s) to play (default: 1).
    Example: <CODE>-chapter 5-10</CODE> or <CODE>-chapter -9</CODE></TD></TR>
  <TR><TD VALIGN=top><CODE>-dvdangle &lt;angle_id&gt;&nbsp;</CODE></TD>
    <TD>Selects camera angle (default: 1)</TD></TR>
  <TR><TD VALIGN=top><CODE>-alang &lt;country code&gt;&nbsp;</CODE></TD>
    <TD>The <CODE>country code</CODE> tells <B>MPlayer</B> which audio
    language(s) to prefer. For a list of available languages, add the
    <CODE>-v</CODE> option after your DVD options and browse the output.<BR>
    For example:<BR>
    &nbsp;&nbsp;<CODE>-alang hu,en</CODE> - Tries to find Hungarian audio,
    falling back to English audio.</TD></TR>
  <TR><TD VALIGN=top><CODE>-slang &lt;country code&gt;&nbsp;</CODE></TD>
    <TD>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 the <CODE>-v</CODE> option after
    your DVD options and browse the output.<BR>
    For example:<BR>
    &nbsp;&nbsp;<CODE>-slang hu,en</CODE> - Tries to display Hungarian
    subtitles, falling back to English subtitles.</TD></TR>
  <TR><TD VALIGN=top><CODE>-sid &lt;subtitle_id&gt;&nbsp;</CODE></TD>
    <TD>Displays a subtitle channel with the given <CODE>id</CODE> (values can
    be 0-31). Useful with badly mastered DVDs where the country code
    selects the wrong channel.</TD></TR>
  <TR><TD VALIGN=top><CODE>-csslib &lt;path/filename&gt;</CODE></TD>
    <TD>(old-style DVD option) This option is used to override the default
    location of <CODE>libcss.so</CODE>.
    </TD></TR>
  <TR><TD VALIGN=top><CODE>-dvdauth &lt;DVD device&gt;&nbsp;</CODE></TD>
    <TD>(old-style DVD option) Turns on DVD authentication using the given
    device.</TD></TR>
  <TR><TD VALIGN=top><CODE>-dvdkey &lt;CSS key&gt;</CODE></TD>
    <TD>(old-style DVD option) When decoding a VOB file copied undecrypted from
    DVD, this option gives the CSS key needed to decrypt the VOB (the key is
    printed when authenticating with the DVD drive using -dvdauth).</TD></TR>
</TABLE>

<P>The default device is <CODE>/dev/dvd</CODE>, you can change it in
  <CODE>config.h</CODE> (compile time option), or you can specify it using the
  <CODE>-dvd-device</CODE> option:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>mplayer -dvd 1 -dvd-device /dev/dvd</CODE></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>mplayer -dvd 1 -slang en -dvd-device /dev/dvd</CODE></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>mplayer -dvd 1 -slang en -dvd-device /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="vcd">4.3 VCD playback</A></B></P>

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

<P><CODE>mplayer -vcd &lt;track&gt; [-cdrom-device device]</CODE></P>

<P>Examples:<BR>
  <CODE>mplayer -vcd 1<BR>
  mplayer -fs -vcd 2 -cdrom-device /dev/hdc</CODE></P>

Notes:
<UL>
  <LI>Do <B>not</B> mount VCDs to play the DAT files directly! It may work
    under Windows but will not under Linux. You have to play VCDs with the
    <CODE>-vcd</CODE> option.</LI>
  <LI>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 <CODE>-vcd 2</CODE> first.</LI>
  <LI>The default VCD device is <CODE>/dev/cdrom</CODE>. If your setup differs,
    make a symlink, or specify the correct device on the command line with the
    <CODE>-cdrom-device</CODE> option.</LI>
</UL>


</BODY>
</HTML>