Mercurial > mplayer.hg
comparison DOCS/documentation.html @ 1371:4287b4726732
pre0alpha version
author | gabucino |
---|---|
date | Sat, 21 Jul 2001 09:57:12 +0000 |
parents | |
children | d1d37abe6389 |
comparison
equal
deleted
inserted
replaced
1370:28ef78a60ebd | 1371:4287b4726732 |
---|---|
1 <HTML> | |
2 | |
3 <BODY> | |
4 | |
5 <P> | |
6 <CENTER>MPlayer - Movie Player for LINUX (C) 2000-2001 Arpad Gereoffy (A'rpi/ESP-team)<BR> | |
7 <BR> | |
8 http://mplayer.sourceforge.net (or http://mplayer.dev.hu)</CENTER><BR> | |
9 </P> | |
10 | |
11 <P><HR></P> | |
12 | |
13 <P> | |
14 Table of Contents | |
15 </P> | |
16 | |
17 <P><HR></P> | |
18 | |
19 <PRE> | |
20 <P> | |
21 <A HREF="#1">1. Introduction</A> | |
22 </P> | |
23 <P> | |
24 <A HREF="#1.1">1.1 Overview +speed</A> | |
25 <A HREF="#1.2">1.2 History</A> | |
26 <A HREF="#1.3">1.3 Installation</A> | |
27 <A HREF="#1.3.1">1.3.1 Codecs</A> | |
28 <A HREF="#1.3.2">1.3.2 Drivers</A> | |
29 <A HREF="#1.3.3">1.3.3 Player</A> | |
30 <A HREF="#1.3.4">1.3.4 Matrox G400 DualHead Tools</A> | |
31 <A HREF="#1.3.5">1.3.5 Fonts</A> | |
32 <A HREF="#1.4">1.4 What about the GUI?</A> | |
33 </P> | |
34 <P> | |
35 <A HREF="#2">2. Features</A> | |
36 </P> | |
37 <P> | |
38 <A HREF="#2.1">2.1 Video Formats, Audio & Video Codecs</A> | |
39 <A HREF="#2.1.1">2.1.1 Supported input formats</A> | |
40 <A HREF="#2.1.2">2.1.2 Supported audio & video codecs</A> | |
41 <A HREF="#2.1.2.1">2.1.2.1 OpenDivX</A> | |
42 <A HREF="#2.1.2.2">2.1.2.2 ffmpeg's DivX/libavcodec</A> | |
43 <A HREF="#2.1.4">2.1.4 Codec importing howto</A> | |
44 <A HREF="#2.1.4.1">2.1.4.1 VFW codecs</A> | |
45 <A HREF="#2.1.4.2">2.1.4.2 DirectShow codecs</A> | |
46 </P> | |
47 <P> | |
48 <A HREF="#2.2">2.2 Video & Audio output devices</A> | |
49 <A HREF="#2.2.1">2.2.1 Video output devices</A> | |
50 <A HREF="#2.2.1.1">2.2.1.1 Xv</A> | |
51 <A HREF="#2.2.1.2">2.2.1.2 DGA</A> | |
52 <A HREF="#2.2.1.2.1">2.2.1.2.1 Summary</A> | |
53 <A HREF="#2.2.1.2.2">2.2.1.2.2 What is DGA</A> | |
54 <A HREF="#2.2.1.2.3">2.2.1.2.3 Resolution switching</A> | |
55 <A HREF="#2.2.1.2.4">2.2.1.2.4 DGA & MPlayer</A> | |
56 <A HREF="#2.2.1.2.5">2.2.1.2.5 Features of the DGA driver</A> | |
57 <A HREF="#2.2.1.2.6">2.2.1.2.6 Speed issues</A> | |
58 <A HREF="#2.2.1.2.7">2.2.1.2.7 Known bugs</A> | |
59 <A HREF="#2.2.1.2.8">2.2.1.2.8 Future work</A> | |
60 <A HREF="#2.2.1.2.A">2.2.1.2.A Some modelines</A> | |
61 <A HREF="#2.2.1.2.B">2.2.1.2.B Bug Reports</A> | |
62 <A HREF="#2.2.1.3">2.2.1.3 SDL</A> | |
63 <A HREF="#2.2.1.4">2.2.1.4 SVGAlib</A> | |
64 <A HREF="#2.2.1.5">2.2.1.5 Framebuffer output (FBdev)</A> | |
65 <A HREF="#2.2.1.6">2.2.1.6 Matrox framebuffer (mga_vid)</A> | |
66 <A HREF="#2.2.1.7">2.2.1.7 SiS 6326 framebuffer (sis_vid)</A> | |
67 <A HREF="#2.2.1.8">2.2.1.8 3dfx YUV support</A> | |
68 <A HREF="#2.2.1.9">2.2.1.9 OpenGL output</A> | |
69 <A HREF="#2.2.2">2.2.2 Audio output devices</A> | |
70 +SOUNDCARDS | |
71 </P> | |
72 <P> | |
73 <A HREF="#2.3">2.3 Subtitles and OSD</A> | |
74 </P> | |
75 <P> | |
76 <A HREF="#3">3. Usage</A> | |
77 </P> | |
78 <P> | |
79 <A HREF="#3.1">3.1 Control from keyboard</A> | |
80 <A HREF="#3.2">3.2 Control from LIRC (Linux Infrared Remote Control)</A> | |
81 <A HREF="#3.3">3.3 Streaming from network or pipes</A> | |
82 </P> | |
83 <P> | |
84 <A HREF="#4">4. TV-out support</A> | |
85 </P> | |
86 <P> | |
87 <A HREF="#4.1">4.1 Matrox cards</A> | |
88 </P> | |
89 <P> | |
90 <A HREF="#5">5. Tuning</A> | |
91 </P> | |
92 <P> | |
93 <A HREF="#5.1">5.1 CD drives</A> | |
94 <A HREF="#5.2">5.2 DVD drives</A> | |
95 <A HREF="#5.3">5.3 MTRR</A> | |
96 </P> | |
97 <P> | |
98 <A HREF="#6">6. FAQ section</A> | |
99 </P> | |
100 <P> | |
101 <A HREF="#6.10">6.10 DVD FAQ</A> | |
102 </P> | |
103 <P> | |
104 <A HREF="#7">7. Misc OS'es</A> | |
105 </P> | |
106 <P> | |
107 <A HREF="#7.1">7.1 Debian packaging</A> | |
108 <A HREF="#7.2">7.2 FreeBSD</A> | |
109 <A HREF="#7.3">7.3 Solaris 8</A> | |
110 </P> | |
111 <P> | |
112 <A HREF="#A">A. Authors</A> | |
113 </P> | |
114 <P> | |
115 <A HREF="#B">B. Mailing lists</A> | |
116 </P> | |
117 <P> | |
118 <A HREF="#C">C. How to report bugs</A> | |
119 </P> | |
120 <P> | |
121 License+standard disc, maintainers | |
122 </P></PRE> | |
123 <P><HR></P> | |
124 | |
125 <P><PRE> | |
126 <A NAME=1>1. Introduction | |
127 | |
128 | |
129 <A NAME=1.1>1.1. Overview | |
130 | |
131 MPlayer is a movie player for LINUX. It plays most MPEG, AVI and ASF files, | |
132 supported by many native and Win32 DLL codecs. You can watch VCD, DVD and | |
133 even DivX movies too. The another big feature of mplayer is the wide range of | |
134 supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib, fbdev, | |
135 but you can use SDL (and this way all drivers of SDL, for example AAlib) and | |
136 some lowlevel card-specific drivers (for Matrox) too! Most of them supports | |
137 software or hardware scaling, so you can enjoy movies in fullscreen. And what | |
138 about the nice big antialiased shaded subtitles (7 supported types!!!) with | |
139 hungarian, english, cyrillic, czech, korean fonts, and OSD? | |
140 | |
141 I didn't write any codecs, just some players. I spent | |
142 a lot of time finding the best way to parse bad damaged input files | |
143 (both MPEG and AVI) and to do perfect A-V sync with seeking ability. | |
144 My player is rock solid playing damaged MPEG files (useful for some VCDs), | |
145 and it plays bad AVI files which are unplayable with the famous | |
146 windows media player. Even AVI files without index chunk are playable, and | |
147 you can rebuild their indexes with the -idx option, thus enabling seeking! | |
148 As you see, stability and quality are the most important things for me, | |
149 but the speed is also amazing. | |
150 | |
151 | |
152 <A NAME=1.2>1.2. History | |
153 | |
154 This began a year ago... | |
155 I've tried lots of players under linux (mtv,xmps,dvdview,livid/oms,VideoLAN, | |
156 xine,xanim,avifile,xmmp) but they all have some problem. Mostly with special | |
157 files or with audio/video sync. Most of them is unable to play both MPEG1, | |
158 MPEG2 and AVI (DivX) files. Many players have image quality or speed problems | |
159 too. So I've decided to write/modify one... | |
160 | |
161 - mpg12play v0.1-v0.3: | |
162 The first try, hacked together in a half hour! | |
163 I've used libmpeg3 from www.heroinewarrior.com up to the version 0.3, | |
164 but there were image quality and speed problems with it. | |
165 - mpg12play v0.5-v0.87: | |
166 Mpeg codec replaced with DVDview by Dirk Farin, it was a great stuff, | |
167 but it was slow and was written in C++ (I hate C++!!!) | |
168 - mpg12play v0.9-v0.95pre5: | |
169 Mpeg codec was libmpeg2 (mpeg2dec) by Aaron Holtzman & Michel Lespinasse. | |
170 It's great, optimized very fast C code with perfect image quality and | |
171 100% MPEG standard conformance. | |
172 - MPlayer v0.3-v0.9: | |
173 It was a pack of two programs: mpg12playv0.95pre6 and my new simple AVI | |
174 player 'avip' based on avifile's Win32 DLL loader. | |
175 - MPlayer v0.10: | |
176 The MPEG and AVI player in a single binary! | |
177 - MPlayer v0.11: | |
178 Some new developers joined and from 0.11 the mplayer project is a team-work! | |
179 Added .ASF file support, and OpenDivX (see www.projectmayo.com) en/decoding. | |
180 - MPlayer v0.17 "The IdegCounter" | |
181 The release version of the 0.11pre after 4 months of heavy development! | |
182 Try it, and be amazed! Thousands of new features added... and of course | |
183 old code was improved too, bugs removed etc. | |
184 - MPlayer 0.18 "The BugCounter" | |
185 2 months since 0.17 and here's a new release.. Completed ASF support, | |
186 more subtitle formats, introduced libao (similar to libvo but to audio), | |
187 even more stable than ever, and so on. It's a MUST ! | |
188 | |
189 | |
190 <A NAME=1.3>1.3. Installation | |
191 | |
192 | |
193 <A NAME=1.3.1>1.3.1. The Codecs (w32codecs.zip) | |
194 | |
195 Download and unzip w32codecs.zip to /usr/lib/win32 | |
196 Note: the avifile project has similar codecs package, but it differs | |
197 from our, so if you want to use all supported codecs, then use | |
198 our package! | |
199 | |
200 | |
201 <A NAME=1.3.2>1.3.2. Drivers (mga_vid.o) | |
202 | |
203 | |
204 cd drivers | |
205 make | |
206 mknod /dev/mga_vid c 178 0 | |
207 chmod go+rw /dev/mga_vid | |
208 | |
209 | |
210 <A NAME=1.3.3>1.3.3. The Player (mplayer) | |
211 | |
212 ./configure | |
213 [* read messages printed by ./configure, it may be very usefull! *] | |
214 [* check config.h and config.mak files! *] | |
215 make | |
216 [* check for errors! of none, you should have the ./mplayer binary *] | |
217 make install | |
218 | |
219 | |
220 <A NAME=1.3.4>1.3.4. Matrox G400 DH TV-out tools | |
221 | |
222 cd TVout | |
223 ./compile.sh | |
224 | |
225 | |
226 <A NAME=1.3.5>1.3.5. Fonts | |
227 | |
228 Download mp_font3.zip (and optional language updates) and | |
229 unpack to ~/.mplayer/font/ : | |
230 | |
231 cd ~/.mplayer | |
232 mkdir font | |
233 cd font | |
234 unzip mp_font3.zip | |
235 unzip mp_font3_hu.zip | |
236 | |
237 | |
238 <A NAME=1.4>1.4. What about the GUI ? | |
239 | |
240 I'm not a GUI programmer. I hate GUIs, I like the pure black 80x25 console. | |
241 So the player has only keyboard control from the controlling console/xterm now. | |
242 There is a GUI development for the player, coordinated by Pontscho/Fresh! | |
243 It's still under development, but it will be merged and released real soon. | |
244 BTW he needs some nice skins, if you are a good graphician, contact him!!! | |
245 | |
246 | |
247 <A NAME=2>2. Features | |
248 | |
249 | |
250 <A NAME=2.1>2.1. Video Formats, Audio & Video Codecs | |
251 | |
252 | |
253 <A NAME=2.1.1>2.1.1. Supported input formats | |
254 | |
255 - VCD (Video CD) directly from CD-ROM or from CDRwin's .bin image file | |
256 - DVD, directly from your DVD disk, using optional libcss for decryption | |
257 - MPEG 1/2 System Stream (PS/PES/VOB) and Elementary Stream (ES) file formats | |
258 - RIFF AVI file format | |
259 - ASF 1.0 file format | |
260 - supports reading from file, stdin, DVD drive or network via HTTP | |
261 | |
262 Note: about quicktime (.mov/.qt) and realmedia (.ra/.rm) support read the FAQ! | |
263 | |
264 | |
265 <A NAME=2.1.2>2.1.2. Supported audio & video codecs | |
266 | |
267 See http://mplayer.sourceforge.net/DOCS/codecs.html for the complete, | |
268 daily updated list!!! | |
269 | |
270 The most important video codecs: | |
271 - MPEG1 (VCD) and MPEG2 (DVD) video | |
272 - DivX, OpenDivX and other MPEG4 variants | |
273 - Windows Media Video 7 (WMV1) used in .wmv files | |
274 - Intel Indeo codecs (3.1,3.2,4.1,5.0) | |
275 - MJPEG, ASV2 and other hardware formats | |
276 | |
277 The most important audio codecs: | |
278 - MPEG layer 2, and layer 3 (MP3) audio (native code, with 3dnow optimization) | |
279 - AC3 dolby audio (native code, with 3dnow optimization) | |
280 - Voxware audio | |
281 - alaw, msgsm, pcm and other simple old audio formats | |
282 | |
283 If you have a codec not listed here, and not supported yet, just | |
284 read http://mplayer.sourceforge.net/DOCS/codecs.html and DOCS/CODECS | |
285 to get info about its status and about how to help us adding support for it! | |
286 | |
287 | |
288 <A NAME=2.1.2.1>2.1.2.1. OpenDivX | |
289 | |
290 | |
291 <A NAME=2.1.2.2>2.1.2.2. ffmpeg's DivX/libavcodec | |
292 | |
293 | |
294 <A NAME=2.1.4>2.1.4. Codec importing howto | |
295 | |
296 | |
297 <A NAME=2.1.4.1>2.1.4.1. VFW codecs | |
298 | |
299 VfW (Video for Windows) is the old Video API for Windows. Its codecs have | |
300 the .DLL or (rarely) .DRV extension. | |
301 If MPlayer fails with your AVI: | |
302 | |
303 UNKNOWN video codec: HFYU (0x55594648) | |
304 | |
305 It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU = | |
306 HuffYUV codec, DIV3 = DivX Low Motion, etc...). Now that we know this, we'll | |
307 have to find out which DLL Windows loads in order to play this file. In our | |
308 case, the system.ini contains this (with many others): | |
309 VIDC.HFYU=huffyuv.dll | |
310 So we'll need the huffyuv.dll file. Note that the audio codecs are specified | |
311 with the MSACM prefix : | |
312 msacm.l3acm=L3codeca.acm | |
313 This is the MP3 codec. | |
314 | |
315 So, now we have all the info needed (fourcc, codec file, sample AVI), submit | |
316 your codec support request in mail, and upload these files to the FTP: | |
317 ftp://thot.banki.hu/MPlayer/incoming/<codecname>/ | |
318 | |
319 | |
320 <A NAME=2.1.4.2>2.1.4.2. DirectShow codecs | |
321 | |
322 DirectShow is the newer Video API, which is even worse than its predecessor. | |
323 Things are harder with DirectShow, since | |
324 - system.ini doesn't contain the needed information, instead it's stored in | |
325 the registry :( | |
326 - we'll need the GUID of the codec. | |
327 | |
328 So let's search that goddamn registry.. | |
329 - Start 'regedit' | |
330 - press ctrl-f, disable the first two checkbox, and enable the third. Type | |
331 the fourcc of the codec. (for ex.: TM20) | |
332 - you should see a field which contains the path and filename | |
333 (for ex. : C:\WINDOWS\SYSTEM\TM20DEC.AX) | |
334 - now that we have the file, we'll need the GUID. Try searching again, but | |
335 now we'll search for the codec's name, not the fourcc. Its name can be acquired | |
336 when Media Player is playing that file, by checking File/Properties/Advanced. | |
337 If not, bad luck ;) Try guessing. | |
338 (for ex. search for : TrueMotion) | |
339 - if found (in registry), there should be a FriendlyName field, and a CLSID | |
340 field. Write down that 16 byte of CLSID, this is the GUID required by us. | |
341 | |
342 NOTE : if searching fails, try to enable all the checkboxes.. you may have | |
343 false hits, but maybe you'll have the right, too... | |
344 NOTE : dump that M$ shit. | |
345 | |
346 So, now we have all the info needed (fourcc, GUID, codec file, sample AVI), | |
347 submit your codec support request in mail, and upload these files to the FTP: | |
348 ftp://thot.banki.hu/MPlayer/incoming/<codecname>/ | |
349 | |
350 | |
351 <A NAME=2.2>2.2. Video & Audio output devices | |
352 | |
353 | |
354 <A NAME=2.2.1>2.2.1. Video output devices | |
355 | |
356 General: | |
357 - x11: X11 with optional SHM extension | |
358 - xv: X11 using overlays with the Xvideo extension (hardware YUV & scaling) | |
359 - gl: OpenGL renderer, so far works only with : | |
360 - all cards with Utah-GLX | |
361 - Matrox cards with X/DRI >=4.0.3 | |
362 - Radeon with X/DRI CVS | |
363 - dga: X11 DGA extension | |
364 - fbdev:Output to general framebuffers | |
365 - svga: Output to SVGAlib | |
366 - sdl: 1.1.7 : supports software scaling | |
367 1.1.8 : supports Xvideo (hardware scaling/fullscreen) | |
368 1.2.0 : supports aalib (textmode rendering, very funny!) | |
369 - ggi: similar to SDL | |
370 | |
371 Card specific: | |
372 - mga: Matrox G200/G400 hardware YUV overlay via the mga_vid device | |
373 - xmga: Matrox G200/G400 overlay (mga_vid) in X11 window | |
374 (Xv emulation on X 3.3.x !) | |
375 - syncfb: Matrox G400 YUV support on framebuffer (obsoleted, use mga/xmga) | |
376 - 3dfx: Voodoo2/3 hardware YUV (/dev/3dfx) support (not yet tested, maybe | |
377 broken) | |
378 | |
379 Special: | |
380 - png: PNG files output (use -z switch to set compression) | |
381 - pgm: PGM files output (for testing purposes or ffmpeg encoding) | |
382 - md5: MD5sum output (for MPEG conformance tests) | |
383 - odivx:OpenDivX AVI File writer (use -br to set encoding bitrate) | |
384 - null: Null output (for speed tests/benchmarking) | |
385 | |
386 NOTE: check DOCS/VIDEOCARDS for details and requirements! | |
387 | |
388 | |
389 <A NAME=2.2.1.1>2.2.1.1. Xv | |
390 | |
391 I. Under XFree86 4.0.2 or newer, using the XVideo extension: | |
392 this is what the option '-vo xv' uses. | |
393 | |
394 In order to make this work, be sure to check the following: | |
395 | |
396 1. You use XFree86 4.0.2 or newer (former versions don't have XVideo) | |
397 | |
398 2. Your card actually supports harware acceleration (modern cards do) | |
399 | |
400 3. X loads the XVideo extension, it's something like this: | |
401 (II) Loading extension XVideo | |
402 in /var/log/XFree86.0.log | |
403 NOTE : this loads only the XFree86's extension. In a good install, this is | |
404 always loaded, and doesn't mean that the _card's_ XVideo support is | |
405 loaded! | |
406 | |
407 4. Your card has Xv support under Linux. To check, try 'xvinfo', it is the | |
408 part of the XFree86 distribution. It should display a long text, similar | |
409 to this: | |
410 | |
411 X-Video Extension version 2.2 | |
412 screen #0 | |
413 Adaptor #0: "Savage Streams Engine" | |
414 number of ports: 1 | |
415 port base: 43 | |
416 operations supported: PutImage | |
417 supported visuals: | |
418 depth 16, visualID 0x22 | |
419 depth 16, visualID 0x23 | |
420 number of attributes: 5 | |
421 (...) | |
422 Number of image formats: 7 | |
423 id: 0x32595559 (YUY2) | |
424 guid: 59555932-0000-0010-8000-00aa00389b71 | |
425 bits per pixel: 16 | |
426 number of planes: 1 | |
427 type: YUV (packed) | |
428 id: 0x32315659 (YV12) | |
429 guid: 59563132-0000-0010-8000-00aa00389b71 | |
430 bits per pixel: 12 | |
431 number of planes: 3 | |
432 type: YUV (planar) | |
433 (...etc...) | |
434 | |
435 It must support YUY2 packed, and YV12 planar pixel formats to be | |
436 usable with MPlayer. | |
437 | |
438 I.1. | |
439 a, If xvinfo doesn't show these, but XVideo extension is loaded and you're | |
440 sure your card can do YUV conversion, | |
441 - 3dfx voodoo3/banshee users download a new DRI from | |
442 http://dri.sourceforge.net (or possibly use X 4.1.0) | |
443 - S3 Savage4 users download XFree86 >= 4.0.3 (4.1.0 preferred) | |
444 - nVidia users sell their card.. or download the nVidia driver from | |
445 nVidia's website | |
446 b, The GATOS driver (for ATI cards) has VSYNC enabled by default. It means | |
447 that decoding speed (!) is synced to the monitor's refresh rate. If | |
448 playing seems to be slow, try disabling VSYNC somehow, or set refresh | |
449 rate to n*(fps of the movie) Hz. | |
450 | |
451 5. Be sure MPlayer is compiled with the "xv" target. "./configure" should say: | |
452 Checking for Xv ... yes | |
453 | |
454 6. If all is fine, try the option '-vo xv' . It should work. | |
455 (if it doesn't, send us a bugreport. See the BUGREPORTS on how to do this.) | |
456 | |
457 | |
458 | |
459 <A NAME=2.2.1.2>2.2.1.2. DGA | |
460 | |
461 1. Make sure X loads the DGA extension: | |
462 (II) Loading extension XFree86-DGA | |
463 (you see, XFree86 4.0.x or greater is VERY RECOMMENDED!) | |
464 2. MPlayer's DGA driver is autodetected on ./configure, or you can force it | |
465 with --enable-dga. | |
466 3. If the driver couldn't switch to a smaller resolution, experiment with | |
467 switches -vm (only with X 3.3.x), -fs, -bpp, -zoom to find a video mode that | |
468 the movie fits in. There is no converter right now.. :( | |
469 4. Become ROOT. DGA needs root access to be able to write directly video memory. | |
470 If you want to run it as user, then install MPlayer SUID root: | |
471 'chown root /usr/local/bin/mplayer' | |
472 'chmod 750 /usr/local/bin/mplayer' | |
473 'chmod +s /usr/local/bin/mplayer' | |
474 Now it works as a simple user, too. | |
475 !!!! BUT STAY TUNED !!!! | |
476 This is a BIG security risk! Never do this on a server or on a computer | |
477 can be accessed by more people than only you because they can gain root | |
478 privilegies through suid root mplayer. | |
479 !!!! SO YOU HAVE BEEN WARNED ... !!!! | |
480 5. Use '-vo dga' option, and there you go! (hope so:) | |
481 6. Try if the '-vo sdl:dga' options work for you! It's much faster!!! | |
482 | |
483 | |
484 <A NAME=2.2.1.2.1>2.2.1.2.1. Summary | |
485 | |
486 This document tries to explain in some words what DGA is in general and | |
487 what the DGA video output driver for mplayer can do (and what it can't). | |
488 | |
489 | |
490 <A NAME=2.2.1.2.2>2.2.1.2.2. What is DGA | |
491 | |
492 DGA is short for Direct Graphics Access and is a means for a program to | |
493 bypass the X-Server and directly modifying the framebuffer memory. | |
494 Technically spoken this happens by mapping the framebuffer memory into | |
495 the memory range of your process. This is allowed by the kernel only | |
496 if you have superuser privileges. You can get these either by logging in | |
497 as root or by setting the suid bit on the mplayer excecutable (NOT | |
498 recommended!). | |
499 | |
500 There are two versions of DGA: DGA1 is used by XFree 3.x.x and DGA2 was | |
501 introduced with XFree 4.0.1. | |
502 | |
503 DGA1 provides only direct framebuffer access as described above. For | |
504 switching the resolution of the video signal you have to rely on the | |
505 XVidMode extension. | |
506 | |
507 DGA2 incorporates the features of XVidMode extension and also allows | |
508 switching the depth of the display. So you may, although basically | |
509 running a 32 bit depth XServer, switch to a depth of 15 bits and vice | |
510 versa. | |
511 | |
512 However DGA has some drawbacks. It seems it is somewhat dependent on the | |
513 graphics chip you use and on the implementation of the XServer's video | |
514 driver that controls this chip. So it does not work on every system ... | |
515 | |
516 | |
517 <A NAME=2.2.1.2.3>2.2.1.2.3. Resolution switching | |
518 | |
519 The DGA driver allows for switching the resolution of the output signal. | |
520 This avoids the need for doing (slow) software scaling and at the same | |
521 time provides a fullscreen image. Ideally it would switch to the exact | |
522 resolution (except for honouring aspect ratio) of the video data, but the | |
523 XServer only allows switching to resolutions predefined in | |
524 /etc/X11/XF86Config (/etc/X11/XF86Config-4 for XFree 4.0.X respectively). | |
525 Those are defined by so-called modelines and depend on the capabilites | |
526 of your video hardware. The XServer scans this config file on startup and | |
527 disables the modelines not suitable for your hardware. You can find | |
528 out which modes survive with the X11 log file. It can be found at: | |
529 /var/log/XFree86.0.log | |
530 See appendix A for some sample modeline definitions. | |
531 | |
532 | |
533 <A NAME=2.2.1.2.4>2.2.1.2.4. DGA & MPlayer | |
534 | |
535 DGA is used in two places with MPlayer: The SDL driver can be made to make | |
536 use of it (-vo sdl:dga) and within the DGA driver (-vo dga). | |
537 The above said is true for both; in the following sections I'll explain | |
538 how the DGA driver for MPlayer works. | |
539 | |
540 | |
541 <A NAME=2.2.1.2.5>2.2.1.2.5. Features of the DGA driver | |
542 | |
543 The DGA driver is invoked by specifying -vo dga at the command line. | |
544 The default behaviour is to switch to a resolution matching the original | |
545 resolution of the video as close as possible. It deliberately ignores the | |
546 -vm and -fs switches (enabling of video mode switching and fullscreen) - | |
547 it always tries to cover as much area of your screen as possible by switching | |
548 the video mode, thus refraining to use a single additional cycle of your CPU | |
549 to scale the image. | |
550 If you don't like the mode it chooses you may force it to choose the mode | |
551 matching closest the resolution you specify by -x and -y. | |
552 By providing the -v option, the DGA driver will print, among a lot of other | |
553 things, a list of all resolutions supported by your current XF86-Config | |
554 file. | |
555 Having DGA2 you may also force it to use a certain depth by using the -bpp | |
556 option. Valid depths are 15, 16, 24 and 32. It depends on your hardware | |
557 whether these depths are natively supported or if a (possibly slow) | |
558 conversion has to be done. | |
559 | |
560 If you should be lucky enough to have enough offscreen memory left to | |
561 put a whole image there, the DGA driver will use doublebuffering, which | |
562 results in much smoother movie replaying. It will tell you whether double- | |
563 buffering is enabled or not. | |
564 | |
565 Doublebuffering means that the next frame of your video is being drawn in | |
566 some offscreen memory while the current frame is being displayed. When the | |
567 next frame is ready, the graphics chip is just told the location in memory | |
568 of the new frame and simply fetches the data to be displayed from there. | |
569 In the meantime the other buffer in memory will be filled again with new | |
570 video data. | |
571 | |
572 Doublebuffering may be switched on by using the option -double and may be | |
573 disabled with -nodouble. Current default option is to disable | |
574 doublebuffering. When using the DGA driver, onscreen display (OSD) only | |
575 works with doublebuffering enabled. However, enabling doublebuffering may | |
576 result in a big speed penalty (on my K6-II+ 525 it used an additional 20% of | |
577 CPU time!) depending on the implementation of DGA for your hardware. | |
578 | |
579 | |
580 <A NAME=2.2.1.2.6>2.2.1.2.6. Speed issues | |
581 | |
582 Generally spoken, DGA framebuffer access should be at least as fast as using | |
583 the X11 driver with the additional benefit of getting a fullscreen image. | |
584 The percentage speed values printed by mplayer have to be interpreted with | |
585 some care, as for example, with the X11 driver they do not include the time | |
586 used by the X-Server needed for the actual drawing. Hook a terminal to a | |
587 serial line of your box and start top to see what is really going on in your | |
588 box ... | |
589 | |
590 Generally spoken, the speedup done by using DGA against 'normal' use of X11 | |
591 highly depends on your graphics card and how well the X-Server module for it | |
592 is optimized. | |
593 | |
594 If you have a slow system, better use 15 or 16bit depth since they require | |
595 only half the memory bandwidth of a 32 bit display. | |
596 | |
597 Using a depth of 24bit is even a good idea if your card natively just supports | |
598 32 bit depth since it transfers 25% less data compared to the 32/32 mode. | |
599 | |
600 I've seen some avi files already be replayed on a Pentium MMX 266. AMD K6-2 | |
601 CPUs might work at 400 MHZ and above. | |
602 | |
603 | |
604 <A NAME=2.2.1.2.7>2.2.1.2.7. Known bugs | |
605 | |
606 Well, according to some developpers of XFree, DGA is quite a beast. They | |
607 tell you better not to use it. Its implementation is not always flawless | |
608 with every chipset driver for XFree out there. | |
609 | |
610 o with XFree 4.0.3 and nv.o there is a bug resulting in strange colors | |
611 o ATI driver requires to switch mode back more than once after finishing | |
612 using of DGA | |
613 o some drivers simply fail to switch back to normal resolution (use | |
614 Ctrl-Alt-Keypad +, - to switch back manually) | |
615 o some drivers simply display strange colors | |
616 o some drivers lie about the amount of memory they map into the process's | |
617 address space, thus vo_dga won't use doublebuffering (SIS?) | |
618 o some drivers seem to fail to report even a single valid mode. In this | |
619 case the DGA driver will crash telling you about a nonsense mode of | |
620 100000x100000 or the like ... | |
621 o OSD only works with doublebuffering enabled | |
622 | |
623 | |
624 <A NAME=2.2.1.2.8>2.2.1.2.8. Future work | |
625 | |
626 o use of the new X11 render interface for OSD | |
627 o where is my TODO list ???? :-((( | |
628 | |
629 | |
630 <A NAME=2.2.1.2.A>2.2.1.2.A. Some modelines | |
631 | |
632 Section "Modes" | |
633 Identifier "Modes[0]" | |
634 Modeline "800x600" 40 800 840 968 1056 600 601 605 628 | |
635 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425 | |
636 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 | |
637 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan | |
638 Modeline "352x288" 25.10 352 368 416 432 288 296 290 310 | |
639 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan | |
640 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan | |
641 EndSection | |
642 | |
643 | |
644 These entries work fine with my Riva128 chip, using nv.o XServer driver | |
645 module. | |
646 | |
647 | |
648 <A NAME=2.2.1.2.B>2.2.1.2.B. Bug Reports | |
649 | |
650 If you experience troubles with the DGA driver please feel free to file | |
651 a bug report to me (e-mail address below). Please start mplayer with the | |
652 -v option and include all lines in the bug report that start with vo_dga: | |
653 | |
654 Please do also include the version of X11 you are using, the graphics card | |
655 and your CPU type. The X11 driver module (defined in XF86-Config) might | |
656 also help. Thanks! | |
657 | |
658 | |
659 Acki (acki@acki-netz.de, www.acki-netz.de) | |
660 | |
661 | |
662 <A NAME=2.2.1.3>2.2.1.3. SDL | |
663 | |
664 Here are some notes about SDL out in MPlayer. | |
665 | |
666 There are several commandline switches for sdl: | |
667 -vo sdl:<name> specifies sdl video driver to use (ie. aalib, | |
668 dga, x11) | |
669 -ao sdl:<name> specifies sdl audio driver to use (ie. dsp, esd) | |
670 -noxv disables Xvideo hardware acceleration | |
671 -forcexv tries to force Xvideo acceleration | |
672 | |
673 SDL Keys: | |
674 F toggles fullscreen/windowed mode | |
675 C cycles available fullscreen modes | |
676 W/S mappings for * and / (mixer control) | |
677 | |
678 KNOWN BUGS: | |
679 - Keys pressed under aalib console driver repeat forever. | |
680 It's bug in SDL, I can't change it (tested with SDL 1.2.1). | |
681 | |
682 | |
683 <A NAME=2.2.1.4>2.2.1.4. SVGAlib | |
684 | |
685 a, If you don't have X... | |
686 ...use the SVGAlib target! Be sure not to use the -fs switch, since it | |
687 toggles the usage of the software scaler, and it's SLOOOW now, unless you | |
688 have a real fast CPU (and/or MTRR?). :( | |
689 | |
690 Of course you'll have to install svgalib and its development package in | |
691 order for MPlayer build its SVGAlib driver (autodetected, but can be | |
692 forced), and don't forget to edit /etc/vga/libvga.config to suit your | |
693 card & monitor. | |
694 | |
695 | |
696 <A NAME=2.2.1.5>2.2.1.5. Framebuffer output (FBdev) | |
697 | |
698 b, You want to use framebuffer... | |
699 ... Whether to build the FBdev target is autodetected during ./configure . | |
700 Read the framebuffer documentation in the kernel sources | |
701 (Documentation/fb/*) for info on how to enable it, etc.. ! | |
702 | |
703 ... but your card doesn't support VBE 2.0 standard (older ISA/PCI | |
704 cards, such as S3 Trio64), only VBE 1.2 (or older?) : | |
705 Well, VESAfb is still available, but you'll have to load SciTech Display | |
706 Doctor (formerly UniVBE) before booting Linux. Use a DOS boot disk or | |
707 whatever. And don't forget to register your UniVBE ;)) | |
708 | |
709 NOTE : FBdev video mode changing _does not work_ with the VESA framebuffer, | |
710 and don't ask for it, since it's not an MPlayer limitation. | |
711 | |
712 | |
713 <A NAME=2.2.1.6>2.2.1.6. Matrox framebuffer (mga_vid) | |
714 | |
715 1. Matrox G200/G400/G450 BES (Back-End Scaler) support -> mga_vid kernel drv. | |
716 It's active developed by me (A'rpi), and it has hardware VSYNC support | |
717 with triple buffering. It works on both framebuffer console and under X. | |
718 | |
719 To use, simply compile the mga_vid.o in the drivers/ subdir (type: make) | |
720 create /dev/mga_vid device : | |
721 mknod /dev/mga_vid c 178 0 | |
722 and load the driver with insmod mga_vid.o. You should verify the memory size | |
723 detection using the 'dmesg' command. If it's bad, use the mga_ram_size | |
724 option (rmmod mga_vid first), specify card's memory size in MB: | |
725 insmod mga_vid.o mga_ram_size=16 | |
726 To make it load/unload automatically when needed, insert the following line | |
727 at the end of /etc/modules.conf : | |
728 alias char-major-178 mga_vid | |
729 Then run | |
730 depmod -a | |
731 | |
732 Using it from MPlayer: (you should re-compile it with mga_vid support...) | |
733 | |
734 Use the 'mga' vo driver on framebuffer console (matroxfb): -vo mga | |
735 and use the xmga driver for X 3.3.x: -vo xmga | |
736 | |
737 Note: it works under X 4.0.2 too, but it conflicts with the Xv driver, | |
738 so avoid using both. Usually X restart or reboot needs to get Xv usable | |
739 again :( | |
740 | |
741 If you have a dual-head G400, and a TV or second monitor connected to head2, | |
742 then you can watch movies on it: read DOCS/TVout-G400 for details (big hack) | |
743 | |
744 | |
745 <A NAME=2.2.1.7>2.2.1.7. SiS 6326 framebuffer (sis_vid) | |
746 | |
747 2. SiS 6326 YUV Framebuffer driver -> sis_vid kernel driver | |
748 Its interface should be compatible with the mga_vid, but the driver | |
749 was not updated after the mga_vid changes, so it's outdated now. | |
750 Volunteers needed to test it and bring the code up-to-date. | |
751 | |
752 | |
753 <A NAME=2.2.1.8>2.2.1.8. 3dfx YUV support | |
754 | |
755 3. 3dfx (which ones?) YUV+scaler support, using /dev/3dfx (tdfx.o driver?) | |
756 The /dev/3dfx kernel driver exists only for 2.2.x kernels, for use with | |
757 Glide 2.x Linux ports. It's not tested with MPlayer, and so no more | |
758 supported. Volunteers needed to test it and bring the code up-to-date. | |
759 | |
760 | |
761 <A NAME=2.2.1.9>2.2.1.9. OpenGL output | |
762 | |
763 The old Utah-GLX drivers (for X 3.3.6) have it, with all cards. | |
764 See http://utah-glx.sourceforge.net for details about how to install it. | |
765 | |
766 DRI >= 4.0.3 supports it only with Matrox cards, and Radeon. | |
767 See dri.sourceforge.net for download, and installation instructions. | |
768 | |
769 | |
770 <A NAME=2.2.2>2.2.2. Audio output devices | |
771 | |
772 - OSS (ioctl) driver | |
773 - SDL driver (supports up/downsampling, esd, arts etc) | |
774 - native ALSA 0.5 driver | |
775 - native ALSA 0.9 driver (buggy, use OSS emulation!) | |
776 - native ESD driver (under development?) | |
777 - SUN audio driver (/dev/audio) for BSD and Solaris8 users | |
778 | |
779 | |
780 <A NAME=2.3>2.3. Subtitles and OSD (On-Screen Display) | |
781 | |
782 Yes, mplayer also supports many kinds of subtitles. Currently (2001/06/01) | |
783 7 kinds of subtitle can be used by the subreader code. To see what are | |
784 these subtitle formats, see subreader.c, line ~20. | |
785 | |
786 Subtitles are displayed with a technique called 'OSD', On Screen Display. | |
787 OSD is used to display current time, volume bar, seek bar etc. | |
788 | |
789 | |
790 INSTALLING OSD and SUB | |
791 ------- | |
792 | |
793 NOTE: OSD and SUBTITLES are NOT enabled by default! You have to download | |
794 fonts from mplayer's download page mplayerhq.hu/homepage/dload.html | |
795 | |
796 Standard (Central-European, Latin1) font package: | |
797 http://thot.banki.hu/mp-ftp/releases/mp_font3.zip | |
798 (it obsoletes mp_font1.zip and mp_font2.zip) | |
799 | |
800 Cyrillic fonts: | |
801 http://thot.banki.hu/mp-ftp/releases/bgfont.zip | |
802 | |
803 And visit this site for korean subtitle support: | |
804 http://realtime.ssu.ac.kr/~lethean/mplayer | |
805 | |
806 After that, UNZIP the files to ~/.mplayer/font/ | |
807 Now you have to see a clock at the upper left corner of the movie | |
808 (switch it off with 'o') | |
809 | |
810 OSD has 3 states: (switch with 'o') | |
811 - clock + volume bar + seek bar + sub (default) | |
812 - volume bar + seek bar + sub | |
813 - only sub | |
814 | |
815 | |
816 <A NAME=3>3. Usage | |
817 | |
818 file: mplayer [options] [path/]filename | |
819 VCD: mplayer [options] -vcd trackno /dev/cdrom | |
820 DVD: mplayer [options] -dvdauth /dev/dvd filename.VOB | |
821 net: mplayer [options] http://site.com/file.[mpg|avi] | |
822 | |
823 mplayer -vo x11 /mnt/Films/Contact/contact2.mpg | |
824 mplayer -vcd 2 /dev/cdrom | |
825 mplayer -afm 3 /mnt/DVDtrailers/alien4.vob | |
826 mplayer -dvd /dev/dvd /mnt/dvd/matrix.vob | |
827 mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi | |
828 | |
829 | |
830 <A NAME=3.1>3.1. Control from keyboard | |
831 | |
832 <- or -> seek backward/forward 10 seconds | |
833 up or down seek backward/forward 1 minute | |
834 p or SPACE pause movie (press any key to continue) | |
835 q or ^C stop playing and quit program | |
836 o toggle OSD : none / seek / seek+timer | |
837 / and * decrease/increase volume | |
838 m toggle using master/pcm channel for volume setting | |
839 f toggle fullscreen (only with -vo sdl) | |
840 | |
841 | |
842 <A NAME=3.2>3.2. Control from LIRC | |
843 | |
844 Linux Infrared Remote Control - use an easy to build home-brewn IR-receiver, | |
845 an (almost) arbitrary remote control and control your linux box with it! | |
846 More about it at www.lirc.org. | |
847 | |
848 If you have installed the lirc-package, you can compile MPlayer with LIRC | |
849 support using ./configure --enable-lirc | |
850 | |
851 If everything went fine, MPlayer will print a message like | |
852 LIRC init was successful. | |
853 on startup. If an error occurs it will tell you. If it doens't tell you | |
854 anything about LIRC there's no support compiled in. That's it :-) | |
855 | |
856 The application name for MPlayer is - oh wonder - mplayer_lirc. | |
857 It understands the following commands: | |
858 | |
859 PAUSE - pause playing. Any other keystroke will continue replay. | |
860 QUIT - exit mplayer | |
861 RWND - 10 secs back | |
862 FRWND - 60 secs back | |
863 FWD - skip 10 secs | |
864 FFWD - skip 60 secs | |
865 INCVOL - increase volume one percent | |
866 DECVOL - decrease volmue one percent | |
867 MASTER - use master mixer channel | |
868 PCM - use pcm mixer channel | |
869 | |
870 Don't forget to enable the repeat flag for RWND/FWD in .lircrc. Here's an | |
871 excerpt from my .lircrc: | |
872 | |
873 begin | |
874 remote = CU-SX070 | |
875 prog = mplayer_lirc | |
876 button = Tape_Play | |
877 repeat = 1 | |
878 config = FFWD | |
879 end | |
880 | |
881 begin | |
882 remote = CU-SX070 | |
883 prog = mplayer_lirc | |
884 button = Tape_Stop | |
885 config = QUIT | |
886 end | |
887 | |
888 If you don't like the standard location for the lirc-config file (~/.lircrc) | |
889 use the -lircconf <filename> switch to specify another file. | |
890 | |
891 | |
892 <A NAME=3.3>3.3. Streaming from network or pipes | |
893 | |
894 wget ftp://micorsops.com/something.avi -O - | mplayer - | |
895 | |
896 | |
897 <A NAME=4>4. TV-out support | |
898 | |
899 | |
900 <A NAME=4.1>4.1. Matrox cards | |
901 | |
902 > What I'd love to see in mplayer is the the same feature that I see in my | |
903 > windows box. When I start a movie in windows (in a window or in full screen) | |
904 > the movie is also redirected to the tv-out and I can also see it full screen | |
905 > on my tv. I love this feature and was wondering how hard it would be to add | |
906 > such a feature to mplayer. | |
907 | |
908 It's a driver limitation. BES (Back-End Scaler, it's the overlay generator | |
909 and YUV scaling engine of G200/G400/G450 cards) works only with CRTC1. | |
910 Normally, CRTC1 (textmode, every bpp gfx and BES) is routed to HEAD1, | |
911 and CRTC2 (only 16/32bpp gfx) is routed to HEAD2 (TV-out). | |
912 | |
913 Under linux, you have two choices to get TV-out working: | |
914 | |
915 1. Using X 4.0.x + the HAL driver from matrox, so you'll get dual-head | |
916 support, and you'll be able to redirect second output to the TV. | |
917 Unfortunately it has Macrovision encryption enabled, so it will | |
918 only work on directly-connected TV, no through VCR. | |
919 Other problem is that Xv doesn't work on the second head. | |
920 (I don't know how Windows solve it, maybe it swaps the CRTCs between | |
921 the heads, or just uses YUV framebuffer of second DAC with some trick) | |
922 | |
923 2. Using matroxfb with dual-head support enabled (2.4.x kernels). | |
924 You'll be able to get a framebuffer console (using CRTC2, so it's | |
925 slow), and TV-out (using CRTC1, with BES support). | |
926 You have to forget X while using this kind of TV-out! :( | |
927 | |
928 - Compile all the matrox-related things to modules in the kernel. | |
929 (you MUST compile them to modules, at least I couldn't get them | |
930 working built-in yet) | |
931 [reboot to new kernel & install modules, but don't load them yet!] | |
932 | |
933 - Run the 'modules' script from the TV-out directory of mplayer. | |
934 It will switch your console to framebuffer. | |
935 Change to tty1 (ALT+F1)! | |
936 Now run the script 'independent', it will set up your tty's: | |
937 tty 1,2: fb console, CRTC2, head 1 (monitor) | |
938 tty 3,4,5...: framebuffer+BES, CRTC1, head 2 (TV-out) | |
939 You should run the scripts TV-* and Mon-* to set up resolutions: | |
940 change to tty1 (ALT+F1), and run Mon-* (one of them) | |
941 change to tty3 (ALT+F3) and then back to tty1 (ALT+F1) | |
942 (this change will select tty3 on /dev/fb1 - tricky) | |
943 run TV-* (one of them) | |
944 (now you'll get a console on your PAL TV - don't know about NTSC) | |
945 | |
946 Now if you start mplayer (on tty1), the picture will show up on | |
947 the tty3, so you'll see it on your TV or second monitor. | |
948 | |
949 Yes, it is a bit 'hack' now. But I'm waiting for the marvel | |
950 project to be finished, it will provide real TV-out drivers, I hope. | |
951 | |
952 My current problem is that BES is working only with CRTC1. So picture | |
953 will always shown up on head routed to CRTC1 (normaly the monitor), | |
954 so i have to swap CRTC's, but this way your console will framebuffer | |
955 (CRTC2 can't do text-mode) and a bit slow (no acceleration). :( | |
956 | |
957 | |
958 > anyway i also just get monochrome output on the tv ... | |
959 Maybe you have NTSC TV? Or just didn't run one of TV-* scripts. | |
960 | |
961 | |
962 <A NAME=5>5. Tuning | |
963 | |
964 | |
965 <A NAME=5.1>5.1. CD-ROM drives | |
966 | |
967 From Linux documentation: | |
968 | |
969 Some CDROM drives are capable of changing their head-speed. There are several | |
970 reasons for changing the speed of a CDROM drive. Badly pressed CDROMs may | |
971 benefit from less-than-maximum head rate. Modern CDROM drives can obtain very | |
972 high head rates (up to 24-times is common). It has been reported that these | |
973 drives can make reading errors at these high speeds, reducing the speed can | |
974 prevent data loss in these circumstances. Finally, some of these drives can | |
975 make an annoyingly loud noise, which a lower speed may reduce. | |
976 | |
977 The recommended way to do it is with a program called 'setcd' . It's kinda | |
978 old, but won't be too hard to find on the Net. | |
979 Use it with : | |
980 setcd -x <speed> <cdrom device> | |
981 | |
982 Also you can try : | |
983 echo current_speed:4 >/proc/ide/<cdrom device>/settings | |
984 but you'll need root privileges. (It didn't work for me - Gabucino) | |
985 | |
986 I use following command too : | |
987 echo file_readahead:2000000 >/proc/ide/<cdrom device>/settings | |
988 for 2MB prefetched reading from the file (it's useful for scratched CDROMs). | |
989 | |
990 It's recommended that you tuneup your CDROM drive also with hdparm : | |
991 hdparm -d1 -a8 -u1 <cdrom device> | |
992 to enable using DMA access, readahead, and IRQ unmasking. | |
993 (if you don't understand these, *read the hdparm manpage*) | |
994 | |
995 Please refer to "/proc/ide/<cdrom device>/settings" for fine-tuning your | |
996 CDROM. | |
997 | |
998 | |
999 <A NAME=5.2>5.2. DVD drives | |
1000 | |
1001 IMPORTANT NOTE: please _DO_NOT_ require further features for DVD playback. This | |
1002 is extremly experimental hack. Maybe it won't work for you. If you're | |
1003 capable of helping us do it now! First we would like to fix existing problems. | |
1004 Then we can start implementing advanced DVD playback functions of course. | |
1005 | |
1006 This means current DVD functions are mainly for developers and not for users! | |
1007 | |
1008 First, you must compile and install libcss on your system. | |
1009 Second, you have to recompile MPlayer with libcss support. There is | |
1010 autodetection of libcss, but if it fails, see below : | |
1011 | |
1012 Call ./configure script of MPlayer with these options: | |
1013 | |
1014 ./configure --enable-css --with-csslibdir=/usr/local/lib --with-cssincdir=/usr/local/include | |
1015 | |
1016 (of course you can append your favourite options as well) | |
1017 | |
1018 --with-csslibdir=/usr/local/lib | |
1019 Directory contains libcss.so shared library. This directory should | |
1020 be in your /etc/ld.so.conf as well. | |
1021 | |
1022 --with-cssincdir=/usr/local/include | |
1023 Directory contains header file 'css.h' of libcss. | |
1024 | |
1025 mplayer -dvdauth /dev/dvd /mnt/cdrom/video_ts/vts_01_1.vob | |
1026 | |
1027 where, | |
1028 | |
1029 '-dvdauth /dev/dvd' tells MPlayer the device name of your DVD drive. | |
1030 it's used in disc authentication process | |
1031 | |
1032 the filename is simply a VOB file path on the disc | |
1033 | |
1034 Note that according to my experiences, disc authentication requires root | |
1035 privileges so you must run MPlayer as root! (see section 'Problems'). | |
1036 | |
1037 NOTE about the sound: | |
1038 It seems that MPlayer sometimes fails to find the first audio stream. | |
1039 You can specify it with the '-aid 128' option, for example. | |
1040 Please experience with 128,129 and similar values. See section | |
1041 'Problems'. | |
1042 | |
1043 On my AMD K6-2 with using hw scaling and colorspace conversion | |
1044 capability of my G400 it's possible to watch DVD with about 70% | |
1045 CPU usage with '-nosound'. Unfortunately with sound my machine is | |
1046 not enough :( Maybe it can be improved somewhat ... | |
1047 Guess, it's not so bad ... According to reports from my friends | |
1048 xine uses 80-90% CPU to play DVD on much more powerful machines | |
1049 like 1GHz Athlon systems (as far as I know, it's said that about | |
1050 300MHz celeron is the minimum to watch DVDs ... using windows | |
1051 DVD viewers). | |
1052 | |
1053 Hint: I commented out downmix functions from libac3 (of course in this way I | |
1054 can't get sound) and audio decoding CPU usage became 11% instead of 24 on | |
1055 my machine. This clearly indicates that we should optimize downmix functions | |
1056 (KNI code is no use for my k6-2). | |
1057 | |
1058 HOT NEWZ: | |
1059 We have got 3Dnow optimized libac3. Wow ;-) | |
1060 | |
1061 | |
1062 Problems (TODO) | |
1063 | |
1064 * disc authentication (the FIBMAP ioctl) requires root privilegies. | |
1065 this is strange since OMS can do it as user too. | |
1066 * sound. I'm using my only DVD disc (The Matrix) to test MPlayer. | |
1067 some VOB file have English sound, some have Spanish and some have | |
1068 no sound at all. | |
1069 IT SEEMS that if I give '-aid 128' everything works with English sound ... | |
1070 * strange effects but only with SOME vob files (it looks like some interlacing | |
1071 effect, eg: every 2nd line on the screen is from the last frame). | |
1072 | |
1073 | |
1074 Feature TODO | |
1075 | |
1076 * chapter scanner | |
1077 * audio stream scanner and allow to select one on runtime as well | |
1078 (in stage#1 it would be enough to select one on the startup, see | |
1079 'Problems' above) | |
1080 * DVD menu | |
1081 I found (at least on disc 'The Matrix') the menu VOB but I don't | |
1082 know how can it be used. | |
1083 (after some eyeballing on the source of OMS, it seems we would have to | |
1084 parse *.ifo files) | |
1085 * subtitle support | |
1086 * OSD/GUI (?) support for select chapter, subtitle and audio stream | |
1087 * getting some documentation on DVD format, eg: which is the 'root' VOB | |
1088 file on the disc in video_ts directory, which is the menu and so on. | |
1089 * improve performance (see 'Performance' above) | |
1090 | |
1091 | |
1092 No sound problem (from Matrix DVD, the menu VOB) | |
1093 | |
1094 End of packet while searching for PCM header | |
1095 | |
1096 DEMUXER: Too many (2048 in 4131540 bytes) video packets in the buffer! | |
1097 (maybe you play a non-interleaved stream/file or video codec failed) | |
1098 MPEG: No Audio stream found... ->nosound | |
1099 | |
1100 However this does not occur if you specify '-aid 128'. | |
1101 | |
1102 | |
1103 <A NAME=5.3>5.3. MTRR | |
1104 | |
1105 Setting up MTRR for X11 3.3.x, SVGAlib or mga_vid: | |
1106 ================================================== | |
1107 | |
1108 1. find the base address | |
1109 ~~~~~~~~~~~~~~~~~~~~~~~~ | |
1110 You have 3 ways to find it: | |
1111 | |
1112 - from X11 startup messages, for example: | |
1113 (--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000 | |
1114 (--) SVGA: Linear framebuffer at 0xD8000000 | |
1115 | |
1116 - from /proc/pci (use lspci -v command): | |
1117 01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525 | |
1118 Memory at d8000000 (32-bit, prefetchable) | |
1119 | |
1120 - from mga_vid kernel driver messages (use dmesg): | |
1121 mga_mem_base = d8000000 | |
1122 | |
1123 2. find memory size | |
1124 ~~~~~~~~~~~~~~~~~~~ | |
1125 This is very easy, just convert video ram size to hexadecimal, or | |
1126 use this table: | |
1127 1 MB 0x100000 | |
1128 2 MB 0x200000 | |
1129 4 MB 0x400000 | |
1130 8 MB 0x800000 | |
1131 16 MB 0x1000000 | |
1132 32 MB 0x2000000 | |
1133 | |
1134 3. setting up mtrr | |
1135 ~~~~~~~~~~~~~~~~~~ | |
1136 You know base address and memory size, let's setup mtrr registers! | |
1137 | |
1138 For example, for the matrox card above (base=0xd8000000) with 32MB | |
1139 ram (size=0x2000000) just execute: | |
1140 echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr | |
1141 | |
1142 - Older K6-2's [around 266Mhz, stepping 0] doesn't support MTRR, but | |
1143 stepping 12's do ('cat /proc/cpuinfo' to check it). | |
1144 | |
1145 | |
1146 <A NAME=6>6. FAQ section | |
1147 | |
1148 Yes, this is the MPlayer FAQ. | |
1149 ============================= | |
1150 | |
1151 About: | |
1152 ~~~~~~ | |
1153 Many people asked same questions so I decided to write this stuff. | |
1154 I know that people will never read this but at least i try to | |
1155 pull down number of these mails. | |
1156 And from now i can say that "read the fuckin' FAQ!" :-) | |
1157 | |
1158 Let's ask! | |
1159 ~~~~~~~~~~ | |
1160 Q: What about DVD playback? | |
1161 A: Read files 'DVD' and 'DVD-FAQ'. | |
1162 | |
1163 Q: SDL output doesn't work or compile. Problem is .... | |
1164 A: It is tested with newest SDL (probably runs on 1.1.7+). | |
1165 It does NOT work with 1.1.6, 1.1.5 1.1.4 1.1.3 1.0.4 etc, don't ask. | |
1166 | |
1167 Q: I am still having trouble compiling with SDL support. gcc says something | |
1168 about "undefined reference to `SDL_EnableKeyRepeat'" What's now? | |
1169 A: Where did you install the SDL library? If you installed in /usr/local | |
1170 (the default) then edit the top level config.mak and add | |
1171 "-L/usr/local/lib " after "X_LIBS=" Now type make. You're done! | |
1172 | |
1173 Q: It doesn't compile, and it misses uint64_t inttypes.h and similar things... | |
1174 A: copy DOCS/inttypes.h to MPlayer directory (cp DOCS/inttypes.h .) | |
1175 try again... if fail, contact us | |
1176 | |
1177 Q: I have Pentium III but ./configure doesn't detect SSE | |
1178 A: Only kernel versions 2.4.x supports SSE (or try latest 2.2.19 or newer, but | |
1179 be prepared for problems) | |
1180 | |
1181 Q: -xy option doesn't work with x11 driver (-vo x11) | |
1182 A: x11 driver doesn't support scaling, but XF86VidMode support is now | |
1183 used: you must specify the -vm and the -fs switch, and you're done. | |
1184 Make sure you have the right Modelines in your XF86Config file, and | |
1185 try if the DGA driver (and SDL's DGA driver, see VIDEOCARDS) works for you. | |
1186 It's much faster. If SDL's DGA works too, use that, it'll be EVEN | |
1187 faster! | |
1188 | |
1189 Q: audio goes out of sync playing .avi file | |
1190 A: try with -bps or -nobps option | |
1191 if still bad, send me (upload to ftp) that file, I'll check. | |
1192 | |
1193 Q: what is the meaning of numbers in the status line? | |
1194 A: see: | |
1195 A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57 41% 0% 2.6% 0 | |
1196 - A: audio position in seconds | |
1197 - V: video position in seconds | |
1198 - A-V: audio-video difference in seconds (delay) | |
1199 - ct: total A-V sync correction done | |
1200 - frames played (counting from last seek) | |
1201 - video codec cpu usage in percent (for mpeg it includes video_out too!) | |
1202 - video_out cpu usage for avi, 0 for mpg (see above) | |
1203 - audio codec cpu usage in percent | |
1204 - frames needed to drop to maintain A-V sync | |
1205 Most of them are for debug purposes, and will be removed soon. | |
1206 | |
1207 Q: Why is video_out cpu usage zero (0%) for mpeg files? | |
1208 A: It's not zero, but it's built in into codec, so can't be measured separated. | |
1209 You should try to play the file using -vo null and then -vo ... and check | |
1210 the difference to see video_out speed... | |
1211 | |
1212 Q: OpenGL (-vo gl) output doesn't work (hangup/black window/X11 errors/...) | |
1213 A: your opengl driver doesn't support dynamic texture changes (glTexSubImage) | |
1214 it's known not to work with nVidia's binary shit. | |
1215 it's known to work with Utah-GLX/DRI and Matrox G400 card. Also with | |
1216 DRI and Radeon card. It won't work with DRI others than these. | |
1217 it will not work with 3DFX cards because the 256x256 texture size limit. | |
1218 | |
1219 Q: I have G200/G400, how to compile/use mga_vid driver? | |
1220 A: read VIDEOCARDS, INSTALL, README | |
1221 | |
1222 Q: What's XMMP? (is it XMMS or XMPS but mispelled?) | |
1223 A: It's a new project, see http://frozenproductions.com for details | |
1224 | |
1225 Q: There are error messages about file not found /usr/lib/win32/.... | |
1226 A: Download & install w32codec.zip from *our* FTP | |
1227 (avifile's codec package has different DLL set) | |
1228 | |
1229 Q: ...... works with avifile/aviplay while doesn't with MPlayer | |
1230 A: MPlayer != avifile | |
1231 The only common thing between these players is the Win32 DLL loader. | |
1232 The codecs (dll) sets, syncronization, demultiplexing etc is totaly | |
1233 different and shouldn't be compared. | |
1234 If something works with aviplay it doesn't mean that MPlayer should do | |
1235 it and vice versa. | |
1236 | |
1237 Q: Indeo 3.x/4.x movies are viewed upside-down!!!? | |
1238 A: It's a known bug (really it's a bug/limitation of the DLL codec) | |
1239 Try if your vo driver supports the -flip switch. | |
1240 | |
1241 Q: Indeo 3.x,4.x video doesn't work at 32bpp resolutions (16,24 bpp are ok) | |
1242 A: It's a known bug (really it's a bug/limitation of the DLL codec) | |
1243 | |
1244 Q: I've got 'MPlayer interrupted by signal 11' in module audio_setup or | |
1245 decode_audio. | |
1246 A: This is highly unlikely, since the mp3lib rewrite. Contact us, it may be | |
1247 a bug. Possibly it's a damaged file, try with -afm 4 . | |
1248 | |
1249 Q: Are there rpm/deb/... packages of MPlayer? | |
1250 A: You can make a .deb package for yourself, check DOCS/DEBIAN . | |
1251 It's _STRONGLY_ discouraged to use precompiled packages | |
1252 of MPlayer, since it (currently) _highly_ depends on compile-time | |
1253 options and optimizations! | |
1254 Precompiled packages are COMPLETELY unsupported by the MPlayer team! | |
1255 | |
1256 Q: Are there any mailing lists on MPlayer? | |
1257 A: Yes! See README on how to subscribe them! | |
1258 | |
1259 Q: I've found a nasty bug when I tried to play my favourite video!! | |
1260 Who should I inform? | |
1261 A: See DOCS/BUGREPORTS | |
1262 | |
1263 Q: During 'make', MPlayer complains about X11 libraries. I don't understand, | |
1264 I DO have X installed!? | |
1265 A: ...but you don't have the X development package installed. Or not | |
1266 correctly. It's called XFree86-devel* under RedHat, and xlib6g-dev* under | |
1267 Debian. Also check if the /usr/X11 symlink exists (this can be a problem on | |
1268 Mandrake systems). It can be created with the | |
1269 $ ln -sf /usr/X11R6 /usr/X11 | |
1270 command. Also check the /usr/include/X11 link : | |
1271 $ ln -sf /usr/X11R6/include/X11 /usr/include/X11 | |
1272 Your distribution may differ from the Linux Filesystem Standard. | |
1273 | |
1274 Q: I have problems playing files with ... codec. Can I use'em? | |
1275 A: Check http://mplayer.sourceforge.net/DOCS/codecs.html, | |
1276 if it doesn't contain your codec, read | |
1277 http://mplayer.sourceforge.net/DOCS/CODECS, and contact us. | |
1278 | |
1279 Q: What about DGA driver? I can't find it!!! | |
1280 A: ./configure autodetects your DGA driver. If -vo help doesn't show | |
1281 DGA, then there's a problem with your X installation. | |
1282 Try ./configure --enable-dga (and read VIDEOCARDS) | |
1283 Alternatively, try SDL's DGA driver with '-vo sdl:dga' options. | |
1284 | |
1285 Q: Ok, -vo help shows DGA driver, but it is babbling about permissions! | |
1286 Help me! | |
1287 A: It works only if running as root! It's a DGA limitation. | |
1288 You should become to root (su -), and try again. | |
1289 | |
1290 Another solution is making mplayer SUID root, but its NOT RECOMMENDED! | |
1291 'chown root /usr/local/bin/mplayer' | |
1292 'chmod 750 /usr/local/bin/mplayer' | |
1293 'chmod +s /usr/local/bin/mplayer' | |
1294 !!!! BUT STAY TUNED !!!! | |
1295 This is a *BIG* security risk! *NEVER* do this on a server or on a computer | |
1296 can be accessed by more people than only you because they can gain root | |
1297 privilegies through suid root mplayer!!! | |
1298 !!!! SO YOU HAVE BEEN WARNED ... !!!! | |
1299 | |
1300 Q: The fsdga driver doesn't work with my xyz.avi file. Why is that? | |
1301 A: Because it only works with MPEG. (yet) | |
1302 | |
1303 Q: When using Xvideo, my Voodoo 3/Banshee says: | |
1304 X Error of failed request: BadAccess (attempt to access private resource | |
1305 denied) | |
1306 Major opcode of failed request: 147 (MIT-SHM) | |
1307 Minor opcode of failed request: 1 (X_ShmAttach) | |
1308 Serial number of failed request: 26 | |
1309 Current serial number in output stream:27 | |
1310 A: Your driver is old, update it. Either download (at least) DRI version 0.6 | |
1311 from http://dri.sourceforge.net , or use the DRI cvs. | |
1312 | |
1313 Q: When using Xvideo, I can't play DivX avis with my Voodoo 3/Banshee ! | |
1314 It says: | |
1315 ... | |
1316 Xvideo image format: 0x32315659 (YV12) planar | |
1317 Xvideo image format: 0x30323449 (I420) planar | |
1318 ... | |
1319 A1: See the previous answer. | |
1320 A2: Since 0.18pre4 we include libavcodec from the ffmpeg package. It contains | |
1321 a C language DivX and OpenDivX decoder. The DivX decoder uses YV12 format | |
1322 for output, thus it should work for you. Compile in libavcodec support. | |
1323 | |
1324 Q: Umm, what is "IdegCounter" ? | |
1325 A: A mixture of a hungarian and an english word. In english, "Ideg" means | |
1326 "nerve", and is pronounced as something like "ydaegh" . It was first used | |
1327 to measure the nervousness of A'rpi, after some (umm) "mystic" disappearance | |
1328 of CVS code ;) | |
1329 | |
1330 Q: I can't compile SVGAlib.. I'm using 2.3/2.4 kernel. | |
1331 A: You have to edit SVGAlib's Makefile.cfg and comment "BACKGROUND = y" out. | |
1332 | |
1333 Q: LIRC doesn't work, because ... | |
1334 A: Are you sure you use "mplayer_lirc" instead of "mplayer" ? | |
1335 | |
1336 Q: MPlayer exits with something error when using l3codeca.acm | |
1337 A: Check 'ldd /usr/local/bin/mplayer' output. If it contains | |
1338 libc.so.6 => /lib/libc.so.6 (0x4???????) | |
1339 where "?" is any number then it's ok, the error is not here. If it is: | |
1340 libc.so.6 => /lib/libc.so.6 (0x00??????) | |
1341 then there is problem with your kernel/libc. Maybe you are using some | |
1342 security patches (for example Solar Designer's OpenWall patch) which | |
1343 forces loading libraries to very low addresses. | |
1344 Because l3codeca.acm is a non-relocatable DLL, it must be loaded to | |
1345 0x00400000, we can't change this. You should use non-patched kernel, | |
1346 or use MPlayer's -afm 1 option to disable using l3codeca.acm. | |
1347 | |
1348 Q: My computer plays M$ DivX AVIs with resolutions ~ 640x300 and stereo mp3 | |
1349 sound too slow. When I use -nosound switch, everything is ok (but quiet). | |
1350 A: Those files probably have 48Khz audio, and your soundcard/driver can't play | |
1351 it correctly. Audio downsampling isn't implemented in MPlayer (yet). | |
1352 | |
1353 Q: MPlayer dies with "MPlayer interrupted by signal 4 in module: decode_video". | |
1354 A: Try running MPlayer on the machine you compiled on. Or recompile. Don't | |
1355 use MPlayer on different CPU than it was compiled on. | |
1356 | |
1357 Q: I have problems with <your window manager> and fullscreen xv/xmga/sdl/x11 | |
1358 modes.. | |
1359 A1: Use the -fsmode switch. See example.conf or manpage. | |
1360 | |
1361 Q: But it works with avifile ! | |
1362 A: So what? | |
1363 | |
1364 Q: Then avifile is better ! | |
1365 A: Then use avifile, it has nice GUI and nice C++ code :) | |
1366 | |
1367 Q: I got this playing mpeg files: Can't find codec for video format 0x10000001 ! | |
1368 A: You have old version of codecs.conf at ~/.mplayer/. Upgrade it from DOCS/ | |
1369 | |
1370 Q: After starting mplayer under KDE(1/2) I just get a black screen and nothing | |
1371 happens, after about one minute the video starts playing. | |
1372 A: The KDE arts sound daemon is blocking the sound device, either wait the time | |
1373 until video starts or you disable the arts-daemon in kontrollcenter. | |
1374 | |
1375 Q: Subtitles are very nice, the most beautiful I've ever seen, but they slow | |
1376 down the playing! I know it's unlikely... | |
1377 A: After running ./configure , edit config.h and replace #undef FAST_OSD with | |
1378 #define FAST_OSD . Then recompile. | |
1379 | |
1380 Q: The OSD is flickering! | |
1381 A: You use a vo driver with single buffering (x11,xv). With xv you can change | |
1382 the number of buffers in libvo/vo_xv.c : | |
1383 Increase #define NUM_BUFFERS 1 | |
1384 | |
1385 Q: What's the problem with gcc 2.96 ? | |
1386 A: gcc 2.96 is RedHat's UNOFFICIAL (it can be found only on RedHat sites, or | |
1387 RedHat distributions) and BUGGY gcc release. gcc 2.96 is TOTALLY | |
1388 unsupported by MPlayer, because it simply SKIPS MMX codes, it just does not | |
1389 compile it. Important: this is NOT an MPlayer-specific problem, numerous | |
1390 other projects (DRI, avifile, etc..) have problems with this shit too. | |
1391 ** DO NOT USE gcc 2.96 !!! ** | |
1392 | |
1393 Q: Is there a hint on how to watch QuickTime and RealMedia movies in mplayer? | |
1394 A: There's no way to do it. Therefore these formats deserve to die in flames. | |
1395 Theoretically you can reverse engineer Real codecs built for Linux (they | |
1396 are available as .so files), but in practice that's really difficult, even | |
1397 if you know how the compiler used by Real is making assembler code. | |
1398 As for QuickTime, it's possible to play some old movies and this | |
1399 capability will be added to mplayer soon, but newer clips are all Sorenson | |
1400 encoded, and that codec is built-in deep in the QT executable, there's | |
1401 no way to use it. | |
1402 | |
1403 Q: I have an nVidia TNT/TNT2 card, and I have a band with strange colours, | |
1404 right under the movie! Whose fault is this? | |
1405 A: It's the nVidia X driver's. These bugs are ONLY with the TNT/TNT2 cards, | |
1406 and we can't do anything about it, it's not our bug. | |
1407 | |
1408 Q: What exactly is this libavcodec? | |
1409 A: It's from Gerard Lantau's ffmpeg package (http://ffmpeg.sourceforge.net). | |
1410 It has C language DivX ;-) and OpenDivX codec. Some benchmarks | |
1411 showed that its DivX seems to be even faster than DirectShow codec without | |
1412 preprocessing, and only a few percent slower than ProjectMayo's OpenDivX | |
1413 decoder. It uses YV12 pixel format, so old Voodoo users can use it for YUV. | |
1414 Also, open the possibility to play DivX on virtually every computer that | |
1415 has a C compiler. Kinda great stuff, isn't it? | |
1416 | |
1417 | |
1418 <A NAME=7>7. Misc OS'es | |
1419 | |
1420 | |
1421 <A NAME=7.1>7.1. Debian packaging | |
1422 | |
1423 To build the package: | |
1424 Get the cvs version, or .tgz and uncompress it, | |
1425 cd into programs directory: | |
1426 eyck@incubus:~/src$ cd main | |
1427 eyck@incubus:~/src/main$ fakeroot debian/rules binary | |
1428 (... mplayer detects hardware/software, builds itself and.. ) | |
1429 .. | |
1430 dpkg-deb: building package `mplayer' in `../mplayer_0.18-1_i386.deb'. | |
1431 | |
1432 And now just dpkg -i ../mplayer_0.18-1_i386.deb as root. | |
1433 Here's how it looks like: | |
1434 | |
1435 eyck@incubus:/src/main$ sudo dpkg -i ../mplayer_0.18-1_i386.deb | |
1436 Password: | |
1437 (Reading database ... 26946 files and directories currently installed.) | |
1438 Preparing to replace mplayer 0.17a-1 (using ../mplayer_0.18-1_i386.deb) ... | |
1439 Unpacking replacement mplayer ... | |
1440 Setting up mplayer (0.18-1) ... | |
1441 | |
1442 | |
1443 <A NAME=7.2>7.2. FreeBSD | |
1444 | |
1445 Notes for FreeBSD users | |
1446 ======================= | |
1447 | |
1448 1. To build the package you will need GNU make (gmake, /usr/ports/devel/gmake), | |
1449 native BSD make will not work. | |
1450 | |
1451 2. To run mplayer you will need to re-compile the kernel with | |
1452 "options USER_LDT" (unless you are running -CURRENT, where this is default). | |
1453 | |
1454 3. If mplayer complains about "CD-ROM Device '/dev/cdrom' not found!" make a | |
1455 symbolic link : ln -s /dev/<your_cdrom_device> /dev/cdrom | |
1456 | |
1457 4. There's no DVD support for FreeBSD yet. | |
1458 Feel free to add them :-) | |
1459 | |
1460 Enjoy (as do I)! | |
1461 | |
1462 -- | |
1463 Vladimir Kushnir | |
1464 | |
1465 | |
1466 <A NAME=7.3>7.3. Solaris 8 | |
1467 | |
1468 Notes for Solaris users | |
1469 ======================= | |
1470 | |
1471 1. AVI file playback works best on Solaris x86, because you have the | |
1472 option to use the win32 codecs on the x86 platform. On Solaris SPARC, | |
1473 you'll find quite a few AVI files with non working video and/or | |
1474 audio playback, because the video/audio codecs using the win32 DLLs | |
1475 are not available. | |
1476 | |
1477 | |
1478 2. To build the package you will need GNU make (gmake, /opt/sfw/gmake), | |
1479 native Solaris make will not work. | |
1480 | |
1481 Typical error you get when building with solaris' make instead of GNU | |
1482 make: | |
1483 | |
1484 % /usr/ccs/bin/make | |
1485 make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen | |
1486 | |
1487 | |
1488 3. On Solaris SPARC, you need the GNU C/C++ Compiler; it does not matter | |
1489 if GNU C/C++ compiler is configured with or without the GNU assembler. | |
1490 | |
1491 On Solaris x86, you need the GNU assembler and the GNU C/C++ | |
1492 compiler, configured to use the GNU assembler! The mplayer code on | |
1493 the x86 platform makes heavy use of MMX, SSE and 3DNOW! | |
1494 instructions that cannot be compiled using Sun's assembler | |
1495 /usr/ccs/bin/as. | |
1496 | |
1497 | |
1498 The configure script tries to find out, which assembler program is | |
1499 used by your "gcc" command (in case the autodetection fails, use | |
1500 the "--as=/whereever/you/have/installed/gnu-as" option to tell the | |
1501 configure script where it can find GNU "as" on your system). | |
1502 | |
1503 Error message from configure on a Solaris x86 system using GCC | |
1504 without GNU assembler: | |
1505 | |
1506 % configure | |
1507 ... | |
1508 Checking assembler (/usr/ccs/bin/as) ... , failed | |
1509 Please upgrade(downgrade) binutils to 2.10.1... | |
1510 | |
1511 (Solution: Install and use a gcc configured with "--with-as=gas") | |
1512 | |
1513 | |
1514 Typical error you get when building with a GNU C compiler that does | |
1515 not use GNU as: | |
1516 | |
1517 % gmake | |
1518 ... | |
1519 gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math | |
1520 -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c | |
1521 Assembler: mplayer.c | |
1522 "<stdin>", line 3567 : Illegal mnemonic | |
1523 "<stdin>", line 3567 : Syntax error | |
1524 ... more "Illegal mnemonic" and "Syntax error" errors ... | |
1525 | |
1526 | |
1527 4. For DVD support you must have the patched libcss installed. Patch: | |
1528 http://www.tools.de/solaris/mplayer/ | |
1529 | |
1530 | |
1531 5. Due to two bugs in solaris 8 x86, you cannot reliably play DVDs using a | |
1532 capacity >4GB: | |
1533 | |
1534 - The sd(7D) driver on solaris 8 x86 driver has bug when accessing a | |
1535 disk block >4GB on a device using a logical blocksize != DEV_BSIZE | |
1536 (i.e. CDROM and DVD media). Due to a 32bit int overflow, a disk | |
1537 address modulo 4GB is accessed. | |
1538 (http://groups.yahoo.com/group/solarisonintel/message/22516) | |
1539 | |
1540 - The similar bug is present in the hsfs(7FS) filesystem code (aka | |
1541 ISO9660), hsfs currently does not support partitions/disks >4GB, | |
1542 all data is accessed modulo 4GB | |
1543 (http://groups.yahoo.com/group/solarisonintel/message/22592) | |
1544 | |
1545 -- | |
1546 Jürgen Keil | |
1547 | |
1548 | |
1549 <A NAME=A>Appendix A - Authors | |
1550 | |
1551 NOTE: Do *NOT* send bugreports, help & feature requests directly to the authors! | |
1552 ===== Read DOCS/BUGREPORTS and subscribe to mplayer-users mailing lists. | |
1553 | |
1554 ========================== The MPlayer project: =============================== | |
1555 | |
1556 Árpád Gereöffy (A'rpi/ESP-team): <arpi@thot.banki.hu> | |
1557 - player code (mpeg stream demultiplexer and avi/asf parser, A-V sync, seek...) | |
1558 - mp3lib, based on mpglib sources [MP3 audio decoder] | |
1559 - getch2 [keyboard handler] | |
1560 - some changes in libmpeg2 code (progressive frames, bitrate & fps support) | |
1561 - libvo improvements: adding OpenGL support, bugfix in mga driver... | |
1562 - triple buffering & YUY2 support (for DivX/MPEG4) into mga_vid driver | |
1563 - scripts in the TVout directory (TVout on Matrox G400DH, read DOCS/TVout-G400) | |
1564 - hacking DivX/Mpeg4 VfW codecs to get YUV output | |
1565 - opendivx decoder speed optimizations (see opendivx/ChangeLog) | |
1566 - OSD & SUB display code | |
1567 | |
1568 Zoltán Ponekker (Pontscho/Fresh!): <pontscho@makacs.poliod.hu> | |
1569 - configure script and Makefiles for easy compile | |
1570 - GUI system (near complete!?) | |
1571 - 3DNow! support into mp3lib | |
1572 - 3DNow! support into fastmemcpy.h | |
1573 - various X11 driver changes (keyboard handling, fullscreen, bpp detect, etc) | |
1574 - libvo: adding xmga driver, and fullscreen support to xv | |
1575 - audio mixer (volume) support | |
1576 | |
1577 Gábor Lénárt (LGB): <lgb@lgb.hu> | |
1578 - ./configure script improvements | |
1579 - Makefile improvements | |
1580 - prelimenary DVD support | |
1581 - another GUI code (is that so..?) | |
1582 - various X11 cleanups and fixes | |
1583 | |
1584 Gábor Bérczi (Gabucino): <gabucino@k2.jozsef.kando.hu> | |
1585 - documentation maintainer | |
1586 - hungarian translation of documentation | |
1587 - second webpage design&gfx | |
1588 - webpage maintainer | |
1589 - testing, codecs quality & speed comparsions | |
1590 - IRC channel #MPlayer operator | |
1591 - experimental MINIX port | |
1592 | |
1593 Szabolcs Berecz (Szabi): <szabi@inf.elte.hu> | |
1594 - codecs.conf file parser | |
1595 - config file and command line parser | |
1596 - mga_vid fixes, module option etc. | |
1597 - fbdev support in libvo | |
1598 - type #7 subtitle support | |
1599 | |
1600 László Megyer (Lez, Laaz): <lez@sch.bme.hu> | |
1601 - SUB reader | |
1602 - screensaver+DPMS disable for libvo | |
1603 | |
1604 Gyula László (Chass, Tégla): <chass-@freemail.hu> | |
1605 - first fonts (mp_font1.zip) | |
1606 - third (current) homepage design&gfx | |
1607 | |
1608 Zoltán Márk Vicián (Se7en): <se7en@sch.bme.hu> | |
1609 - SVGAlib support in libvo | |
1610 - native AAlib driver (coming soon) | |
1611 | |
1612 Alex Beregszaszi (Al3x): <alex@naxine.org> | |
1613 - ALSA output driver in libao2 | |
1614 - vo_ggi output driver in libvo (www.ggi-project.org) | |
1615 | |
1616 Andreas Ackermann (Acki): <asackerm@stud.informatik.uni-erlangen.de> | |
1617 - LIRC support (see DOCS/LIRC) | |
1618 - DGA support in libvo | |
1619 | |
1620 Felix Bünemann (Atmos): <atmosfear@users.sourceforge.net> | |
1621 - SDL driver maintainer | |
1622 - Additional YUV formats fixes | |
1623 - New font (mp_font2.zip) | |
1624 - PNG file output support in libvo | |
1625 - flipping support (for Indeo 3/4, etc) | |
1626 - SDL audio driver in libao2 | |
1627 - RAW PCM/WAVE file writer for libao2 | |
1628 | |
1629 TeLeNiEkO: <telenieko@telenieko.com> | |
1630 - spanish translation of documentation | |
1631 | |
1632 Michael Graffam: <mgraffam@idsi.net> | |
1633 - XF86VidMode support to vo_x11 and vo_dga | |
1634 - Video mode switching code to vo_dga | |
1635 | |
1636 Jens Hoffmann: <hoffmajs@gmx.de> | |
1637 - Additional YUV formats support | |
1638 - found the big BITMAPINFOHEADER problem -> solved ASV2 pixelization | |
1639 | |
1640 Nick Kurshev: <nickols_k@mail.ru> | |
1641 - memcpy optimizations for AMD K7 and Intel Pentium III (fastmemcpy.h) | |
1642 - CDROM tune info | |
1643 - further 3DNow! optimizations into mp3lib and libac3 | |
1644 - russian translation of documentation | |
1645 | |
1646 German Gomez Garcia: <german@piraos.com> | |
1647 - DVD .ifo parser and chapter selection [not yet in the main trunk] | |
1648 - SPDIF AC3 output for SBLive! [not yet in the main trunk] | |
1649 | |
1650 Dariush Pietrzak (Eyck): <eyck@incubus.ar.lublin.pl> | |
1651 - debian packaging support (see debian/* and DOCS/DEBIAN) | |
1652 - support for vplayer subtitle format | |
1653 - prelimenary support for .RT subtitle format | |
1654 | |
1655 Jürgen Keil and Marcus Comstedt: <jk@tools.de> <marcus@idonex.se> | |
1656 - patched MPlayer to work on Solaris 8 x86 | |
1657 - configure fixes | |
1658 - SUN audio driver in libao2 | |
1659 | |
1660 Vladimir Kushnir: <vkushnir@Alfacom.net> | |
1661 - patched MPlayer to work on FreeBSD x86 | |
1662 | |
1663 Bertrand BAUDET: <bertrand_baudet@yahoo.com> | |
1664 - network streaming support | |
1665 | |
1666 Main testers: | |
1667 Tibor Balázs (Tibcu) | |
1668 Péter Sasi (SaPe) | |
1669 Christoph H. Lampert | |
1670 Attila Kinali | |
1671 Dirk Vornheder | |
1672 | |
1673 ========================== The codecs, libs: ================================= | |
1674 | |
1675 Aaron Holtzman: <aholtzma@engr.uvic.ca> | |
1676 - ac3dec (and libac3) author [AC3 audio decoder] | |
1677 - mga_vid driver [Matrox G200/G400 YUV Back-end Scaler] | |
1678 - mpeg2dec [Fast MPEG1/MPEG2 video decoder, currently used in player] | |
1679 | |
1680 Michel Lespinasse: <walken@zoy.org> | |
1681 - did large libmpeg2 changes for better speed and mpeg conformance | |
1682 | |
1683 Eugene Kuznetsov: <divx@euro.ru> | |
1684 - avifile author [AVI player library for linux, using Win32 VfW/ACM codecs] | |
1685 - technical help about AVI and ASF formats, and how to get YUV using VfW... | |
1686 - divx4linux techical support | |
1687 | |
1688 Zdenek Kabelac: <kabi@informatics.muni.cz> | |
1689 - current avifile maintainer(?) | |
1690 - some technical help about the win32 stuff and timers | |
1691 | |
1692 Gerard Lantau: <glantau@yahoo.fr> | |
1693 - ffmpeg/libavcodec author,maintainer (opensource mpeg & divx en/decoder) | |
1694 | |
1695 Project Mayo: [http://www.projectmayo.com] | |
1696 - the OpenDivX codec authors | |
1697 | |
1698 Michael Hipp: | |
1699 - mpglib author [isn't used directly but some parts in mp3lib] | |
1700 | |
1701 Mark Podlipec: | |
1702 - xa_gsm.c author [MS-GSM audio codec] | |
1703 [from a GSM library by Jutta Degener and Carsten Bormann] | |
1704 | |
1705 Their code is not used in current player version, but I've got some ideas or | |
1706 other technical help from: | |
1707 | |
1708 John F. McGowan http://www.jmcgowan.com/ | |
1709 - AVI FAQ author/collector. [site with many useful docs on codecs and avi fmt] | |
1710 | |
1711 Dirk Farin: <farin@ti.uni-mannheim.de> | |
1712 - dvdview author [MPEG1/MPEG2 video decoder, used in v0.5-v0.8] | |
1713 | |
1714 Adam Williams: <broadcast@earthling.net> | |
1715 - libmpeg3 (and xmovie) author [MPEG1/MPEG2 video decoder, used in v0.1-v0.4] | |
1716 | |
1717 | |
1718 <A NAME=B>Appendix B - Mailing lists | |
1719 | |
1720 There are some public mailing lists on MPlayer. Subscribing can be achieved on | |
1721 the following addresses: | |
1722 | |
1723 - MPlayer core/hungarian developers list: | |
1724 http://mp.dev.hu/mailman/listinfo/mplayer-devel | |
1725 | |
1726 I dunno, it is the FLAME list in hungarian language :) | |
1727 Also some talking about mplayer core team internals, like mplayer | |
1728 party, sponsors etc can be here. | |
1729 | |
1730 - MPlayer developers list: | |
1731 http://lists.sourceforge.net/lists/listinfo/mplayer-dev-eng | |
1732 | |
1733 This list is about mplayer development! Talking about interface/API changes, | |
1734 new libraryes, code optimization, ./configure changes, and send patches here. | |
1735 Do NOT send bugreports, user questions, feature requests here! | |
1736 This list should be kept low-traffic. | |
1737 | |
1738 - MPlayer users list: | |
1739 http://lists.sourceforge.net/lists/listinfo/mplayer-users | |
1740 | |
1741 - send bugreports here (after reading DOCS/BUGS, BUGREPORTS) | |
1742 - send feature requests here (after reading DOCS/TODO) | |
1743 - send user questions here (after reading DOCS/README, INSTALL, FAQ etc) | |
1744 | |
1745 - MPlayer & Matrox G200/G400/G450 users: | |
1746 http://lists.sourceforge.net/lists/listinfo/mplayer-matrox | |
1747 | |
1748 Send matrox-related questions here, | |
1749 - things about mga_vid, | |
1750 - matrox's official beta drivers (for X 4.x.x) | |
1751 - and about matroxfb-TVout stuff. | |
1752 | |
1753 - mpg12play-portable developers: | |
1754 http://lists.sourceforge.net/lists/listinfo/mplayer-mpg12play | |
1755 | |
1756 This list is for talking about mplayer ports to non-x86 platforms | |
1757 (IRIX, Solaris-SPARC, Alpha, Commodore64, Sharp Calculator, | |
1758 Teapot etc...) | |
1759 | |
1760 - MPlayer announce: | |
1761 http://lists.sourceforge.net/lists/listinfo/mplayer-announce | |
1762 | |
1763 Very low traffic list :) | |
1764 And it's read-only. I'll post something shit there if a new release | |
1765 is done. | |
1766 | |
1767 - MPlayer CVS-log: | |
1768 http://mp.dev.hu/mailman/listinfo/mplayer-cvslog | |
1769 | |
1770 Send only questions about CVS changes here. | |
1771 (if you don't understand why a change is required or you've better fix) | |
1772 Be sure in that your target developer reads this list! | |
1773 | |
1774 NOTE: language of above lists are ENGLISH, unless explicitly stated otherwise. | |
1775 Please do not send messages using other language! | |
1776 | |
1777 | |
1778 <A NAME=C>Appendix C - How to report bugs | |
1779 | |
1780 How to report bugs? | |
1781 ~~~~~~~~~~~~~~~~~~~ | |
1782 First read DOCS/BUGS, and other docs. If your problem isn't | |
1783 known or isn't solved by our instructions, then report the bug: | |
1784 | |
1785 Where? | |
1786 ====== | |
1787 Subscribe to the mplayer-users mailing list: | |
1788 http://lists.sourceforge.net/lists/listinfo/mplayer-users | |
1789 and send your bugreport to: | |
1790 mplayer-users@lists.sourceforge.net | |
1791 We won't CC: so please subscribe!!! | |
1792 | |
1793 Don't send bugreports private, directly to author's address!!! | |
1794 We are working together on code, so everyone is interested in it. | |
1795 BTW many times other users know the solution (system config probs, | |
1796 bad drivers etc), even when we think it's a bug in our code. | |
1797 The language of this list is ENGLISH ! | |
1798 | |
1799 Please describe your problem in details, examples etc, and don't | |
1800 forget to include these: | |
1801 | |
1802 What? | |
1803 ===== | |
1804 | |
1805 1. The system info what we always want: | |
1806 - linux distribution | |
1807 examples: | |
1808 RedHat 7.1 | |
1809 Slackware 7.0 + devel packs from 7.1 ... | |
1810 - kernel version: | |
1811 uname -a | |
1812 - libc version: | |
1813 ls -l /lib/libc[.-]* | |
1814 - X version: | |
1815 X -version | |
1816 - gcc and ld version: | |
1817 gcc -v | |
1818 ld -v | |
1819 - binutils version: | |
1820 as --version | |
1821 | |
1822 2. Hardware & drivers: | |
1823 - CPU info: | |
1824 cat /proc/cpuinfo | |
1825 - video card manufacturer and model | |
1826 examples: | |
1827 ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM | |
1828 Matrox G400 DH 32MB SGRAM | |
1829 - video driver type&version | |
1830 examples: | |
1831 X built-in driver | |
1832 nvidia 0.9.623 | |
1833 Utah-GLX CVS 2001-02-17 | |
1834 DRI from X 4.0.3 | |
1835 - sound card type & driver | |
1836 examples: | |
1837 Creative SBLive! Gold with OSS driver from oss.creative.com | |
1838 Creative SB16 with OSS drivers of kernel | |
1839 GUS PnP with ALSA OSS emulation | |
1840 - if you are unsure, attach output of lspci -v | |
1841 | |
1842 For compiling problems/errors: | |
1843 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
1844 3. output of configure/make: | |
1845 make distclean | |
1846 ./configure &>config.log | |
1847 ./make &>make.log | |
1848 4. these files: | |
1849 config.h | |
1850 config.mak | |
1851 libvo/config.mak | |
1852 | |
1853 For playback problems: | |
1854 ~~~~~~~~~~~~~~~~~~~~~~ | |
1855 3. Output of mplayer at verbose level 1 (-v) | |
1856 mplayer -v [options] filename &> mplayer.log | |
1857 | |
1858 4. If the problem is specific to one or a few files, | |
1859 then please upload that file to: | |
1860 ftp://thot.banki.hu/MPlayer/incoming/ | |
1861 Usually first 1-5 MB of the file is enough to reproduce | |
1862 the problem, but first you should try it: | |
1863 dd if=yourfile of=smallfile bs=1k count=1024 | |
1864 (it will cut first 1MB of 'yourfile' and save to 'smallfile') | |
1865 Then try again on this small file, and if bug still exists | |
1866 then it's enough to upload this small file. | |
1867 NEVER send such files via mail! Upload it, and send only | |
1868 the path/filename of the file on the FTP. | |
1869 If the file is accessible on the net, then sending the | |
1870 _exact_ URL is enough! | |
1871 | |
1872 5. For crashes (segfault, SIGILL, signal 4 etc): | |
1873 | |
1874 If you have coredump of the crash, see 5.a, else see 5.b: | |
1875 | |
1876 5.a: Please print us coredump (if it was created). | |
1877 Howto: | |
1878 please create following command file: | |
1879 | |
1880 disass $eip-32 $eip+32 | |
1881 printf "eax=%08lX\n",$eax | |
1882 printf "ebx=%08lX\n",$ebx | |
1883 printf "ecx=%08lX\n",$ecx | |
1884 printf "edx=%08lX\n",$edx | |
1885 printf "esp=%08lX\n",$esp | |
1886 printf "ebp=%08lX\n",$ebp | |
1887 printf "edi=%08lX\n",$edi | |
1888 printf "esi=%08lX\n",$esi | |
1889 | |
1890 Then simply execute following command line: | |
1891 gdb mplayer --core=core -batch --command=command_file >mplayer.bug | |
1892 | |
1893 5.b.: run MPlayer in gdb: | |
1894 [at root/user shell prompt:] | |
1895 # gdb mplayer | |
1896 [at gdb prompt:] | |
1897 > run -v [options-to-mplayer] filename | |
1898 ... (wait until it will crash) | |
1899 > bt | |
1900 > disass $eip-32 $eip+32 | |
1901 Send us the full output of the above things! | |
1902 | |
1903 In general: | |
1904 ~~~~~~~~~~~ | |
1905 If something is big (logs etc) then it's better to upload to the ftp | |
1906 (gzipped), and include only path/filename in the bugreport! | |
1907 | |
1908 </BODY> | |
1909 | |
1910 </HTML> |