Mercurial > mplayer.hg
comparison DOCS/cd-dvd.html @ 1682:dba45a1aafad
*** empty log message ***
author | gabucino |
---|---|
date | Fri, 24 Aug 2001 18:48:13 +0000 |
parents | a5cb1b1d47a8 |
children | f314e83b78e6 |
comparison
equal
deleted
inserted
replaced
1681:445ea1ce4180 | 1682:dba45a1aafad |
---|---|
1 <HTML> | 1 <HTML> |
2 | |
3 <BODY> | 2 <BODY> |
4 | 3 |
5 <PRE> | 4 <P><B><A NAME=4.1>4.1. CD-ROM drives</A></B></P> |
6 | 5 |
7 <A NAME=4.1>4.1. CD-ROM drives</A> | 6 <P>From Linux documentation:</P> |
8 | 7 |
9 From Linux documentation: | 8 <P>Some CDROM drives are capable of changing their head-speed. There are several |
9 reasons for changing the speed of a CDROM drive. Badly pressed CDROMs may | |
10 benefit from less-than-maximum head rate. Modern CDROM drives can obtain very | |
11 high head rates (up to 24-times is common). It has been reported that these | |
12 drives can make reading errors at these high speeds, reducing the speed can | |
13 prevent data loss in these circumstances. Finally, some of these drives can | |
14 make an annoyingly loud noise, which a lower speed may reduce.</P> | |
10 | 15 |
11 Some CDROM drives are capable of changing their head-speed. There are several | 16 <P>The recommended way to do it is with a program called 'setcd' . It's kinda |
12 reasons for changing the speed of a CDROM drive. Badly pressed CDROMs may | 17 old, but won't be too hard to find on the Net. (UPDATE : new hdparm |
13 benefit from less-than-maximum head rate. Modern CDROM drives can obtain very | 18 has an option for this !) |
14 high head rates (up to 24-times is common). It has been reported that these | 19 Use it with :</P> |
15 drives can make reading errors at these high speeds, reducing the speed can | |
16 prevent data loss in these circumstances. Finally, some of these drives can | |
17 make an annoyingly loud noise, which a lower speed may reduce. | |
18 | 20 |
19 The recommended way to do it is with a program called 'setcd' . It's kinda | 21 <P> <CODE>setcd -x [speed] [cdrom device]</CODE></P> |
20 old, but won't be too hard to find on the Net. (UPDATE : new hdparm | 22 |
21 has an option for this !) | 23 <P>Also you can try:</P> |
22 Use it with : | 24 |
25 <P> <CODE>echo current_speed:4 >/proc/ide/[cdrom device]/settings</CODE></P> | |
26 | |
27 <P>but you'll need root privileges. I use following command too:</P> | |
28 | |
29 <P> <CODE>echo file_readahead:2000000 >/proc/ide/[cdrom device]/settings</CODE></P> | |
30 | |
31 <P>for 2MB prefetched reading from the file (it's useful for scratched CDROMs). | |
32 It's recommended that you tuneup your CDROM drive also with hdparm:</P> | |
33 | |
34 <P> <CODE>hdparm -d1 -a8 -u1 (cdrom device)</CODE></P> | |
35 | |
36 <P>to enable using DMA access, readahead, and IRQ unmasking. | |
37 (if you don't understand these, *read the hdparm manpage*)</P> | |
38 | |
39 <P>Please refer to "<CODE>/proc/ide/[cdrom device]/settings</CODE>" for fine-tuning your | |
40 CDROM.</P> | |
41 | |
42 <P><B><A NAME=4.2>4.2. DVD playback</A></B></P> | |
43 | |
44 <P>Yes, the real DVD support has been arrived. You don't need to play VOB files | |
45 manually from disk thinking of the purpose of a file in the video_ts | |
46 directory, you don't need worry it it's an encrypted disk or not (in old | |
47 <B>MPlayer</B> you had to put '-dvdauth /dev/dvd' into the command line in case | |
48 of encrypted discs), and you don't need even mount your disk to be able to | |
49 play :)</P> | |
50 | |
51 <P>IMPORTANT NOTE: please _DO_NOT_ require further features for DVD playback. | |
52 This is the first version of some real DVD support inside <B>MPlayer</B> and | |
53 we're busy with hunting bugs and implementing basic DVD player features.</P> | |
54 | |
55 <P><B>MPlayer</B> uses libdvdread which has got built in support for IFO parsing, | |
56 reading navi blocks and doing authentication/descrambling. libdvdread | |
57 use the good old libcss to the latter tasks. So you will need libcss and | |
58 libdvdread downloaded, compiled and installed BEFORE you run ./configure | |
59 script of <B>MPlayer</B> which will autodetect libdvdread for you in this way.</P> | |
60 | |
61 <UL> | |
62 <LI><P><B>Download source of libdvdread and libcss.</B></P> | |
63 | |
64 <P><I>You can download them from | |
65 <A HREF="http://www.dtek.chalmers.se/groups/dvd">http://www.dtek.chalmers.se/groups/dvd</A> | |
66 (click 'download' in the menu at the left, and you can find libcss and | |
67 libdvdread in a table).</I></P></LI> | |
68 | |
69 <LI><P><B>Compile and install libcss THEN libdvdread.</B></P> | |
70 | |
71 <P><I>Read documentation of these packages to do this step easily.</I></P></LI> | |
72 | |
73 <LI><P><B>Recompile MPlayer.</B></P> | |
74 | |
75 <P><I>Run <CODE>./configure</CODE>. If you install libdvdread correctly, ./configure | |
76 says something similar:<BR><CODE>Checking for DVDread support ... yes</CODE><BR> | |
77 (Of course you can put your favourite configure options into the command | |
78 line when you run ./configure). That's it! Say: <CODE>make</CODE>, then <CODE>make install</CODE>.</I></P></LI> | |
79 </UL> | |
80 | |
81 <P>Of course after installing libcss and libdvdread you don't need recompile | |
82 them at each time when you want to recompile <B>MPlayer</B> (from a new CVS version | |
83 for example) since the needed packages have already been installed on your | |
84 machine.</P> | |
85 | |
86 <P><B>Using MPlayer to play DVDs:</B></P> | |
23 | 87 |
24 | 88 |
25 setcd -x [speed] [cdrom device] | 89 <TABLE BORDER=0 WIDTH=100%> |
90 <TD VALIGN=top>-dvd <title_id> </TD> | |
91 <TD>Enables DVD support and selects title.</TD><TR> | |
92 <TD VALIGN=top>-chapter <chapter_id> </TD> | |
93 <TD>Selects DVD chapter (default: play from chapter 1)</TD><TR> | |
94 <TD VALIGN=top>-dvdangle <chapter_id> </TD> | |
95 <TD>Selects camera angle (default: 1)</TD><TR> | |
96 </TABLE> | |
26 | 97 |
98 <P>Default device is <CODE>/dev/dvd</CODE>, you can change it in config.h | |
99 (compile time option), or you can specify it as a filename for <B>MPlayer</B>: | |
100 </P> | |
27 | 101 |
28 Also you can try : | 102 <P> <CODE>mplayer -dvd 1 /dev/dvd</CODE></P> |
103 <P> <CODE>mplayer -dvd 2 -chapter 5 -dvdangle 2</CODE></P> | |
29 | 104 |
105 <P><B><A NAME=4.3>4.3. DVD playback FAQ</A></B></P> | |
30 | 106 |
31 echo current_speed:4 >/proc/ide/[cdrom device]/settings | 107 <TABLE BORDER=0 ALIGN=left WIDTH=100%> |
32 | 108 |
109 <TD> </TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B> | |
110 I have some problem not mentioned here ... | |
111 </B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD> | |
112 Read section <A HREF="#4.2">DVD playback</A> as well. | |
113 </TD><TR><TD COLSPAN=3> </TD><TR> | |
33 | 114 |
34 but you'll need root privileges. I use following command too : | 115 <TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B> |
116 How can I actually watch DVD with MPlayer? | |
117 </B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD> | |
118 See the latter question and answer. | |
119 </TD><TR><TD COLSPAN=3> </TD><TR> | |
35 | 120 |
121 <TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B> | |
122 Can I compile libdvdread and libcss for example on my sweet Sparc/Solaris? | |
123 </B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD> | |
124 Who knows ... Please test it and send feedback. But it's said that it | |
125 should work. Please refer documentation of libdvdread and its homepage | |
126 as well. We're not authors of libdvdread. | |
127 </TD><TR><TD COLSPAN=3> </TD><TR> | |
36 | 128 |
37 echo file_readahead:2000000 >/proc/ide/[cdrom device]/settings | 129 <TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B> |
130 What about subtitles? Can MPlayer decode them? | |
131 </B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD> | |
132 Yes it can (or at least it would be able to) but there is now DVD subtitle | |
133 displaying functionality inside <B>MPlayer</B> (DVD subs are stored as images, | |
134 not text!). However it's a planned feature (at the time of libvo2). | |
135 </TD><TR><TD COLSPAN=3> </TD><TR> | |
38 | 136 |
137 <TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B> | |
138 I've got no sound / bad sound (Spanish audio and other ugly things). | |
139 </B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD> | |
140 <B>MPlayer</B> currently does not use all of information of IFO blocks from DVD. | |
141 You can adjust the right DVD audio stream with: '-aid 128' command line | |
142 option, where 128 is the stream id of requested audio stream. You can | |
143 experience with numbers of 128,129,... and so on. Of course this problem | |
144 will be solved in the future. | |
145 </TD><TR><TD COLSPAN=3> </TD><TR> | |
39 | 146 |
40 for 2MB prefetched reading from the file (it's useful for scratched CDROMs). | 147 <TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B> |
41 It's recommended that you tuneup your CDROM drive also with hdparm : | 148 There is some strange effect (interlace like thing) especially when fast |
149 moving objects are shown in the movie. | |
150 </B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD> | |
151 Known problem, we try to fix it later (when we switch to libvo2). | |
152 </TD><TR><TD COLSPAN=3> </TD><TR> | |
42 | 153 |
154 <TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B> | |
155 How can I set the region code of my DVD-Drive ? I don't have windows! | |
156 </B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD> | |
157 Use the 'regionset' tool: | |
158 http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz | |
159 </TD><TR><TD COLSPAN=3> </TD><TR> | |
43 | 160 |
44 hdparm -d1 -a8 -u1 (cdrom device) | 161 <TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B> |
162 So MPlayer can play DVDs? Then it must use DeCSS! You are under arrest | |
163 under the XYZ#$ paragraph of the-- | |
164 </B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD> | |
165 Get back asshole, there is no DeCSS code in <B>MPlayer</B>. <B>MPlayer</B> uses libdvdread | |
166 by linking against it, and libdvdread uses libcss by dynamic loading it. | |
167 </TD><TR><TD COLSPAN=3> </TD><TR> | |
45 | 168 |
169 <TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B> | |
170 Do I need to be (setuid) root/setuid fibmap_mplayer to be able to play DVD? | |
171 </B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD> | |
172 No, you don't. This is the past :) However of course you must have got | |
173 the proper rights to the DVD device driver entry (in /dev). | |
174 </TD><TR><TD COLSPAN=3> </TD><TR> | |
46 | 175 |
47 to enable using DMA access, readahead, and IRQ unmasking. | 176 <TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B> |
48 (if you don't understand these, *read the hdparm manpage*) | 177 How can I ... (insert some expectable DVD player feature here)? |
178 </B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD> | |
179 The current implementation is the first implementation of some real DVD | |
180 player functionality. First, we would like to target existing bugs and | |
181 basic features before implementing new features. | |
182 </TD><TR><TD COLSPAN=3> </TD><TR> | |
49 | 183 |
50 Please refer to "/proc/ide/[cdrom device]/settings" for fine-tuning your | 184 <TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH=100%><B> |
51 CDROM. | 185 Where can I get libdvdread and libcss packages from? |
186 </B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD> | |
187 From the site of Ogle: | |
188 <A HREF="http://www.dtek.chalmers.se/groups/dvd">http://www.dtek.chalmers.se/groups/dvd</A>. | |
189 </TD><TR><TD COLSPAN=3> </TD><TR> | |
190 </TABLE> | |
52 | 191 |
53 | 192 <BR> |
54 | 193 <HR>MPlayer documentation project |
55 <A NAME=4.2>4.2. DVD playback</A> | |
56 | |
57 IMPORTANT NOTE: please _DO_NOT_ require further features for DVD playback. This | |
58 is extremly experimental hack. Maybe it won't work for you. If you're | |
59 capable of helping us do it now! First we would like to fix existing problems. | |
60 Then we can start implementing advanced DVD playback functions of course. | |
61 | |
62 This means current DVD functions are mainly for developers and not for users! | |
63 | |
64 First, you must compile and install libcss on your system. | |
65 Second, you have to recompile <B>MPlayer</B> with libcss support. There is | |
66 autodetection of libcss, but if it fails, see below : | |
67 | |
68 Call ./configure script of <B>MPlayer</B> with these options: | |
69 | |
70 ./configure --enable-css --with-csslibdir=/usr/local/lib --with-cssincdir=/usr/local/include | |
71 | |
72 (of course you can append your favourite options as well) | |
73 | |
74 --with-csslibdir=/usr/local/lib | |
75 Directory contains libcss.so shared library. This directory should | |
76 be in your /etc/ld.so.conf as well. | |
77 | |
78 --with-cssincdir=/usr/local/include | |
79 Directory contains header file 'css.h' of libcss. | |
80 | |
81 mplayer -dvdauth /dev/dvd /mnt/cdrom/video_ts/vts_01_1.vob | |
82 | |
83 where, | |
84 | |
85 '-dvdauth /dev/dvd' tells <B>MPlayer</B> the device name of your DVD drive. | |
86 it's used in disc authentication process | |
87 | |
88 the filename is simply a VOB file path on the disc | |
89 | |
90 Note that according to my experiences, disc authentication requires root | |
91 privileges so you must run <B>MPlayer</B> as root! (see section 'Problems'). | |
92 | |
93 NOTE about the sound: | |
94 It seems that <B>MPlayer</B> sometimes fails to find the first audio stream. | |
95 You can specify it with the '-aid 128' option, for example. | |
96 Please experience with 128,129 and similar values. See section | |
97 'Problems'. | |
98 | |
99 On my AMD K6-2 with using hw scaling and colorspace conversion | |
100 capability of my G400 it's possible to watch DVD with about 70% | |
101 CPU usage with '-nosound'. Unfortunately with sound my machine is | |
102 not enough :( Maybe it can be improved somewhat ... | |
103 Guess, it's not so bad ... According to reports from my friends | |
104 xine uses 80-90% CPU to play DVD on much more powerful machines | |
105 like 1GHz Athlon systems (as far as I know, it's said that about | |
106 300MHz celeron is the minimum to watch DVDs ... using windows | |
107 DVD viewers). | |
108 | |
109 Hint: I commented out downmix functions from libac3 (of course in this way I | |
110 can't get sound) and audio decoding CPU usage became 11% instead of 24 on | |
111 my machine. This clearly indicates that we should optimize downmix functions | |
112 (KNI code is no use for my k6-2). | |
113 | |
114 HOT NEWZ: | |
115 We have got 3Dnow optimized libac3. Wow ;-) | |
116 | |
117 | |
118 Problems (TODO) | |
119 | |
120 * disc authentication (the FIBMAP ioctl) requires root privilegies. | |
121 this is strange since OMS can do it as user too. | |
122 * sound. I'm using my only DVD disc (The Matrix) to test <B>MPlayer</B>. | |
123 some VOB file have English sound, some have Spanish and some have | |
124 no sound at all. | |
125 IT SEEMS that if I give '-aid 128' everything works with English sound ... | |
126 * strange effects but only with SOME vob files (it looks like some interlacing | |
127 effect, eg: every 2nd line on the screen is from the last frame). | |
128 | |
129 | |
130 Feature TODO | |
131 | |
132 * chapter scanner | |
133 * audio stream scanner and allow to select one on runtime as well | |
134 (in stage#1 it would be enough to select one on the startup, see | |
135 'Problems' above) | |
136 * DVD menu | |
137 I found (at least on disc 'The Matrix') the menu VOB but I don't | |
138 know how can it be used. | |
139 (after some eyeballing on the source of OMS, it seems we would have to | |
140 parse *.ifo files) | |
141 * subtitle support | |
142 * OSD/GUI (?) support for select chapter, subtitle and audio stream | |
143 * getting some documentation on DVD format, eg: which is the 'root' VOB | |
144 file on the disc in video_ts directory, which is the menu and so on. | |
145 * improve performance (see 'Performance' above) | |
146 | |
147 | |
148 No sound problem (from Matrix DVD, the menu VOB) | |
149 | |
150 End of packet while searching for PCM header | |
151 | |
152 DEMUXER: Too many (2048 in 4131540 bytes) video packets in the buffer! | |
153 (maybe you play a non-interleaved stream/file or video codec failed) | |
154 MPEG: No Audio stream found... ->nosound | |
155 | |
156 However this does not occur if you specify '-aid 128'. | |
157 | |
158 | |
159 <A NAME=4.3>4.3. DVD playback FAQ</A> | |
160 | |
161 <B>Q: I have some problem not mentioned here ... | |
162 </B>A: Read file 'DVD' as well. | |
163 | |
164 <B>Q: How can I actually watch DVD with MPlayer? | |
165 </B>A: Ehh. Go on reading this file as well as 'DVD' (hint: you must have libcss) | |
166 | |
167 <B>Q: So MPlayer can play DVDs? Then it must use DeCSS! You are under arrest | |
168 under the XYZ#$ paragraph of the-- | |
169 </B>A: Get back asshole, there is no DeCSS code in MPlayer. It links to libcss. | |
170 | |
171 <B>Q: Seems to work but no sound. | |
172 </B>A: Use '-aid 128' (or try: 128,129,...) command line switch | |
173 | |
174 <B>Q: I have got Spanish audio instead of English (or similar problems) | |
175 </B>A: See the last question/answer. | |
176 | |
177 <B>Q: MPlayer complains about FIBMAP or something. | |
178 </B>A: Try to run MPlayer as root. | |
179 | |
180 <B>Q: some strange effect (interlace like thing) especially when fast moving | |
181 objects are shown in the movie | |
182 </B>A: known problem, we try to fix it later | |
183 | |
184 <B>Q: DVD support in MPlayer is a piece of shit! | |
185 </B>A: You're probably right :) However please contact us if you can improve it! | |
186 | |
187 <B>Q: Where can I get libcss package from? | |
188 </B>A: Maybe from the source of OMS (www.linuxvideo.org). | |
189 | |
190 <B>Q: How can I ... (insert some expectable DVD player feature here) | |
191 </B>A: The current implementation is only for viewing VOB files from DVD. | |
192 Nothing more, like subtitles, menus and so on. | |
193 | |
194 <B>Q: How can I set the region code of my DVD-Drive ? I don't have windows! | |
195 </B>A: Use the 'regionset' tool : | |
196 http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz | |
197 | |
198 <B>Q: MPlayer complains about some renamed option? | |
199 </B>A: For future development, old '-dvd' option was replaced by '-dvdauth'. | |
200 Option '-dvd' *WILL* do the 'full disk movie' mplaying mode. | |
201 But until that, '-dvd' does nothing only prints error message. | |
202 | |
203 </PRE> | |
204 | 194 |
205 </BODY> | 195 </BODY> |
206 | |
207 </HTML> | 196 </HTML> |