comparison DOCS/en/documentation.html @ 9382:1b3444713694

Move English files to en/ subdirectory.
author diego
date Mon, 10 Feb 2003 00:00:00 +0000
parents DOCS/documentation.html@8efd3c0578b2
children 72c0458c854a
comparison
equal deleted inserted replaced
9381:007a1bdce1f4 9382:1b3444713694
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML>
3
4 <HEAD>
5 <TITLE>Documentation - MPlayer - The Movie Player for Linux</TITLE>
6 <LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
7 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
8 </HEAD>
9
10 <BODY>
11
12 <H1 ALIGN="center">MPlayer - The Movie Player for LINUX</H1>
13
14 <H2 ALIGN="center">&copy; 2000-2003 Arpad Gereoffy (A'rpi/ESP-team)<BR>
15 <A HREF="http://www.mplayerhq.hu">http://www.mplayerhq.hu</A></H2>
16
17 <P ALIGN="center">[ English ]
18 <A HREF="Hungarian/documentation.html">[ Hungarian ]</A>
19 <A HREF="German/documentation.html">[ German ]</A>
20 <A HREF="French/documentation.html">[ French ]</A>
21 <A HREF="Polish/documentation.html">[ Polish ]</A>
22 <A HREF="Italian/documentation.html">[ Italian ]</A>
23 <A HREF="Chinese/documentation.html">[ Chinese ]</A></P>
24
25 <HR>
26
27 <H2>Table of Contents</H2>
28
29 <HR>
30
31 <UL>
32 <LI><A HREF="#reading">0. How to read this documentation</A></LI>
33 <LI><A HREF="#introduction">1. Introduction</A>
34 <UL>
35 <LI><A HREF="#history">1.1 History</A></LI>
36 <LI><A HREF="#installation">1.2 Installation</A></LI>
37 <LI><A HREF="#gui">1.3 What about the GUI?</A></LI>
38 <LI><A HREF="#subtitles_osd">1.4 Subtitles and OSD</A>
39 <UL>
40 <LI><A HREF="#mpsub">1.4.1 MPlayer's own subtitle format (MPsub)</A></LI>
41 <LI><A HREF="#install_osd">1.4.2 Installing OSD and subtitles</A></LI>
42 <LI><A HREF="#menu">1.4.3 OSD Menu</A></LI>
43 </UL>
44 </LI>
45 <LI><A HREF="#rtc">1.5 RTC</A></LI>
46 </UL>
47 </LI>
48 <LI><A HREF="#features">2. Features</A>
49 <UL>
50 <LI><A HREF="formats.html">2.1 Supported formats</A>
51 <UL>
52 <LI><A HREF="formats.html#video_formats">2.1.1 Video formats</A>
53 <UL>
54 <LI><A HREF="formats.html#mpeg">2.1.1.1 MPEG files</A></LI>
55 <LI><A HREF="formats.html#avi">2.1.1.2 AVI files</A></LI>
56 <LI><A HREF="formats.html#asf">2.1.1.3 ASF/WMV files</A></LI>
57 <LI><A HREF="formats.html#mov">2.1.1.4 QuickTime/MOV files</A></LI>
58 <LI><A HREF="formats.html#vivo">2.1.1.5 VIVO files</A></LI>
59 <LI><A HREF="formats.html#fli">2.1.1.6 FLI files</A></LI>
60 <LI><A HREF="formats.html#real">2.1.1.7 RealMedia (RM) files</A></LI>
61 <LI><A HREF="formats.html#nuppelvideo">2.1.1.8 NuppelVideo files</A></LI>
62 <LI><A HREF="formats.html#yuv4mpeg">2.1.1.9 yuv4mpeg files</A></LI>
63 <LI><A HREF="formats.html#film">2.1.1.10 FILM files</A></LI>
64 <LI><A HREF="formats.html#roq">2.1.1.11 RoQ files</A></LI>
65 <LI><A HREF="formats.html#ogg">2.1.1.12 OGG/OGM files</A></LI>
66 <LI><A HREF="formats.html#sdp">2.1.1.13 SDP files</A></LI>
67 <LI><A HREF="formats.html#pva">2.1.1.14 PVA files</A></LI>
68 <LI><A HREF="formats.html#gif">2.1.1.15 GIF files</A></LI>
69 </UL>
70 </LI>
71 <LI><A HREF="formats.html#audio_formats">2.1.2 Audio formats</A>
72 <UL>
73 <LI><A HREF="formats.html#mp3">2.1.2.1 MP3 files</A></LI>
74 <LI><A HREF="formats.html#wav">2.1.2.2 WAV files</A></LI>
75 <LI><A HREF="formats.html#ogg_vorbis">2.1.2.3 OGG/OGM files (Vorbis)</A></LI>
76 <LI><A HREF="formats.html#wma">2.1.2.4 WMA/ASF files</A></LI>
77 <LI><A HREF="formats.html#mp4">2.1.2.5 MP4 files</A></LI>
78 <LI><A HREF="formats.html#cdda">2.1.2.6 CD audio</A></LI>
79 <LI><A HREF="formats.html#xmms">2.1.2.7 XMMS</A></LI>
80 </UL>
81 </LI>
82 </UL>
83 </LI>
84 <LI><A HREF="codecs.html">2.2 Supported codecs</A>
85 <UL>
86 <LI><A HREF="codecs.html#video_codecs">2.2.1 Video codecs</A>
87 <UL>
88 <LI><A HREF="codecs.html#divx">2.2.1.1 DivX4/DivX5</A></LI>
89 <LI><A HREF="codecs.html#libavcodec">2.2.1.2 FFmpeg DivX/libavcodec</A></LI>
90 <LI><A HREF="codecs.html#xanim">2.2.1.3 XAnim codecs</A></LI>
91 <LI><A HREF="codecs.html#vivo_video">2.2.1.4 VIVO video</A></LI>
92 <LI><A HREF="codecs.html#mpeg">2.2.1.5 MPEG 1/2 video</A></LI>
93 <LI><A HREF="codecs.html#ms_video1">2.2.1.6 MS Video1</A></LI>
94 <LI><A HREF="codecs.html#cinepak">2.2.1.7 Cinepak CVID</A></LI>
95 <LI><A HREF="codecs.html#realvideo">2.2.1.8 RealVideo</A></LI>
96 <LI><A HREF="codecs.html#xvid">2.2.1.9 XViD</A></LI>
97 <LI><A HREF="codecs.html#sorenson">2.2.1.10 Sorenson</A></LI>
98 </UL>
99 </LI>
100 <LI><A HREF="codecs.html#audio_codecs">2.2.2 Audio codecs</A>
101 <UL>
102 <LI><A HREF="codecs.html#software_ac3">2.2.2.1 Software AC3 decoding</A></LI>
103 <LI><A HREF="codecs.html#hardware_ac3">2.2.2.2 Hardware AC3 decoding</A></LI>
104 <LI><A HREF="codecs.html#libmad">2.2.2.3 libmad support</A></LI>
105 <LI><A HREF="codecs.html#vivo_audio">2.2.2.4 VIVO audio</A></LI>
106 <LI><A HREF="codecs.html#realaudio">2.2.2.5 RealAudio</A></LI>
107 <LI><A HREF="codecs.html#qdesign">2.2.2.6 QDesign codecs</A></LI>
108 <LI><A HREF="codecs.html#qclp">2.2.2.7 Qualcomm codec</A></LI>
109 </UL>
110 </LI>
111 <LI><A HREF="codecs.html#importing">2.2.3 Win32 codec importing HOWTO</A>
112 <UL>
113 <LI><A HREF="codecs.html#importing_vfw">2.2.3.1 VFW codecs</A></LI>
114 <LI><A HREF="codecs.html#importing_directshow">2.2.3.2 DirectShow codecs</A></LI>
115 </UL>
116 </LI>
117 </UL>
118 </LI>
119 <LI><A HREF="#output">2.3 Output devices</A>
120 <UL>
121 <LI><A HREF="video.html">2.3.1 Video output devices</A>
122 <UL>
123 <LI><A HREF="video.html#mtrr">2.3.1.1 Setting up MTRR</A></LI>
124 <LI><A HREF="video.html#normal">2.3.1.2 Video outputs for traditional video cards</A>
125 <UL>
126 <LI><A HREF="video.html#xv">2.3.1.2.1 Xv</A>
127 <UL>
128 <LI><A HREF="video.html#xv_3dfx">2.3.1.2.1.1 3dfx cards</A></LI>
129 <LI><A HREF="video.html#xv_s3">2.3.1.2.1.2 S3 cards</A></LI>
130 <LI><A HREF="video.html#xv_nvidia">2.3.1.2.1.3 nVidia cards</A></LI>
131 <LI><A HREF="video.html#xv_ati">2.3.1.2.1.4 ATI cards</A></LI>
132 <LI><A HREF="video.html#xv_neomagic">2.3.1.2.1.5 NeoMagic cards</A></LI>
133 <LI><A HREF="video.html#xv_trident">2.3.1.2.1.6 Trident cards</A></LI>
134 <LI><A HREF="video.html#xv_powervr">2.3.1.2.1.7 Kyro/PowerVR cards</A></LI>
135 </UL>
136 </LI>
137 <LI><A HREF="video.html#dga">2.3.1.2.2 DGA</A></LI>
138 <LI><A HREF="video.html#sdl">2.3.1.2.3 SDL</A></LI>
139 <LI><A HREF="video.html#svgalib">2.3.1.2.4 SVGAlib</A></LI>
140 <LI><A HREF="video.html#fbdev">2.3.1.2.5 Framebuffer output (FBdev)</A></LI>
141 <LI><A HREF="video.html#mga_vid">2.3.1.2.6 Matrox framebuffer (mga_vid)</A></LI>
142 <LI><A HREF="video.html#tdfxfb">2.3.1.2.7 3dfx YUV support (tdfxfb)</A></LI>
143 <LI><A HREF="video.html#opengl">2.3.1.2.8 OpenGL output</A></LI>
144 <LI><A HREF="video.html#aalib">2.3.1.2.9 AAlib - text mode displaying</A></LI>
145 <LI><A HREF="video.html#vesa">2.3.1.2.10 VESA - output to VESA BIOS</A></LI>
146 <LI><A HREF="video.html#x11">2.3.1.2.11 X11</A></LI>
147 <LI><A HREF="video.html#vidix">2.3.1.2.12 VIDIX</A>
148 <UL>
149 <LI><A HREF="video.html#vidix_ati"> 2.3.1.2.12.1 ATI cards</A></LI>
150 <LI><A HREF="video.html#vidix_matrox"> 2.3.1.2.12.2 Matrox cards</A></LI>
151 <LI><A HREF="video.html#vidix_trident"> 2.3.1.2.12.3 Trident cards</A></LI>
152 <LI><A HREF="video.html#vidix_3dlabs"> 2.3.1.2.12.4 3DLabs cards</A></LI>
153 </UL>
154 </LI>
155 <LI><A HREF="video.html#directfb">2.3.1.2.13 DirectFB</A></LI>
156 <LI><A HREF="video.html#dfbmga">2.3.1.2.14 DirectFB/Matrox (dfbmga)</A></LI>
157 </UL>
158 </LI>
159 <LI><A HREF="video.html#mpegdec">2.3.1.3 MPEG decoders</A>
160 <UL>
161 <LI><A HREF="video.html#dvb">2.3.1.3.1 DVB</A></LI>
162 <LI><A HREF="video.html#dxr2">2.3.1.3.2 DXR2</A></LI>
163 <LI><A HREF="video.html#dxr3">2.3.1.3.3 DXR3/Hollywood+</A></LI>
164 </UL>
165 </LI>
166 <LI><A HREF="video.html#other">2.3.1.4 Other visualization hardware</A>
167 <UL>
168 <LI><A HREF="video.html#zr">2.3.1.4.1 Zoran JPEG decoders</A></LI>
169 <LI><A HREF="video.html#blinken">2.3.1.4.2 Blinkenlights</A></LI>
170 </UL>
171 </LI>
172 <LI><A HREF="video.html#tv-out">2.3.1.5 TV-out support</A>
173 <UL>
174 <LI><A HREF="video.html#tv-out_matrox">2.3.1.5.1 Matrox G400 cards</A></LI>
175 <LI><A HREF="video.html#tv-out_matrox_g450">2.3.1.5.2 Matrox G450/G550 cards</A></LI>
176 <LI><A HREF="video.html#tv-out_ati">2.3.1.5.3 ATI cards</A></LI>
177 <LI><A HREF="video.html#tv-out_voodoo">2.3.1.5.4 Voodoo 3</A></LI>
178 <LI><A HREF="video.html#tv-out_nvidia">2.3.1.5.5 nVidia</A></LI>
179 </UL>
180 </LI>
181 </UL>
182 <LI><A HREF="sound.html">2.3.2 Audio output devices</A>
183 <UL>
184 <LI><A HREF="sound.html#sync">2.3.2.1 Audio/Video synchronisation</A></LI>
185 <LI><A HREF="sound.html#experiences">2.3.2.2 Sound card experiences, recommendations</A></LI>
186 <LI><A HREF="sound.html#af">2.3.2.3 Audio filters</A>
187 <UL>
188 <LI><A HREF="sound.html#af_resample">2.3.2.3.1 Up/Downsampling</A></LI>
189 <LI><A HREF="sound.html#af_channels">2.3.2.3.2 Changing the number of channels</A></LI>
190 <LI><A HREF="sound.html#af_format">2.3.2.3.3 Sample format converter</A></LI>
191 <LI><A HREF="sound.html#af_delay">2.3.2.3.4 Delay</A></LI>
192 <LI><A HREF="sound.html#af_volume">2.3.2.3.5 Software volume control</A></LI>
193 <LI><A HREF="sound.html#af_equalizer">2.3.2.3.6 Equalizer</A></LI>
194 <LI><A HREF="sound.html#af_panning">2.3.2.3.7 Panning filter</A></LI>
195 <LI><A HREF="sound.html#af_sub">2.3.2.3.8 Sub-woofer</A></LI>
196 <LI><A HREF="sound.html#af_surround">2.3.2.3.9 Surround-sound decoder</A></LI>
197 </UL>
198 </LI>
199 <LI><A HREF="sound.html#plugins">2.3.2.4 Audio plugins (deprecated)</A>
200 <UL>
201 <LI><A HREF="sound.html#resample">2.3.2.4.1 Up/Downsampling</A></LI>
202 <LI><A HREF="sound.html#surround_decoding">2.3.2.4.2 Surround Sound decoding</A></LI>
203 <LI><A HREF="sound.html#format">2.3.2.4.3 Sample format converter</A></LI>
204 <LI><A HREF="sound.html#delay">2.3.2.4.4 Delay</A></LI>
205 <LI><A HREF="sound.html#volume">2.3.2.4.5 Software volume control</A></LI>
206 <LI><A HREF="sound.html#extrastereo">2.3.2.4.6 Extrastereo</A></LI>
207 <LI><A HREF="sound.html#normalizer">2.3.2.4.7 Volume Normalizer</A></LI>
208 </UL>
209 </LI>
210 </UL>
211 </LI>
212 </UL>
213 </LI>
214 <LI><A HREF="#tv">2.4 TV input</A>
215 <UL>
216 <LI><A HREF="#tv_compilation">2.4.1 Compilation</A></LI>
217 <LI><A HREF="#tv_tips">2.4.2 Usage tips</A></LI>
218 <LI><A HREF="#tv_examples">2.4.3 Examples</A></LI>
219 </UL>
220 </LI>
221 <LI><A HREF="#edl">2.5 Edit Decision Lists (EDL)</A>
222 <UL>
223 <LI><A HREF="#edl_using">2.5.1 Using an EDL file</A></LI>
224 <LI><A HREF="#edl_making">2.5.2 Making an EDL file</A></LI>
225 </UL>
226 </LI>
227 </UL>
228 </LI>
229 <LI><A HREF="#usage">3. Usage</A>
230 <UL>
231 <LI><A HREF="#command_line">3.1 Command line</A></LI>
232 <LI><A HREF="#control">3.2 Control</A>
233 <UL>
234 <LI><A HREF="#controls_configuration">3.2.1 Controls configuration</A>
235 <UL>
236 <LI><A HREF="#key_names">3.2.1.1 Key names</A></LI>
237 <LI><A HREF="#commands">3.2.1.2 Commands</A></LI>
238 </UL>
239 </LI>
240 <LI><A HREF="#lirc">3.2.2 Control from LIRC</A></LI>
241 <LI><A HREF="#slave">3.2.3 Slave mode</A></LI>
242 </UL>
243 </LI>
244 <LI><A HREF="#streaming">3.3 Streaming from network or pipes</A></LI>
245 </UL>
246 </LI>
247 <LI><A HREF="cd-dvd.html">4. CD/DVD section</A>
248 <UL>
249 <LI><A HREF="cd-dvd.html#drives">4.1 CD/DVD drives</A></LI>
250 <LI><A HREF="cd-dvd.html#dvd">4.2 DVD playback</A></LI>
251 <LI><A HREF="cd-dvd.html#vcd">4.3 VCD playback</A></LI>
252 </UL>
253 </LI>
254 <LI><A HREF="faq.html">5. FAQ section</A>
255 <UL>
256 <LI><A HREF="faq.html#compilation">5.1 Compilation</A></LI>
257 <LI><A HREF="faq.html#general">5.2 General questions</A></LI>
258 <LI><A HREF="faq.html#playback">5.3 Playback problems</A></LI>
259 <LI><A HREF="faq.html#driver">5.4 Video/audio driver problems (vo/ao)</A></LI>
260 <LI><A HREF="faq.html#dvd">5.5 DVD playback</A></LI>
261 <LI><A HREF="faq.html#features">5.6 Feature requests</A></LI>
262 <LI><A HREF="faq.html#encoding">5.7 Encoding</A></LI>
263 </UL>
264 </LI>
265 <LI><A HREF="#ports">6. Ports</A>
266 <UL>
267 <LI><A HREF="#linux">6.1 Linux</A>
268 <UL>
269 <LI><A HREF="#debian">6.1.1 Debian packaging</A></LI>
270 <LI><A HREF="#rpm">6.1.2 RPM packaging</A></LI>
271 <LI><A HREF="#arm">6.1.3 ARM</A></LI>
272 </UL>
273 </LI>
274 <LI><A HREF="#bsd">6.2 *BSD</A>
275 <UL>
276 <LI><A HREF="#freebsd">6.2.1 FreeBSD</A></LI>
277 <LI><A HREF="#openbsd">6.2.2 OpenBSD</A></LI>
278 </UL>
279 </LI>
280 <LI><A HREF="#solaris">6.3 Solaris</A></LI>
281 <LI><A HREF="#sgi">6.4 Silicon Graphics / Irix</A></LI>
282 <LI><A HREF="#qnx">6.5 QNX</A></LI>
283 <LI><A HREF="#cygwin">6.6 Cygwin</A></LI>
284 </UL>
285 </LI>
286 <LI><A HREF="encoding.html">7. Encoding with MEncoder</A>
287 <UL>
288 <LI><A HREF="encoding.html#2pass">7.1 Encoding 2 or 3-pass MPEG-4 ("DIVX")</A></LI>
289 <LI><A HREF="encoding.html#mpeg">7.2 Encoding to MPEG format</A></LI>
290 <LI><A HREF="encoding.html#rescaling">7.3 Rescaling movies</A></LI>
291 <LI><A HREF="encoding.html#copying">7.4 Stream copying</A></LI>
292 <LI><A HREF="encoding.html#fixing">7.5 Fixing AVIs with broken index</A></LI>
293 <UL>
294 <LI><A HREF="encoding.html#appending">7.5.1 Appending multiple AVI files</A></LI>
295 </UL>
296 <LI><A HREF="encoding.html#libavcodec">7.6 Encoding with the libavcodec codec family</A></LI>
297 <LI><A HREF="encoding.html#image_files">7.7 Encoding from multiple input image files (JPEGs or PNGs)</A></LI>
298 <LI><A HREF="encoding.html#vobsub">7.8 Extracting DVD subtitles to a Vobsub file</A></LI>
299 <LI><A HREF="encoding.html#aspect">7.9 Preserving aspect ratio</A></LI>
300 </UL>
301 </LI>
302 <LI><A HREF="#mailing_lists">Appendix A - Mailing lists</A></LI>
303 <LI><A HREF="bugreports.html">Appendix B - How to report bugs</A></LI>
304 <LI><A HREF="#known_bugs">Appendix C - Known bugs</A></LI>
305 <LI><A HREF="skin.html">Appendix D - MPlayer skin format</A>
306 <UL>
307 <LI><A HREF="skin.html#overview">D.1 Overview</A>
308 <UL>
309 <LI><A HREF="skin.html#directories">D.1.1 Directories</A></LI>
310 <LI><A HREF="skin.html#images">D.1.2 Images</A></LI>
311 <LI><A HREF="skin.html#components">D.1.3 Skin components</A></LI>
312 <LI><A HREF="skin.html#files">D.1.4 Files</A></LI>
313 </UL>
314 </LI>
315 <LI><A HREF="skin.html#skinfile">D.2 The skin file</A>
316 <UL>
317 <LI><A HREF="skin.html#mainwindow">D.2.1 Main window and playbar</A></LI>
318 <LI><A HREF="skin.html#subwindow">D.2.2 Subwindow</A></LI>
319 <LI><A HREF="skin.html#skinmenu">D.2.3 Skin menu</A></LI>
320 </UL>
321 </LI>
322 <LI><A HREF="skin.html#fonts">D.3 Fonts</A>
323 <UL>
324 <LI><A HREF="skin.html#symbols">D.3.1 Symbols</A></LI>
325 </UL>
326 </LI>
327 <LI><A HREF="skin.html#guimessages">D.4 GUI messages</A></LI>
328 </UL>
329 </LI>
330 <LI><A HREF="users_against_developers.html">Appendix E - Developer Cries</A>
331 <UL>
332 <LI><A HREF="users_against_developers.html#gcc">E.1 GCC 2.96</A></LI>
333 <LI><A HREF="users_against_developers.html#binary">E.2 Binary distribution</A></LI>
334 <LI><A HREF="users_against_developers.html#nvidia">E.3 nVidia</A></LI>
335 <LI><A HREF="users_against_developers.html#barr">E.4 Joe Barr</A></LI>
336 </UL>
337 </LI>
338 <LI><A HREF="tech/patches.txt">Appendix F - How to send patches</A></LI>
339 </UL>
340
341 <HR>
342
343
344
345 <H1><A NAME="reading">0. How to read this documentation</A></H1>
346
347 <P>If you are a first-time installer: be sure to read everything from here to
348 the end of the Installation section, and follow the links you will find. If
349 you have any other questions, return to the Table of Contents and
350 search for the topic, read the <A HREF="faq.html">FAQ</A>, or try grepping
351 through the files.</P>
352
353 <P>The main rule of this documentation: if it's not documented, it
354 <U>does not exist</U>. If I don't say you encode audio from TV tuner, you
355 can't. A healthy quantity of combining ability is welcomed, though.
356 Good luck. You'll need it :) And for another good advice, let me quote
357 Chris Phillips from the
358 <A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>
359 mailing list:</P>
360
361 <BLOCKQUOTE>
362 I said a while ago that there is such a difference between a newbie and
363 a dumbass. No matter what you actually know about a system (linux, cars,
364 girls :D) you should ALWAYS be able to take a step back and be objective,
365 otherwise, you're just dumb IMHO. A girl i live with assumed the vacuum
366 cleaner was broken because it didn't suck things up. never thought to change
367 the bag, becasue she'd never done it before... now that's just stupid, not a
368 case of simply not knowing what to do... Simply not being that familiar with
369 your surroundings is no excuse for a) laziness and b) ignorance. So many
370 people seem to see the word "error" and then stop... few seem to actually
371 read the words on the OTHER side of the colon.
372 </BLOCKQUOTE>
373
374
375
376 <H1><A NAME="introduction">1. Introduction</A></H1>
377
378
379 <P>MPlayer is a movie player for LINUX (runs on many other Unices, and
380 <B>non-x86</B> CPUs, see the <A HREF="#ports">ports section</A>). It plays most
381 MPEG, VOB, AVI, OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg,
382 FILM, RoQ, PVA files, supported by many native, XAnim, RealPlayer, and
383 Win32 DLL codecs. You can watch <B>VideoCD</B>, <B>SVCD</B>, <B>DVD</B>,
384 <B>3ivx</B>, <B>RealMedia</B>, and <B>DivX</B> movies too (and you don't need
385 the avifile
386 library at all!). Another big feature of MPlayer is the wide range of
387 supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib, fbdev,
388 AAlib, DirectFB, but you can also use GGI and SDL (and this way all their
389 drivers) and some lowlevel card-specific drivers (for Matrox, 3Dfx and Radeon,
390 Mach64, Permedia3) too! Most
391 of them supports software or hardware scaling, so you can enjoy movies in
392 fullscreen. MPlayer supports displaying through some hardware MPEG
393 decoder boards, such as the <B><A HREF="video.html#dvb">DVB</A></B> and
394 <B><A HREF="video.html#dxr3">DXR3/Hollywood+</A></B>. And what about the nice big antialiased
395 shaded subtitles (<B>10 supported types</B>) with European/ISO 8859-1,2
396 (Hungarian, English, Czech, etc), Cyrillic, Korean fonts, and the onscreen
397 display (OSD)?</P>
398
399 <P>The player is rock solid playing damaged MPEG files (useful for some VCDs),
400 and it plays bad AVI files which are unplayable with the famous
401 windows media player. Even AVI files without index chunk are playable, and
402 you can temporarily rebuild their indexes with the <CODE>-idx</CODE> option, or
403 permanently with MEncoder, thus enabling seeking!
404 As you see, stability and quality are the most important things,
405 but the speed is also amazing.</P>
406
407 <P>MEncoder (MPlayer's Movie Encoder) is a simple movie encoder,
408 designed to encode MPlayer-playable movies
409 (<B>AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA</B>) to other
410 MPlayer-playable formats (see below). It can encode with various codecs, like
411 <B>DivX4</B> (1 or 2 passes), libavcodec,
412 <B>PCM</B>/<B>MP3</B>/<B>VBR MP3</B> audio. Also has powerful plugin system
413 for video manipulation.</P>
414
415 <H4>MEncoder features</H4>
416
417 <UL>
418 <LI>encoding from the wide range of fileformats and decoders of MPlayer</LI>
419 <LI>encoding to all the codecs of ffmpeg's
420 <A HREF="codecs.html#libavcodec">libavcodec</A></LI>
421 <LI>video encoding from <B>V4L compatible TV tuners</B></LI>
422 <LI>encoding/multiplexing to interleaved AVI files with proper index</LI>
423 <LI>creating files from external audio stream</LI>
424 <LI>1, 2 or 3 pass encoding</LI>
425 <LI><B>VBR</B> MP3 audio - <B>IMPORTANT NOTE:</B> VBR MP3 audio doesn't
426 always play nicely on Windows players!</LI>
427 <LI>PCM audio</LI>
428 <LI>stream copying</LI>
429 <LI>input A/V synchronizing (PTS-based, can be disabled with -mc 0 option)</LI>
430 <LI>FPS correction with <CODE>-ofps</CODE> option (useful when encoding
431 29.97fps VOB to 24fps AVI)</LI>
432 <LI>using our very powerful plugin system (crop, expand, flip, postprocess,
433 rotate, scale, rgb/yuv conversion)</LI>
434 <LI>can encode DVD/VOBsub <B>AND</B> text subtitles into the output file</LI>
435 <LI>can rip DVD subtitles to Vobsub format</LI>
436 </UL>
437
438 <H4>Planned features</H4>
439
440 <UL>
441 <LI>even wider variety of available en/decoding formats/codecs
442 (creating VOB files with DivX4/Indeo5/VIVO streams :)</LI>
443 </UL>
444
445 <P>MPlayer and MEncoder can be distributed under the terms of the GNU General
446 Public License Version 2.</P>
447
448
449 <H2><A NAME="history">1.1 History</A></H2>
450
451 <P>This began a year ago...
452 I (A'rpi) have tried lots of players under linux (mtv,xmps,dvdview,livid/oms,videolan,
453 xine,xanim,avifile,xmmp) but they all have some problem. Mostly with special
454 files or with audio/video sync. Most of them is unable to play both MPEG1,
455 MPEG2 and AVI (DivX) files. Many players have image quality or speed problems
456 too. So I've decided to write/modify one...</P>
457
458 <UL>
459 <LI><B>mpg12play v0.1-v0.3:</B> Sep 22-25, 2000<BR>
460 The first try, hacked together in a half hour!
461 I've used libmpeg3 from www.heroinewarrior.com up to the version 0.3,
462 but there were image quality and speed problems with it.</LI>
463 <LI><B>mpg12play v0.5-v0.87:</B> Sep 28-Oct 20, 2000<BR>
464 Mpeg codec replaced with DVDview by Dirk Farin, it was a great stuff,
465 but it was slow and was written in C++ (I hate C++!!!)</LI>
466 <LI><B>mpg12play v0.9-v0.95pre5:</B> Oct 21-Nov 2, 2000<BR>
467 Mpeg codec was libmpeg2 (mpeg2dec) by Aaron Holtzman &amp; Michel Lespinasse.
468 It's great, optimized very fast C code with perfect image quality and
469 100% MPEG standard conformance.</LI>
470 <LI><B>MPlayer v0.01:</B> Nov 11, 2000<BR>
471 The first MPlayer.</LI>
472 <LI><B>MPlayer v0.3-v0.9:</B> Nov 18-Dec 4, 2000<BR>
473 It was a pack of two programs: mpg12play v0.95pre6 and my new simple AVI
474 player 'avip' based on avifile's Win32 DLL loader.</LI>
475 <LI><B>MPlayer v0.10:</B> Jan 1, 2001<BR>
476 The MPEG and AVI player in a single binary!</LI>
477 <LI><B>MPlayer v0.11pre series:</B><BR>
478 Some new developers joined and from 0.11 the mplayer project is a team-work!
479 Added .ASF file support, and OpenDivX (see www.projectmayo.com) en/decoding.</LI>
480 <LI><B>MPlayer v0.17a "The IdegCounter"</B> Apr 27, 2001<BR>
481 The release version of the 0.11pre after 4 months of heavy development!
482 Try it, and be amazed! Thousands of new features added... and of course
483 old code was improved too, bugs removed etc.</LI>
484 <LI><B>MPlayer 0.18 "The BugCounter"</B> Jul 9, 2001<BR>
485 2 months since 0.17 and here's a new release.. Completed ASF support,
486 more subtitle formats, introduced libao (similar to libvo but to audio),
487 even more stable than ever, and so on. It's a MUST!</LI>
488 <LI><B>MPlayer 0.50 "The Faszom(C)ounter"</B> Oct 8, 2001<BR>
489 Hmm. Release again. Tons of new features, beta GUI version, bugs fixed,
490 new vo and ao drivers, ported to many systems, including opensource DivX
491 codecs and much more. Try it!</LI>
492 <LI><B>MPlayer 0.60 "The RTFMCounter"</B> Jan 3, 2002<BR>
493 MOV/VIVO/RM/FLI/NUV fileformats support, native CRAM, Cinepak, ADPCM codecs,
494 and support for XAnim's binary codecs; DVD subtitles support, first
495 release of MEncoder, TV grabbing, cache, liba52, countless fixes.</LI>
496 <LI><B>MPlayer 0.90pre10 "The BirthdayCounter"</B> Nov 11, 2002<BR>
497 Although this is not a release, I am going to mention it because it
498 came out 2 years after MPlayer v0.01. Happy birthday, MPlayer!</LI>
499 <LI><B>MPlayer 0.90rc1 "The CodecCounter"</B> Dec 7, 2002<BR>
500 Again not a release, but after adding Sorenson 3 (QuickTime) and Windows
501 Media 9 support, MPlayer is the world's first movie player with support
502 for all known video formats!</LI>
503 <LI><B>MPlayer 0.90 "?"</B> Date yet unknown</LI>
504 </UL>
505
506
507 <H2><A NAME="installation">1.2 Installation</A></H2>
508
509 <P>In this chapter I'll try to guide you through the compiling and
510 configuring process of MPlayer. It's not easy, but it won't necessarily
511 be hard. If you experience a different behavior than what I explain, please
512 search through this documentation and you'll find your answers. If you
513 see links, please follow them and read carefully what they contain. It
514 will take some time, but it DOES worth it.</P>
515
516 <P>You need a fairly recent system. On Linux, 2.4.x kernels are recommended.</P>
517
518 <H4>Software requirements:</H4>
519
520 <UL>
521 <LI><B>binutils</B> - suggested version is <B>2.11.x</B> . This program is
522 responsible for generating MMX/3DNow!/etc instructions, thus very important.</LI>
523 <LI><B>gcc</B> - suggested versions are: <B>2.95.3</B> (maybe <B>2.95.4</B>) and <B>3.2+</B>.
524 <B>NEVER</B> use 2.96 or 3.0.x! They generate faulty code for MPlayer.
525 If you decide to change gcc from 2.96, then don't decide in favor of 3.0.x
526 just because it's newer! Early releases of 3.0.x were even more buggy than
527 2.96. So downgrade to 2.95.x (downgrade libstdc++ too, other programs may
528 need it) or don't up/downgrade at all (but in this case, be prepared for
529 runtime problems). If you vote for 3.x.x, try to use the latest version,
530 early releases had various bugs, so be sure you use at least 3.1, it's
531 tested and working. For detailed information about gcc 2.96's bugs (that are
532 still NOT fixed, they have been WORKED AROUND in MPlayer!), see the
533 <A HREF="users_against_developers.html#gcc">gcc 2.96</A> section and the
534 <A HREF="faq.html">FAQ</A>.</LI>
535 <LI><B>XFree86</B> - suggested version is <B>always the newest (4.2.1)</B>.
536 Normally, everyone wants this, as starting with XFree86 4.0.2, it contains
537 the <A HREF="video.html#xv">XVideo</A> extension (somewhere referred to
538 as <B>Xv</B>) which is needed to enable the hardware YUV acceleration (fast
539 image display) on cards that support it.<BR>
540 Make sure its <B>development package</B> is installed, too, otherwise
541 it won't work.<BR>
542 For some video cards you don't need XFree86. See list below.</LI>
543 <LI><B>make</B> - suggested version is <B>always the newest</B> (at least 3.79.x). This
544 usually isn't important.</LI>
545 <LI><B>SDL</B> - it's not mandatory, but can help in some cases (bad audio,
546 video cards that lag strangely with the xv driver). Always use the newest
547 (beginning from 1.2.x).</LI>
548 <LI><B>libjpeg</B> - optional JPEG decoder, used by -mf and some QT MOV files.
549 Useful for both MPlayer and MEncoder if you plan to work with jpeg files.</LI>
550 <LI><B>libpng</B> - recommended and default (M)PNG decoder. Required for GUI.
551 Useful for both MPlayer and MEncoder.</LI>
552 <LI><B>lame</B> - recommended, needed for encoding MP3 audio with MEncoder,
553 suggested version is <B>always the newest</B> (at least 3.90).</LI>
554 <LI><B>libogg</B> - optional, needed for playing OGG file format.</LI>
555 <LI><B>libvorbis</B> - optional, needed for playing OGG Vorbis audio.</LI>
556 <LI><B><A HREF="http://www.live.com/mplayer/">LIVE.COM Streaming Media</A></B>
557 - optional, needed for playing RTSP/RTP streams.</LI>
558 <LI><B>directfb</B> - optional, from
559 <A HREF="http://www.directfb.org">http://www.directfb.org</A></LI>
560 <LI><B>cdparanoia</B> - optional, for CDDA support</LI>
561 <LI><B>libfreetype</B> - optional, for TTF fonts support. At least 2.0.9 is
562 required.</LI>
563 <LI><B>libxmms</B> - optional, for XMMS input plugin support. At least 1.2.7 is
564 required.</LI>
565 </UL>
566
567 <H4>Codecs:</H4>
568
569 <UL>
570 <LI><B>libavcodec</B>: This codec package is capable of decoding
571 H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1 encoded video streams and
572 WMA (Windows Media Audio) v1/v2 audio streams, on
573 multiple platforms. It is also known to be the fastest for this task.
574 See the <A HREF="codecs.html#libavcodec">libavcodec</A> section for details.
575 Features:<BR>
576 <UL>
577 <LI>gain decoding of videos mentioned above, on non-x86 machines</LI>
578 <LI>encoding with most of the mentioned codecs</LI>
579 <LI>this codec is the <B>fastest codec available</B> for DivX/3/4/5 and
580 other MPEG4 types. Recommended!</LI>
581 </UL>
582 </LI>
583 <LI><B>Win32 codecs</B>: If you plan to use MPlayer on x86 architecture, you
584 will possibly need them. Download the Win32 codecs from our
585 <A HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">codecs page</A>
586 and install them to <CODE>/usr/lib/win32</CODE> <B>BEFORE</B> compiling
587 MPlayer, otherwise no Win32 support will be compiled!<BR>
588 <B>Note:</B> the avifile project has a similar codecs package, but it differs
589 from ours. If you want to use all supported codecs, then install our package
590 (do not worry, avifile works with it without problems). Features:<BR>
591 <UL>
592 <LI>you need this if you want to play or encode for example movies recorded
593 with various hardware compressors, like tuner cards, digital cameras
594 (example: DV, ATI VCR, MJPEG)</LI>
595 <LI>needed if you want to play <B>WMV8, WMV9/WMA9 movies</B>.</LI>
596 <LI>Not needed for old
597 ASF's with MP41 or MP42 video (though VoxWare audio is frequent for these
598 files - it's done by the Win32 codec), or WMV7. Also not needed
599 for WMA (Windows Media Audio), libavcodec has opensource decoder
600 for that.</LI>
601 </UL>
602 </LI>
603 <LI><B>QuickTime codecs</B>: on x86 platforms these codecs can be used
604 to decode Sorenson v1/v3, RPZA, and other QuickTime video, and
605 QDesign audio streams. Installation instructions can be found in the
606 <A HREF="codecs.html#sorenson">Sorenson video codec</A> section.</LI>
607 <LI><B>DivX4/DivX5</B>: information about this codec is available in the
608 <A HREF="codecs.html#divx">DivX4/DivX5</A> section. You possibly don't want
609 this codec as <B>libavcodec</B> (see above) is much faster and has better
610 quality than this, for both decoding and encoding.<BR>
611 Features:
612 <UL>
613 <LI>1 pass or 2 pass encoding with
614 <A HREF="encoding.html">MEncoder</A></LI>
615 <LI>can play old <B>DivX3</B> movies much faster than the Win32 DLL but
616 slower than <B>libavcodec</B>!</LI>
617 <LI>it's closed-source, and only an x86 version is available.</LI>
618 </UL>
619 </LI>
620 <LI><B>XviD</B>: Open source encoding alternative to Divx4Linux<BR>
621 Features:
622 <UL>
623 <LI>1 pass or 2 pass encoding with
624 <A HREF="encoding.html">MEncoder</A></LI>
625 <LI>it's open-source, so it's multiplatform.</LI>
626 <LI>it's about 2 times faster than DivX4 when encoding - about the same
627 quality</LI>
628 </UL>
629 </LI>
630 <LI>The <A HREF="codecs.html#xanim">XAnim codecs</A> are the best (full
631 screen, hardware YUV zoom) for decoding <B>3ivx</B> and Indeo 3/4/5 movies,
632 and some old formats. And they are multiplatform, so this is the only way to
633 play Indeo on non-x86 platforms (well, apart from using XAnim:). But for
634 example Cinepak movies are best played with MPlayer's own Cinepak
635 decoder!</LI>
636 <LI>For <B>Ogg Vorbis</B> audio decoding you need to install
637 <CODE>libvorbis</CODE> properly. Use deb/rpm packages if available, or
638 compile from
639 <A HREF="http://ogg.org/ogg/vorbis/download/vorbis_nightly_cvs.tgz">source</A>
640 (this is a nightly updated tarball of Vorbis CVS).</LI>
641 <LI>MPlayer can use the libraries of RealPlayer 8 or RealONE to play
642 files with <B>RealVideo 2.0 - 4.0</B> video, and Sipro/Cook audio. See
643 <A HREF="formats.html#real">RealMedia file format</A> section for
644 installation instructions and more information.</LI>
645 </UL>
646
647 <H4>Video Cards</H4>
648
649 <P>There are generally two kind of video cards. One kind (the newer cards) has
650 <B>hardware scaling and YUV acceleration</B> support, the other cards don't.</P>
651
652 <H4>YUV cards</H4>
653
654 <P>They can display and scale (zoom) the picture to any size that fits in
655 their memory, with <B>small CPU usage</B> (even when zooming), thus
656 fullscreen playing is nice and very fast.</P>
657
658 <UL>
659 <LI><B>Matrox G200/G400/G450/G550 cards</B>: although a
660 <A HREF="video.html#vidix">Vidix driver</A> is provided, it is recommended
661 to use the mga_vid kernel module instead, for it works much better.
662 Please see the <A HREF="video.html#mga_vid">mga_vid</A> section about its
663 installation and usage. It is important to do these steps <I>before</I>
664 compiling MPlayer, otherwise no mga_vid support will be built. Also
665 check out the <A HREF="video.html#tv-out_matrox">Matrox TV-out</A> section.
666 <U><B>If you don't use Linux</B></U>, your only possibility is the VIDIX
667 driver: read the <A HREF="video.html#vidix">VIDIX</A> section.</LI>
668 <LI><B>3Dfx Voodoo3/Banshee cards</B>: please see the
669 <A HREF="video.html#tdfxfb">tdfxfb</A> section in order to gain big
670 speedup. It is important to do these steps <B>before</B> compiling
671 MPlayer, otherwise no 3Dfx support will be built. Also see the <A
672 HREF="video.html#tv-out_voodoo">3dfx TV-out section</A>. If you use X, use
673 <B>at least 4.2.0</B>, as the 3dfx Xv driver was broken in 4.1.0 and earlier
674 releases.</LI>
675 <LI><B>ATI cards</B>: <A HREF="video.html#vidix">Vidix driver</A> is
676 provided for the following cards:
677 <B>Radeon</B>, <B>Rage128</B>, <B>Mach64</B> (Rage XL/Mobility, Xpert98).
678 Also see the <A HREF="video.html#tv-out_ati">ATI cards
679 section</A> of the TV-out documentation, to know if you card's TV-out is
680 supported under Linux/MPlayer.</LI>
681 <LI><B>S3 cards</B>: the Savage and Virge/DX chips have hardware acceleration.
682 Use as new XFree86 version as possible, older drivers are buggy. Savage chips
683 have problems with YV12 display, see <A HREF="video.html#xv_s3">S3 Xv
684 section</A> for details. Older, Trio cards have no, or slow hardware
685 support.</LI>
686 <LI><B>nVidia cards</B>: may or may not be good choice for video playing.
687 If you do not have a GeForce2 (or newer) card, it's not likely to work
688 without bugs.
689 <B>The built-in nVidia driver in XFree86 does not support hardware YUV
690 acceleration on all nVidia cards.</B> You have to download nVidia's
691 closed-source drivers from nVidia.com. See the
692 <A HREF="video.html#xv_nvidia">nVidia Xv driver</A> section for
693 details. Please also check the <A HREF="video.html#tv-out_nvidia">nVidia
694 TV-out section</A> if you wish to use a TV.</LI>
695 <LI><B>3DLabs GLINT R3 and Permedia3</B>: a VIDIX driver is provided
696 (pm3_vid). Please see the <A HREF="video.html#vidix">VIDIX</A> section for
697 details.</LI>
698 <LI><B>Other cards</B>: None of the above?
699 <UL>
700 <LI>Try if the XFree86 driver (and your card) supports hardware
701 acceleration. See the <A HREF="video.html#xv">Xv section</A> for
702 details.</LI>
703 <LI>If it doesn't, then your card's video features aren't supported under
704 your operating system :(<BR>
705 If hardware scaling works under Windows, it doesn't mean it will work
706 under Linux or other operating systems: it depends on the drivers. Most
707 manufacturers neither make Linux drivers nor release specifications
708 for their chips, so you are unlucky using their cards.
709 See 'Non-YUV cards'.</LI>
710 </UL>
711 </LI>
712 </UL>
713
714 <H4>Non-YUV cards</H4>
715
716 <P>Fullscreen playing can be achieved by either enabling <B>software scaling</B>
717 (use the <CODE>-zoom</CODE> or <CODE>-vop scale</CODE>
718 option, but I warn you: this is slow), or switching to a small resolution
719 video mode, for example 352x288. If you don't have YUV acceleration, the
720 latter method is recommended. Video mode switching can be enabled by
721 using the <CODE>-vm</CODE> option and it works with the following drivers:</P>
722
723 <UL>
724 <LI><B>using</B> XFree86: see the
725 <A HREF="video.html#dga">DGA driver</A> and
726 <A HREF="video.html#x11">X11 driver</A> sections for details. DGA is
727 recommended! Also try DGA via SDL, sometimes it's better.</LI>
728 <LI><B>not using</B> XFree86: try the drivers in the following order:
729 <A HREF="video.html#vesa">vesa</A>,
730 <A HREF="video.html#fbdev">fbdev</A>,
731 <A HREF="video.html#svgalib">svgalib</A>,
732 <A HREF="video.html#aalib">aalib</A>.</LI>
733 </UL>
734
735 <H4>Some cards:</H4>
736
737 <UL>
738 <LI><B>Cirrus Logic cards</B>:
739 <UL>
740 <LI>GD 7548: present on-board and tested in Compaq Armada 41xx notebook
741 series.
742 <UL>
743 <LI>XFree86 3: works in 8/16bpp modes. However, the driver is
744 dramatically slow and buggy in 800x600@16bpp.
745 <B>Recommended: 640x480@16bpp</B></LI>
746 <LI>XFree86 4: the Xserver freezes soon after start unless
747 acceleration is disabled, but then the whole thing gets
748 slower than XFree86 3. No XVideo.</LI>
749 <LI>FBdev: framebuffer can be turned on with the <CODE>clgenfb</CODE>
750 driver in the kernel, though for me it worked only in 8bpp, thus
751 unusable. The clgenfb source had to be extended with the 7548 ID
752 before compilation.</LI>
753 <LI>VESA: the card is only VBE 1.2 capable, so VESA output can't be
754 used. Can't be workarounded with UniVBE.</LI>
755 <LI>SVGAlib: detects an older Cirrus chip. Usable but slow with
756 <CODE>-bpp 8</CODE>.</LI>
757 </UL>
758 </LI>
759 </UL>
760 </LI>
761 </UL>
762
763
764 <H4>Sound cards:</H4>
765
766 <UL>
767 <LI><B>Soundblaster Live!</B>: with this card you can use 4 or 6 (<B>5.1</B>)
768 channels AC3 decoding instead of 2. Read the
769 <A HREF="codecs.html#software_ac3">Software AC3 decoding</A> section.
770 For hardware AC3 passthrough you <B>must</B> use ALSA 0.9 with OSS emulation!</LI>
771 <LI><B>C-Media with SP/DIF out</B>: hardware AC3 passthrough is possible
772 with these cards, see
773 <A HREF="codecs.html#hardware_ac3">Hardware AC3 decoding</A> section.</LI>
774 <LI>Features of <B>other cards</B> aren't supported by MPlayer.
775 <U>It's very recommended to read the <A HREF="sound.html">sound card
776 section</A>!</U></LI>
777 </UL>
778
779 <H4>Features:</H4>
780
781 <UL>
782 <LI>Decide if you need GUI. If you do, see the <A HREF="#gui">GUI section</A>
783 before compiling.</LI>
784 <LI>If you want to install MEncoder (our great all-purpose encoder),
785 see the <A HREF="encoding.html">MEncoder section</A>.</LI>
786 <LI>If you have a V4L compatible <B>TV tuner</B> card, and wish to watch/grab
787 and encode movies with MPlayer, read the <A HREF="#tv">TV input</A>
788 section.</LI>
789 <LI>There is a neat <B>OSD Menu</B> support ready to be used. Check the
790 <A HREF="#menu">OSD Menu</A> section.</LI>
791 </UL>
792
793 <P>Then build MPlayer:</P>
794
795 <PRE>
796 ./configure
797 make
798 make install
799 </PRE>
800
801 <P>At this point, MPlayer is ready to use. The directory
802 <CODE>$PREFIX/etc/mplayer</CODE> contains the <CODE>codecs.conf</CODE>
803 file, which is used to tell the program all the codecs and their
804 capabilities. This file should always be kept up to date together with the
805 main binary.<BR>
806 Check if you have <CODE>codecs.conf</CODE> in your home directory
807 (<CODE>~/.mplayer/codecs.conf</CODE>) left from old MPlayer versions, and remove it.</P>
808
809 <P><B>Debian users</B> can build a <CODE>.deb</CODE> package for themselves,
810 it's very simple. Just exec <CODE>fakeroot debian/rules binary</CODE> in
811 MPlayer's root directory. See
812 <A HREF="documentation.html#debian">Debian packaging</A> for detailed
813 instructions.</P>
814
815 <P><B>Always browse the output of <CODE>./configure</CODE></B>, and the
816 <CODE>configure.log</CODE> file, they contain information about what will be
817 built, and what will not. You may also want to view <CODE>config.h</CODE> and
818 <CODE>config.mak</CODE> files.<BR>
819 If you have some libraries installed, but not detected by
820 <CODE>./configure</CODE>, then check if you also have the proper header files
821 (usually the -dev packages) and their version matches. The
822 <CODE>configure.log</CODE> file usually tells you what is missing.</P>
823
824 <P>Though not mandatory, the fonts should be installed in order to gain OSD,
825 and subtitle functionality. The recommended method is installing a TTF
826 font file and telling MPlayer to use it. See the
827 <A HREF="#install_osd">Subtitles and OSD</A> section for details.</P>
828
829
830
831 <H2><A NAME="gui">1.3 What about the GUI?</A></H2>
832
833 <P>The GUI needs GTK 1.2.x (it isn't fully GTK, but the panels are). The skins
834 are stored in PNG format, so gtk, libpng (and their devel stuff, usually
835 called gtk-dev and libpng-dev) has to be installed.
836 You can build it by specifying <CODE>--enable-gui</CODE> during
837 <CODE>./configure</CODE>. Then, to turn on GUI mode, you either</P>
838 <UL>
839 <LI>specify <CODE>gui=yes</CODE> in your config file</LI>
840 <LI><CODE>ln -s $PREFIX/bin/mplayer $PREFIX/bin/gmplayer</CODE> ,
841 and call <CODE>gmplayer</CODE> instead.</LI>
842 </UL>
843
844 <P>Currently you can't use the <CODE>-gui</CODE> option on the command line,
845 due to technical reasons.</P>
846
847 <P>As MPlayer doesn't have a skin included, you have to download them if
848 you want to use the GUI. See the
849 <A HREF="http://www.mplayerhq.hu/homepage/dload.html">download page</A>.
850 They should be extracted to the usual system-wide directory
851 (<CODE>$PREFIX/share/mplayer/Skin</CODE>), or to
852 <CODE>$HOME/.mplayer/Skin</CODE>. MPlayer by default looks in these
853 directories for a directory named <I>default</I>, but you can use the
854 <CODE>-skin newskin</CODE> option, or the <CODE>skin=newskin</CODE> config
855 file directive to use the skin in <CODE>*/Skin/newskin</CODE> directory.</P>
856
857
858 <H2><A NAME="subtitles_osd">1.4 Subtitles and OSD</A></H2>
859
860 <P>
861 MPlayer can display subtitles along with movie files. Currently the following
862 formats are supported:</P>
863 <UL>
864 <LI>VobSub</LI>
865 <LI>OGM</LI>
866 <LI>CC (closed caption)</LI>
867 <LI>Microdvd</LI>
868 <LI>SubRip</LI>
869 <LI>SubViewer</LI>
870 <LI>Sami</LI>
871 <LI>VPlayer</LI>
872 <LI>RT</LI>
873 <LI>SSA</LI>
874 <LI>MPsub</LI>
875 <LI>AQTitle</LI>
876 <LI>JACOsub</LI>
877 </UL>
878
879 <P>MPlayer can dump the previously listed subtitle formats (<B>except
880 the three first</B>) into the following destination formats, with the given
881 options:</P>
882
883 <UL>
884 <LI>MPsub: <CODE>-dumpmpsub</CODE></LI>
885 <LI>SubRip: <CODE>-dumpsrtsub</CODE></LI>
886 <LI>Microdvd: <CODE>-dumpmicrodvdsub</CODE></LI>
887 <LI>JACOsub: <CODE>-dumpjacosub</CODE></LI>
888 <LI>Sami: <CODE>-dumpsami</CODE></LI>
889 </UL>
890
891 <P>The command line options differ slightly for the different formats:</P>
892
893 <H4>VobSub subtitles</H4>
894
895 <P>VobSub subtitles consist of a big (some megabytes) .SUB file, and optional
896 .IDX and/or .IFO files.<BR>
897 Usage: If you have files like <CODE>sample.sub</CODE>,
898 <CODE>sample.ifo</CODE> (optional), <CODE>sample.idx</CODE> - you have to pass
899 MPlayer the <CODE>-vobsub sample [-vobsubid &lt;id&gt;]</CODE> options (full
900 path optional). The <CODE>-vobsubid</CODE> option is like <CODE>-sid</CODE>
901 for DVDs, you can choose between subtitle tracks (languages) with it. In case
902 that <CODE>-vobsubid</CODE> is omitted, MPlayer will try to use the languages
903 given by the <CODE>-slang</CODE> option and fall back to the
904 <CODE>langidx</CODE> item in the .IDX file to set the subtitle language. If
905 that fails, there will be no subtitles.</P>
906
907 <H4>Other subtitles</H4>
908
909 <P>The other formats consist of a single text file containing timing,
910 placement and text information.<BR>
911 Usage: If you have a file like <CODE>sample.txt</CODE>, you have to pass the
912 option <CODE>-sub sample.txt</CODE> (full path optional).</P>
913
914 <H4>Adjusting subtitle timing and placement:</H4>
915
916 <DL>
917 <DT><CODE>-subdelay &lt;sec&gt;</CODE></DT>
918 <DD>Delays subtitles by &lt;sec&gt; seconds. Can be negative.</DD>
919
920 <DT><CODE>-subfps &lt;rate&gt;</CODE></DT>
921 <DD>Specify frame/sec rate of subtitle file (float number)</DD>
922
923 <DT><CODE>-subpos &lt;0 - 100&gt;</CODE></DT>
924 <DD>Specify the position of subtitles.</DD>
925 </DL>
926
927 <P>If you experience a growing delay between the movie and the subtitles when
928 using a MicroDVD subtitle file, most likely the frame rate of the movie and
929 the subtitle file are different.<BR> Please note that the MicroDVD subtitle
930 format uses absolute frame numbers for its timing, and therefore the
931 <CODE>-subfps</CODE> option cannot be used with this format. As
932 MPlayer has no way to guess the frame rate of the subtitle file, you
933 have to manually convert the frame rate. There is a little perl script in the
934 <CODE>contrib</CODE> directory of the MPlayer FTP site to do this conversion
935 for you.</P>
936
937 <P>MPlayer will try to guess the subtitle files you want to use when playing a
938 movie. If, like in most cases, subtitle and movie files have the same name and
939 are in the same place, you do not need to set the subtitle options. Just play
940 the movie, MPlayer will handle the subtitles automatically.</P>
941
942 <P>About DVD subtitles, read the <A HREF="cd-dvd.html#dvd">DVD section</A>.</P>
943
944
945 <H3><A NAME="mpsub">1.4.1 MPlayer's own subtitle format (MPsub)</A></H3>
946
947 <P>MPlayer introduces a new subtitle format called <B>MPsub</B>. It was
948 designed by Gabucino. Basically its main feature is being
949 <I>dynamically</I> time-based (although it has frame-based mode too). Example
950 (from
951 <A HREF="tech/mpsub.sub">DOCS/tech/mpsub.sub</A>):</P>
952
953 <P><CODE><I># first number : wait this much after previous subtitle disappeared<BR>
954 # second number : display the current subtitle for this many seconds<BR>
955 <BR>
956 15 3<BR>
957 A long long, time ago...<BR>
958 <BR>
959 0 3<BR>
960 in a galaxy far away...<BR>
961 <BR>
962 0 3<BR>
963 Naboo was under an attack.<BR></I></CODE></P>
964
965 <P>So you see, the main goal was to <B>make subtitle
966 editing/timing/joining/cutting easy</B>. And, if you - say - get an SSA
967 subtitle but it's badly timed/delayed to your version of the movie, you
968 simply do a <CODE>mplayer dummy.avi -sub source.ssa -dumpmpsub</CODE>.
969 A <CODE>dump.mpsub</CODE> file will be created in the current directory,
970 which will contain the source subtitle's text, but in <B>MPsub</B> format.
971 Then you can freely add/subtract seconds to/from the subtitle.</P>
972
973 <P>Subtitles are displayed with a technique called <B>'OSD', On Screen
974 Display</B>. OSD is used to display current time, volume bar, seek bar
975 etc.</P>
976
977 <H3><A NAME="install_osd">1.4.2 Installing OSD and subtitles</A></H3>
978
979 <P>You need an MPlayer font package to be able to use OSD/SUB feature.
980 There are many ways to get it:</P>
981
982 <UL>
983 <LI>download ready-to-use font packages from MPlayer site.
984 Note: Currently available fonts are limited for iso 8859-1/2 support,
985 but there are some other (including Korean, Russian, 8859-8 etc) fonts
986 at contrib/font section of FTP, made by users.<BR>
987 <BR>
988 Font should have appropriate font.desc file which maps unicode font
989 positions to the actual code page of the subtitles text. Other solution is
990 to have subtitles encoded in utf8 encoding and use <CODE>-utf8</CODE>
991 option or just name the subtitles file &lt;video_name&gt;.utf and have it
992 in the same dir as the video file. Recoding from different codepages to
993 utf8 could be done by using konwert (Debian) or iconv (Red Hat)
994 programs.<BR>
995 Some URLs:
996 <UL>
997 <LI><A HREF="ftp://ftp.mplayerhq.hu/MPlayer/releases/fonts/">ftp://ftp.mplayerhq.hu/MPlayer/releases/fonts/</A> - ISO fonts</LI>
998 <LI><A HREF="ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/">ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/</A> - various fonts by users</LI>
999 <LI><A HREF="http://realtime.ssu.ac.kr/~lethean/mplayer/">http://realtime.ssu.ac.kr/~lethean/mplayer/</A> - Korean fonts &amp; RAW plugin</LI>
1000 </UL>
1001 </LI>
1002 <LI>use the font generator tool at TOOLS/subfont-c
1003 It's a complete tool to convert from TTF/Type1/etc font to mplayer font pkg.
1004 (read TOOLS/subfont-c/README for details)</LI>
1005 <LI>use the font generator GIMP plugin at TOOLS/subfont-GIMP
1006 (note: you must have HSI RAW plugin too, see URL below)</LI>
1007 <LI>using a TrueType (TTF) font, by the means of the <B>freetype</B>
1008 library. Version 2.0.9 or greater is mandatory! Then you
1009 have two methods:
1010 <UL>
1011 <LI>use the <CODE>-font /path/to/arial.ttf</CODE> option to specify
1012 a TrueType font file on every occassion</LI>
1013 <LI>create a symlink: <CODE>ln -s /path/to/arial.ttf ~/.mplayer/subfont.ttf</CODE></LI>
1014 </UL>
1015 </LI>
1016 </UL>
1017
1018 <P>If you chose non-TTF fonts, UNZIP the file you downloaded to <CODE>~/.mplayer</CODE> or
1019 <CODE>$PREFIX/share/mplayer</CODE>. Then rename or symlink one of the extracted directories to
1020 <CODE>font</CODE> (like: <CODE>ln -s ~/.mplayer/arial-24
1021 ~/.mplayer/font</CODE>). Now you have to see a timer at the upper left corner
1022 of the movie (switch it off with the "o" key).</P>
1023
1024
1025 <P>OSD has 4 states: (switch with 'o')</P>
1026
1027 <P>(subtitles are <I>always enabled</I>, for disabling them please read the man
1028 page)</P>
1029
1030 <UL>
1031 <LI>volume bar + seek bar (default)</LI>
1032 <LI>volume bar + seek bar + timer + file position percentage on seeking</LI>
1033 <LI>volume bar + seek bar + timer + total duration of media</LI>
1034 <LI>subtitles only</LI>
1035 </UL>
1036
1037 <P>You can change default behaviour by setting <CODE>osdlevel=</CODE> variable
1038 in config file, or the <CODE>-osdlevel</CODE> command line option.</P>
1039
1040
1041 <H3><A NAME="menu">1.4.3 OSD menu</A></H3>
1042
1043 <P>MPlayer has a completely user definiable OSD Menu interface.</P>
1044
1045 <P><B>NOTE:</B> the Preferences menu is currently UNIMPLEMENTED!</P>
1046
1047 <H4>Installation</H4>
1048
1049 <OL>
1050 <LI>compile MPlayer by passing the <CODE>--enable-menu</CODE> parameters to
1051 <CODE>./configure</CODE></LI>
1052 <LI>make sure you have an OSD font installed</LI>
1053 <LI>copy <CODE>etc/menu.conf</CODE> to your <CODE>.mplayer</CODE>
1054 directory</LI>
1055 <LI>copy <CODE>etc/input.conf</CODE> to your <CODE>.mplayer</CODE>
1056 directory, or to the system-wide MPlayer config dir (default:
1057 <CODE>/usr/local/etc/mplayer</CODE>)</LI>
1058 <LI>check and edit <CODE>input.conf</CODE> to enable menu movement
1059 keys (it is described there).</LI>
1060 <LI>start MPlayer by the following example:<BR>
1061 <CODE>$ mplayer -menu file.avi</CODE></LI>
1062 <LI>push any menu key you defined</LI>
1063 </OL>
1064
1065
1066 <H2><A NAME="rtc">1.5 RTC</A></H2>
1067
1068 There are three timing methods in MPlayer.
1069
1070 <UL>
1071 <LI><B>To use the old method</B>, you don't have to do anything. It uses
1072 <CODE>usleep()</CODE> to tune A/V sync, with +/- 10ms accuracy. However
1073 sometimes the sync has to be tuned even finer.</LI>
1074 <LI><B>The new timer</B> code uses PC's RTC (Real Time Clock) for this task,
1075 because it has precise 1ms timers. It is automagically enabled when
1076 available, but requires root privileges, a <I>setuid root</I>
1077 MPlayer binary or a properly set up kernel.
1078 <BR>
1079 If you are running kernel 2.4.19pre8 or later you can adjust the maximum
1080 RTC frequency for normal users through the <CODE>/proc</CODE> filesystem.
1081 Use this command to enable RTC for normal users:
1082 <P>
1083 <CODE>echo 1024 &gt; /proc/sys/dev/rtc/max-user-freq</CODE>
1084 </P>
1085 If you do not have such a new kernel, you can also change one line in
1086 <CODE>drivers/char/rtc.c</CODE> and recompile your kernel. Find the
1087 section that reads
1088 <PRE>
1089 * We don't really want Joe User enabling more
1090 * than 64Hz of interrupts on a multi-user machine.
1091 */
1092 if ((rtc_freq &gt; 64) &amp;&amp; (!capable(CAP_SYS_RESOURCE)))
1093 </PRE>
1094 and change the 64 to 1024. You should really know what you are doing, though.
1095 <BR>
1096 You can see the new timer's efficiency in the status line.
1097 <BR>
1098 The power management functions of some notebook BIOSes with speedstep CPUs
1099 interact badly with RTC. Audio and video may get out of sync. Plugging the
1100 external power connector in before you power up your notebook seems to help.
1101 You can always turn off RTC support with the <CODE>-nortc</CODE> option.
1102 In some hardware combinations (confirmed during usage of non-DMA DVD
1103 drive on an ALi1541 board) usage of the RTC timer causes skippy playback.
1104 It's recommended to use the third method in these cases.</LI>
1105 <LI><B>The third timer code</B> is turned on with the <CODE>-softsleep</CODE>
1106 option. It has the efficiency of the RTC, but it doesn't use RTC. On the other
1107 hand, it requires more CPU.</LI>
1108 </UL>
1109
1110 <B>Note:</B> <B>NEVER install a setuid root MPlayer binary on a multiuser system!</B>
1111 It's a clear way for everyone to become root.
1112
1113
1114
1115 <H1><A NAME="features">2. Features</A></H1>
1116
1117
1118 <H2><A NAME="formats">2.1</A> <A HREF="formats.html">Supported formats</A></H2>
1119
1120
1121 <H2><A NAME="codecs">2.2</A> <A HREF="codecs.html">Supported codecs</A></H2>
1122
1123
1124 <H2><A NAME="output">2.3</A> <A HREF="video.html">Video</A> &amp; <A HREF="sound.html">Audio</A> output devices</H2>
1125
1126
1127 <H2><A NAME="tv"><B>2.4 TV input</B></A></H2>
1128
1129 <P>This section is about how to enable <B>watching/grabbing from V4L compatible
1130 TV tuner</B>. See the man page for a description of TV options and keyboard
1131 controls.</P>
1132
1133 <H3><A NAME="tv_compilation">2.4.1 Compilation</A></H3>
1134
1135 <OL>
1136 <LI>First, you have to recompile. <CODE>./configure</CODE> will autodetect
1137 kernel headers of v4l stuff and the existence of <CODE>/dev/video*</CODE>
1138 entries. If they exist, TV support will be built (see the output of
1139 <CODE>./configure</CODE>).</LI>
1140 <LI>Make sure your tuner works with another TV software in Linux, for example
1141 xawtv.</LI>
1142 </OL>
1143
1144 <H3><A NAME="tv_tips">2.4.2 Usage tips</A></H3>
1145
1146 The full listing of the options is available on the manual page. Here
1147 are just a few tips:
1148
1149 <UL>
1150 <LI>Use the <CODE>channels</CODE> option. An example:<BR>
1151 <CODE>-tv on:channels=26-MTV1,23-TV2</CODE><BR>
1152 Explanation: using this option, only the 26 and 23 channels will be usable,
1153 and there will be a nice OSD text upon channel switching, displaying the
1154 channel's name. Spaces in the channel name must be replaced by the "_"
1155 character.</LI>
1156 <LI>Choose some sane image dimensions. The dimensions of the resulting image
1157 should be divisible by 16.</LI>
1158 <LI>If you capture the video with the vertical resolution higher than half of
1159 the full resolution (i.e. 288 for PAL or 240 for NTSC), make sure you
1160 turned deinterlacing on. Otherwise you'll get a movie which is distorted
1161 during fast-motion scenes and the bitrate controller will be probably even
1162 unable to retain the specified bitrate as the interlacing artifacts produce
1163 high amount of detail and thus consume lot of bandwidth. You can enable
1164 deinterlacing with <CODE>-vop pp=DEINT_TYPE</CODE>. Usually
1165 <CODE>pp=lb</CODE> does a good job, but it can be matter of personal
1166 preference. See other deinterlacing algorithms in the manual and give it a
1167 try.</LI>
1168 <LI>Crop out the dead space. When you capture the video, the areas at the
1169 edges are usually black or contain some noise. These again consume lots of
1170 unnecessary bandwidth. More precisely it's not the black areas themselves
1171 but the sharp transitions between the black and the brighter video image
1172 which do but that's not important for now. Before you start capturing,
1173 adjust the arguments of the <CODE>crop</CODE> option so that all the crap
1174 at the margins is cropped out. Again, don't forget to keep the resulting
1175 dimensions sane.</LI>
1176 <LI>Watch out for CPU load. It shouldn't cross the 90% boundary for most of
1177 the time. If you have a large capture buffer, MEncoder can survive an
1178 overload for few seconds but nothing more. It's better to turn off the 3D
1179 OpenGL screensavers and similar stuff.</LI>
1180 <LI>Don't mess with the system clock. MEncoder uses the system clock for
1181 doing A/V sync. If you adjust the system clock (especially backwards in
1182 time), MEncoder gets confused and you will lose frames. This is an
1183 important issue if you are hooked to a network and run some time
1184 synchronization software like NTP. You have to turn NTP off during the
1185 capture process if you want to capture reliably.</LI>
1186 <LI>Don't change the <CODE>outfmt</CODE> unless you know what you are doing
1187 or your card/driver really doesn't support the default (YV12 colorspace).
1188 In the older versions of MPlayer/MEncoder it was necessary to specify the
1189 output format. This issue should be fixed in the current releases and
1190 <CODE>outfmt</CODE> isn't required anymore, and the default suits the most
1191 purposes. For example, if you are capturing into DivX using libavcodec and
1192 specify <CODE>outfmt=RGB24</CODE> in order to increase the quality of the
1193 captured images, the captured image will be actually later converted back
1194 into YV12 so the only thing you achieve is a massive waste of CPU power.
1195 </LI>
1196 <LI>To specify the I420 colorspace (<CODE>outfmt=i420</CODE>), you have to
1197 add an option <CODE>-vc rawi420</CODE> due to a fourcc conflict with an
1198 Intel Indeo video codec.</LI>
1199 <LI>There are several ways of capturing audio. You can grab the sound either
1200 using your soundcard via an external cable connection between video card
1201 and line-in, or using the built-in ADC in the bt878 chip. In the latter
1202 case, you have to load the <b>btaudio</b> driver. Read the
1203 <CODE>linux/Documentation/sound/btaudio</CODE> file (in the kernel tree,
1204 not MPlayer's) for some instructions on using this driver.</LI>
1205 <LI>If MEncoder cannot open the audio device, make sure that it is really
1206 available. There can be some trouble with the sound servers like arts
1207 (KDE) or esd (GNOME). If you have a full duplex soundcard (almost any
1208 decent card supports it today), and you are using KDE, try to check the
1209 "full duplex" option in the sound server preference menu.</LI>
1210 </UL>
1211
1212 <H3><A NAME="tv_examples">2.4.3 Examples</A></H3>
1213
1214 <P>Dummy output, to AAlib :)<BR>
1215 <CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -tv on:driver=dummy:width=640:height=480 -vo aa</CODE><BR>
1216 <BR>
1217 Input from standard V4L<BR>
1218 <CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -tv
1219 on:driver=v4l:width=640:height=480 -vo xv</CODE><BR>
1220 <BR>
1221
1222 A more sophisticated example. This makes MEncoder capture the full
1223 PAL image, crop the margins, and deinterlace the picture using
1224 a linear blend algorithm. Audio is compressed with a constant
1225 bitrate of 64kbps, using LAME codec. This setup is suitable for
1226 capturing movies.<BR> <CODE> &nbsp;&nbsp;&nbsp;&nbsp;mencoder -tv
1227 on:driver=v4l:width=768:height=576 \<BR>
1228 &nbsp;&nbsp;&nbsp;&nbsp;-ovc lavc -lavcopts
1229 vcodec=mpeg4:vbitrate=900 \<BR> &nbsp;&nbsp;&nbsp;&nbsp;-oac
1230 mp3lame -lameopts cbr:br=64 \<BR> &nbsp;&nbsp;&nbsp;&nbsp;-vop
1231 pp=lb,crop=720:544:24:16 -o output.avi </CODE><BR>
1232
1233 <BR>
1234 This will additionally rescale the image to 384x288 and compresses
1235 the video with the bitrate of 350kbps in high quality mode. The
1236 vqmax option looses the quantizer and allows the video compressor to
1237 actualy reach so low bitrate even at the expense of the
1238 quality. This can be used for capturing long TV series, where the
1239 video quality isn't so important.<BR>
1240 <CODE>
1241 &nbsp;&nbsp;&nbsp;&nbsp;mencoder -tv on:driver=v4l:width=768:height=576 \<BR>
1242 &nbsp;&nbsp;&nbsp;&nbsp;-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \<BR>
1243 &nbsp;&nbsp;&nbsp;&nbsp;-oac mp3lame -lameopts cbr:br=48 \<BR>
1244 &nbsp;&nbsp;&nbsp;&nbsp;-vop scale=384:288,pp=tn/lb,crop=720:540:24:18 -sws 1 -o output.avi
1245 </CODE><BR>
1246
1247 It's also possible to specify smaller image dimensions in the
1248 <CODE>-tv</CODE> option and omit the software scaling but this
1249 approach uses the maximum available information and is a little more
1250 resistant to noise. The bt8x8 chips can do the pixel averaging only
1251 in the horizontal direction due to a hardware limitation.</P>
1252
1253
1254 <H2><A NAME="edl">2.5 Edit Decision Lists (EDL)</A></H2>
1255
1256 <P>The edit decision list (EDL) system allows you to automatically skip or mute
1257 sections of videos during playback, based on a movie specific EDL
1258 configuration file.</P>
1259
1260 <P>This is useful for those who may want to watch a film in "family-friendly"
1261 mode. You can cut out any violence, profanity, Jar-Jar Binks .. from a movie
1262 according to your own personal preferences. Aside from this, there are other
1263 uses, like automatically skipping over commercials in video files you
1264 watch.</P>
1265
1266 <P>The EDL file format is pretty bare-bones. Once the EDL system has reached a
1267 certain level of maturity, an XML-based file format will probably be
1268 implemented (keeping backwards compatibility with previous EDL formats).</P>
1269
1270 <P>The maximum number of EDL entries for the current incarnation of EDL is 1000.
1271 If you happen to need more, change the <CODE>#define MAX_EDL_ENTRIES</CODE>
1272 in the <CODE>edl.h</CODE> file.</P>
1273
1274 <H3><A NAME="edl_using">2.5.1 Using an EDL file</A></H3>
1275
1276 <P>Include the <CODE>-edl &lt;filename&gt;</CODE> flag when you run MPlayer,
1277 with the name of the EDL file you want applied to the video.</P>
1278
1279 <H3><A NAME="edl_making">2.5.2 Making an EDL file</A></H3>
1280
1281 <P>The current EDL file format is:</P>
1282
1283 <CODE>[begin second] [end second] [action]</CODE>
1284
1285 <P>Where the seconds are floating-point numbers and the action is either
1286 <CODE>0</CODE> for skip or <CODE>1</CODE> for mute. Example:</P>
1287
1288 <PRE>
1289 5.3 7.1 0
1290 15 16.7 1
1291 420 422 0
1292 </PRE>
1293
1294 <P>This will skip from second 5.3 to second 7.1 of the video, then mute at
1295 15 seconds, unmute at 16.7 seconds and skip from second 420 to second
1296 422 of the video. These actions will be performed when the playback timer
1297 reaches the times given in the file.</P>
1298
1299 <P>To create an EDL file to work from, use the
1300 <CODE>-edlout &lt;filename&gt;</CODE> flag. During playback, when you want to
1301 mark the previous two seconds to skip over, hit <CODE>i</CODE>. A
1302 corresponding entry will be written to the file for that time. You can then go
1303 back and fine-tune the generated EDL file.</P>
1304
1305
1306
1307 <H1><A NAME="usage">3. Usage</A></H1>
1308
1309
1310 <H2><A NAME="command_line">3.1 Command line</A></H2>
1311
1312 <P>MPlayer utilizes a complex playtree. It consists of global options
1313 written as first (for example <CODE>mplayer -vfm 5</CODE>), and options
1314 written after filenames, that apply only to the given filename/URL/whatever
1315 (for example <CODE>mplayer -vfm 5 movie1.avi movie2.avi -vfm 4</CODE>).<BR>
1316 You can group filenames/URLs together using { and }. It's useful with
1317 option -loop: <CODE>mplayer { 1.avi -loop 2 2.avi } -loop 3</CODE>
1318 will play files in this order: 1 1 2 1 1 2 1 1 2<BR>
1319 </P>
1320
1321 <TABLE BORDER=0>
1322 <TR><TD>&nbsp;&nbsp;</TD><TD>file</TD><TD>&nbsp;&nbsp;</TD><TD><CODE>mplayer [options] [path/]filename</CODE></TD></TR>
1323 <TR><TD></TD><TD>files</TD><TD></TD><TD><CODE>mplayer [default options] [path/]filename1 [options for filename1] filename2 [options for filename2] ...</CODE></TD></TR>
1324 <TR><TD></TD><TD>VCD</TD><TD></TD><TD><CODE>mplayer [options] -vcd trackno [-cdrom-device /dev/cdrom]</CODE></TD></TR>
1325 <TR><TD></TD><TD>DVD</TD><TD></TD><TD><CODE>mplayer [options] -dvd titleno [-dvd-device /dev/dvd]</CODE></TD></TR>
1326 <TR><TD></TD><TD>WWW</TD><TD></TD><TD><CODE>mplayer [options] http://site.com/file.asf (playlists can be used, too)</CODE></TD></TR>
1327 <TR><TD></TD><TD>RTSP</TD><TD></TD><TD><CODE>mplayer [options] rtsp://server.example.com/streamName</CODE></TD></TR>
1328 </TABLE>
1329
1330 <P>
1331 Latest versions of MPlayer also accept VCD and DVD tracks in URL style, just like
1332 xine does: <CODE>mplayer dvd://1</CODE> or <CODE>mplayer vcd://1</CODE></P>
1333
1334 <PRE>
1335 mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
1336 mplayer -vcd 2
1337 mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
1338 mplayer -dvd 1 -dvd-device /dev/hdc
1339 mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi
1340 </PRE>
1341
1342
1343 <H2><A NAME="control">3.2 Control</A></H2>
1344
1345 <P>MPlayer has a fully configurable, command driven, control layer which
1346 lets you control MPlayer with keyboard, mouse, joystick or remote
1347 control (using LIRC). See the man page for the complete list of keyboard
1348 controls.</P>
1349
1350
1351 <H3><A NAME="controls_configuration">3.2.1 Controls configuration</A></H3>
1352
1353 <P>MPlayer allows you bind any key/button to any MPlayer command
1354 using a simple config file. The syntax consist of a key name followed by a
1355 command. The default config file location is
1356 <CODE>$HOME/.mplayer/input.conf</CODE> but it can be overridden using the
1357 <CODE>-input</CODE> conf option (relative path are relative to
1358 <CODE>$HOME/.mplayer</CODE>).
1359
1360 <P>Example:</P>
1361
1362 <PRE>
1363 ##
1364 ## MPlayer input control file
1365 ##
1366
1367 RIGHT seek +10
1368 LEFT seek -10
1369 - audio_delay 0.100
1370 + audio_delay -0.100
1371 q quit
1372 &gt; pt_step 1
1373 &lt; pt_step -1
1374 ENTER pt_step 1 1
1375 </PRE>
1376
1377
1378 <H4><A NAME="key_names">3.2.1.1 Key names</A></H4>
1379
1380 <P>You can have a full list by running <CODE>mplayer -input keylist</CODE></P>
1381
1382 <H4>Keyboard:</H4>
1383
1384 <UL>
1385 <LI>Any printable character</LI>
1386 <LI>SPACE</LI>
1387 <LI>ENTER</LI>
1388 <LI>TAB</LI>
1389 <LI>CTRL</LI>
1390 <LI>BS</LI>
1391 <LI>DEL</LI>
1392 <LI>INS</LI>
1393 <LI>HOME</LI>
1394 <LI>END</LI>
1395 <LI>PGUP</LI>
1396 <LI>PGDWN</LI>
1397 <LI>ESC</LI>
1398 <LI>RIGHT</LI>
1399 <LI>LEFT</LI>
1400 <LI>UP</LI>
1401 <LI>DOWN</LI>
1402 </UL>
1403
1404 <H4>Mouse (only supported under X):</H4>
1405
1406 <UL>
1407 <LI>MOUSE_BTN0 (Left button)</LI>
1408 <LI>MOUSE_BTN1 (Right button)</LI>
1409 <LI>MOUSE_BTN2 (Middle button)</LI>
1410 <LI>MOUSE_BTN3 (Wheel)</LI>
1411 <LI>MOUSE_BTN4 (Wheel)</LI>
1412 <LI>...</LI>
1413 <LI>MOUSE_BTN9</LI>
1414 </UL>
1415
1416 <H4>Joystick (support must be enabled at compile time):</H4>
1417
1418 <UL>
1419 <LI>JOY_RIGHT or JOY_AXIS0_PLUS</LI>
1420 <LI>JOY_LEFT or JOY_AXIS0_MINUS</LI>
1421 <LI>JOY_UP or JOY_AXIS1_MINUS</LI>
1422 <LI>JOY_DOWN or JOY_AXIS1_PLUS</LI>
1423 <LI>JOY_AXIS2_PLUS</LI>
1424 <LI>JOY_AXIS2_MINUS</LI>
1425 <LI>...</LI>
1426 <LI>JOY_AXIS9_PLUS</LI>
1427 <LI>JOY_AXIS9_MINUS</LI>
1428 </UL>
1429
1430
1431 <H4><A NAME="commands">3.2.1.2 Commands</A></H4>
1432
1433 <P>You can have a full list of known commands by running "mplayer -input cmdlist"</P>
1434
1435 <UL>
1436 <LI><B>seek</B> (int) val [(int) type=0]
1437 <P>Seek to some place in the movie.<BR>
1438 Type 0 is a relative seek of +/- val seconds.<BR>
1439 Type 1 seek to val % in the movie.</P></LI>
1440 <LI><B>audio_delay</B> (float) val
1441 <P>Adjust the audio delay of val seconds</P></LI>
1442 <LI><B>quit</B>
1443 <P>Quit MPlayer</P></LI>
1444 <LI><B>pause</B>
1445 <P>Pause/unpause the playback</P></LI>
1446 <LI><B>grap_frames</B>
1447 <P>Somebody know ?</P></LI>
1448 <LI><B>pt_step</B> (int) val [(int) force=0]
1449 <P>Go to next/previous entry in playtree. Val sign tell the direction.<BR>
1450 If no other entry is available in the given direction it won't do anything
1451 unless force is non 0.</P></LI>
1452 <LI><B>pt_up_step</B> (int) val [(int) force=0]
1453 <P>Like pt_step but it jump to next/previous in the parent list. It's useful
1454 to break inner loop in the playtree.</P></LI>
1455 <LI><B>alt_src_step</B> (int) val
1456 <P>When more than one source is available it select the next/previous one
1457 (only supported by asx playlist).</P></LI>
1458 <LI><B>sub_delay</B> (float) val [(int) abs=0]
1459 <P>Adjust the subtitles delay of +/- val seconds or set it to val seconds
1460 when abs is non zero.</P></LI>
1461 <LI><B>osd</B> [(int) level=-1]
1462 <P>Toggle osd mode or set it to level when level &gt; 0.</P></LI>
1463 <LI><B>volume</B> (int) dir
1464 <P>Increase/decrease volume</P></LI>
1465 <LI><B>contrast</B> (int) val [(int) abs=0]</LI>
1466 <LI><B>brightness</B> (int) val [(int) abs=0]</LI>
1467 <LI><B>hue</B> (int) val [(int) abs=0]</LI>
1468 <LI><B>saturation</B> (int) val [(int) abs=0]
1469 <P>Set/Adjust video parameters. Val range from -100 to 100.</P></LI>
1470 <LI><B>frame_drop</B> [(int) type=-1]
1471 <P>Toggle/Set frame dropping mode.</P></LI>
1472 <LI><B>sub_visibility</B>
1473 <P>Toggle subtitle visibility.</P></LI>
1474 <LI><B>sub_pos</B> (int) val
1475 <P>Adjust subtitles position.</P></LI>
1476 <LI><B>vobsub_lang</B>
1477 <P>Change the language of VobSub subtitles.</P></LI>
1478 <LI><B>vo_fullscreen</B>
1479 <P>Switch fullscreen mode.</P></LI>
1480 <LI><B>tv_step_channel</B> (int) dir
1481 <P>Select next/previous tv channel.</P></LI>
1482 <LI><B>tv_step_norm</B>
1483 <P>Change TV norm.</P></LI>
1484 <LI><B>tv_step_chanlist</B>
1485 <P>Change channel list.</P></LI>
1486 <LI><B>gui_loadfile</B></LI>
1487 <LI><B>gui_loadsubtitle</B></LI>
1488 <LI><B>gui_about</B></LI>
1489 <LI><B>gui_play</B></LI>
1490 <LI><B>gui_stop</B></LI>
1491 <LI><B>gui_playlist</B></LI>
1492 <LI><B>gui_preferences</B></LI>
1493 <LI><B>gui_skinbrowser</B>
1494 <P>GUI actions</P></LI>
1495 </UL>
1496
1497
1498 <H3><A NAME="lirc">3.2.2 Control from LIRC</A></H3>
1499
1500 <P>Linux Infrared Remote Control - use an easy to build home-brewn IR-receiver,
1501 an (almost) arbitrary remote control and control your Linux box with it!
1502 More about it at <A HREF="http://www.lirc.org">www.lirc.org</A>.</P>
1503
1504 <P>If you have installed the lirc-package, configure will autodetect it. If
1505 everything went fine, MPlayer will print a message like "Setting up
1506 lirc support..." on startup. If an error occurs it will tell you. If it
1507 doesn't tell you anything about LIRC there's no support compiled in. That's
1508 it :-)</P>
1509
1510 <P>The application name for MPlayer is - oh wonder - <CODE>mplayer</CODE>.
1511 You can use any mplayer commands and even pass more than one command by
1512 separating them with \n. Don't forget to enable the repeat flag in .lircrc
1513 when it make sense (seek, volume, etc). Here's an excerpt from my
1514 .lircrc:</P>
1515
1516 <PRE>
1517 begin
1518 button = VOLUME_PLUS
1519 prog = mplayer
1520 config = volume 1
1521 repeat = 1
1522 end
1523
1524 begin
1525 button = VOLUME_MINUS
1526 prog = mplayer
1527 config = volume -1
1528 repeat = 1
1529 end
1530
1531 begin
1532 button = CD_PLAY
1533 prog = mplayer
1534 config = pause
1535 end
1536
1537 begin
1538 button = CD_STOP
1539 prog = mplayer
1540 config = seek 0 1\npause
1541 end
1542 </PRE>
1543
1544 <P>If you don't like the standard location for the lirc-config file (~/.lircrc)
1545 use the -lircconf &lt;filename&gt; option to specify another file.</P>
1546
1547
1548 <H3><A NAME="slave">3.2.3 Slave mode</A></H3>
1549
1550 <P>The slave mode allow you to build simple frontend to MPlayer. When
1551 enabled (with the <CODE>-slave</CODE> option) MPlayer will read
1552 commands separated by new line (\n) from stdin.</P>
1553
1554
1555 <H2><A NAME="streaming">3.3 Streaming from network or pipes</A></H2>
1556
1557 <P>MPlayer can play files from network, using the HTTP, MMS or RTSP/RTP
1558 protocol.</P>
1559
1560 <P>Playing goes by simply using adding the URL to the command line.
1561 MPlayer also honors the http_proxy environment variable, and uses
1562 proxy if available. Proxy usage can also be forced:</P>
1563
1564 <P><CODE>mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</CODE></P>
1565
1566 <P>MPlayer can read from stdin (NOT named pipes). This can be for example
1567 used to play from FTP:</P>
1568
1569 <P><CODE>&nbsp;&nbsp;wget ftp://micorsops.com/something.avi -O - | mplayer -</CODE></P>
1570
1571 <P>Note: it's also recommended to enable CACHE when playback from network:</P>
1572
1573 <P><CODE>&nbsp;&nbsp;wget ftp://micorsops.com/something.avi -O - | mplayer -cache 8192 -</CODE></P>
1574
1575
1576
1577 <H1><A NAME="faq">4.</A> <A HREF="faq.html">FAQ section</A></H1>
1578
1579
1580
1581 <H1><A NAME="cd/dvd">5.</A> <A HREF="cd-dvd.html">CD/DVD section</A></H1>
1582
1583
1584
1585 <H1><A NAME="ports">6. Ports</A></H1>
1586
1587
1588 <H2><A NAME="linux">6.1 Linux</A></H2>
1589
1590 <P>The main development platform is Linux on x86, although MPlayer works on many
1591 other Linux ports.</P>
1592
1593
1594 <H3><A NAME="debian">6.1.1 Debian packaging</A></H3>
1595
1596 <P>To build a Debian package, run the following command in the MPlayer source
1597 directory:</P>
1598
1599 <PRE>
1600 fakeroot debian/rules binary
1601 </PRE>
1602
1603 <P>As root you can then install the <CODE>.deb</CODE> package as usual:</P>
1604
1605 <PRE>
1606 dpkg -i ../mplayer_&lt;version&gt;.deb
1607 </PRE>
1608
1609 <P>Christian Marillat has been making unofficial Debian MPlayer, MEncoder and
1610 font packages for a while, you can (apt-)get them from his
1611 <A HREF="http://marillat.free.fr/">homepage</A>. These packages are highly
1612 unofficial, however, as Christian made and redistributed these packages when
1613 MPlayer was still not fully GPLed and
1614 <A HREF="users_against_developers.html#binary">binary redistribution</A> was
1615 not allowed. Christian ignored requests to stop redistributing his packages,
1616 which caused bad blood with MPlayer developers. Binary redistribution is not
1617 a problem anymore, but we <B>do not support</B> these packages!</P>
1618
1619
1620 <H3><A NAME="rpm">6.1.2 RPM packaging</A></H3>
1621
1622 <P>Dominik Mierzejewski created and maintains official Red Hat RPM packages of
1623 MPlayer. They are available from his
1624 <A HREF="http://www.piorunek.pl/~dominik/linux/pkgs/mplayer/">homepage</A>.
1625 Please read the instructions there and report problems to him, not us.</P>
1626
1627 <P>There are other RPM versions (SuSE now includes MPlayer in their official
1628 distribution, Mandrake packages are available from the
1629 <A HREF="http://plf.zarb.org/">P.L.F</A>) of MPlayer, but none of them is
1630 officially supported.</P>
1631
1632
1633 <H3><A NAME="arm">6.1.3 ARM</A></H3>
1634
1635 <P>MPlayer works on Linux PDAs with ARM CPU e.g. Sharp Zaurus, Compaq Ipaq.
1636 The easiest way to obtain MPlayer is to get it from one of the
1637 <A HREF="http://www.openzaurus.org">Openzaurus</A> package feeds.
1638 If you want to compile it yourself, you should look at the
1639 <A HREF="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</A>
1640 and the
1641 <A HREF="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</A>
1642 directory in the OpenZaurus distribution buildroot. These always have the
1643 latest Makefile and patches used for building a CVS MPlayer with libavcodec.
1644 <BR>If you need a GUI frontend, you can use xmms-embedded.</P>
1645
1646
1647 <H2><A NAME="bsd">6.2 *BSD</A></H2>
1648
1649 <P>MPlayer runs on FreeBSD, OpenBSD, NetBSD, BSD/OS and Darwin. There are
1650 ports/pkgsrc/fink/etc versions of MPlayer available that are probably easier
1651 to use than our raw sources.</P>
1652
1653 <P>To build MPlayer you will need GNU make (gmake - native BSD make will not
1654 work) and a recent version of binutils.</P>
1655
1656 <P>If MPlayer complains about not finding <CODE>/dev/cdrom</CODE> or
1657 <CODE>/dev/dvd</CODE>, create an appropiate symbolic link:<BR>
1658 <CODE>ln -s /dev/(your_cdrom_device) /dev/cdrom</CODE>.</P>
1659
1660 <P>To use Win32 DLLs with MPlayer you will need to re-compile the kernel with
1661 "<CODE>option USER_LDT</CODE>" (unless you run FreeBSD -CURRENT, where this
1662 is the default).</P>
1663
1664 <H3><A NAME="freebsd">6.2.1 FreeBSD</A></H3>
1665
1666 <P>If your CPU has SSE, recompile your kernel with "options CPU_ENABLE_SSE" to
1667 use it (FreeBSD-STABLE or kernel patches required).</P>
1668
1669 <H3><A NAME="openbsd">6.2.2 OpenBSD</A></H3>
1670
1671 <P>Due to limitations in different versions of gas (relocation vs MMX), you will
1672 need to compile in two steps: First make sure that the non-native as is first
1673 in your <CODE>$PATH</CODE> and do a <CODE>gmake -k</CODE>, then make sure that
1674 the native version is used and do <CODE>gmake</CODE>.</P>
1675
1676
1677 <H2><A NAME="solaris">6.3 Solaris</A></H2>
1678
1679 <P>MPlayer should work on Solaris 2.6 or newer.</P>
1680
1681 <P>On <B>UltraSPARC</B>s, MPlayer takes advantage of their <B>VIS</B>
1682 extensions (equivalent to MMX), currently only in <I>libmpeg2</I>,
1683 <I>libvo</I> and <I>libavcodec</I>, but not in mp3lib. You can watch a VOB
1684 file on a 400MHz CPU. You'll need
1685 <A HREF="http://www.sun.com/sparc/vis/mediaLib.html">mLib</A> installed.</P>
1686
1687 <P>To build the package you will need GNU make (gmake, /opt/sfw/gmake), native
1688 Solaris make will not work. Typical error you get when building with Solaris'
1689 make instead of GNU make:</P>
1690
1691 <PRE>
1692 % /usr/ccs/bin/make
1693 make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
1694 </PRE>
1695
1696 <P>On Solaris SPARC, you need the GNU C/C++ Compiler; it does not matter
1697 if GNU C/C++ compiler is configured with or without the GNU assembler.</P>
1698
1699 <P>On Solaris x86, you need the GNU assembler and the GNU C/C++ compiler,
1700 configured to use the GNU assembler! The mplayer code on the x86 platform
1701 makes heavy use of MMX, SSE and 3DNOW! instructions that cannot be compiled
1702 using Sun's assembler <CODE>/usr/ccs/bin/as</CODE>.</P>
1703
1704 <P>The configure script tries to find out, which assembler program is used by
1705 your "gcc" command (in case the autodetection fails, use the
1706 <CODE>--as=/whereever/you/have/installed/gnu-as</CODE> option to tell the
1707 configure script where it can find GNU "as" on your system).</P>
1708
1709 <P>Error message from configure on a Solaris x86 system using GCC
1710 without GNU assembler:</P>
1711
1712 <PRE>
1713 % configure
1714 ...
1715 Checking assembler (/usr/ccs/bin/as) ... , failed
1716 Please upgrade(downgrade) binutils to 2.10.1...
1717 </PRE>
1718
1719 <P>(Solution: Install and use a gcc configured with "--with-as=gas")</P>
1720
1721 <P>Typical error you get when building with a GNU C compiler that does
1722 not use GNU as:</P>
1723
1724 <PRE>
1725 % gmake
1726 ...
1727 gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
1728 -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
1729 Assembler: mplayer.c
1730 "(stdin)", line 3567 : Illegal mnemonic
1731 "(stdin)", line 3567 : Syntax error
1732 ... more "Illegal mnemonic" and "Syntax error" errors ...
1733 </PRE>
1734
1735 <P>Due to bugs in Solaris 8, you may not be able to play DVD discs larger
1736 than 4 GB:</P>
1737
1738 <UL>
1739 <LI>The sd(7D) driver on Solaris 8 x86 has a bug when accessing a disk
1740 block &gt;4GB on a device using a logical blocksize != DEV_BSIZE (i.e. CD-ROM
1741 and DVD media). Due to a 32Bit int overflow, a disk address modulo 4GB is
1742 accessed.
1743 (<A HREF="http://groups.yahoo.com/group/solarisonintel/message/22516">http://groups.yahoo.com/group/solarisonintel/message/22516</A>)
1744 <P>
1745 This problem does not exist in the SPARC version of Solaris 8.
1746 </P>
1747 </LI>
1748 <LI>A similar bug is present in the hsfs(7FS) filesystem code (aka
1749 ISO9660), hsfs may not not support partitions/disks larger than 4GB, all data
1750 is accessed modulo 4GB.
1751 (<A HREF="http://groups.yahoo.com/group/solarisonintel/message/22592">http://groups.yahoo.com/group/solarisonintel/message/22592</A>).
1752 <P>
1753 The hsfs problem can be fixed by installing patch 109764-04 (sparc) /
1754 109765-04 (x86).
1755 </P>
1756 </LI>
1757 </UL>
1758
1759 <P>On Solaris with an UltraSPARC CPU, you can get some extra speed by
1760 using the CPU's VIS instructions for certain time consuming operations.
1761 VIS acceleration can be used in MPlayer by calling functions in Sun's
1762 <A HREF="http://www.sun.com/sparc/vis/mediaLib.html">mediaLib</A>.</P>
1763
1764 <P>VIS accelerated operations from mediaLib are used for mpeg2 video
1765 decoding and for color space conversion in the video output drivers.</P>
1766
1767
1768 <H2><A NAME="sgi">6.4 Silicon Graphics / IRIX</A></H2>
1769
1770 <P>You can either try to install the GNU install program, and (if you did not
1771 put it in your global path) then point to the location with:</P>
1772
1773 <PRE>
1774 ./configure --install-path=PATH
1775 </PRE>
1776
1777 <P>Or you can use the default install delivered with IRIX 6.5 in which case you
1778 will have to edit the Makefile a littlebit by hand. Change the following two
1779 lines:</P>
1780
1781 <PRE>
1782 $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
1783
1784 $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
1785 </PRE>
1786
1787 <P>to:</P>
1788
1789 <PRE>
1790 $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
1791
1792 $(INSTALL) -m 644 codecs.conf $(CONFDIR)/
1793 </PRE>
1794
1795 <P>And then do (from within the MPlayer source dir):</P>
1796
1797 <PRE>
1798 cp DOCS/mplayer.1 . ; cp etc/codecs.conf .
1799 </PRE>
1800
1801 <P>and then go on with building and installing.</P>
1802
1803
1804 <H2><A NAME="qnx">6.5 QNX</A></H2>
1805
1806 <P>Works. You'll need to download SDL for QNX, and install it. Then run
1807 MPlayer with <CODE>-vo sdl:photon</CODE> and <CODE>-ao sdl:nto</CODE>
1808 options, and it should be fast.</P>
1809
1810 <P>The <CODE>-vo x11</CODE> output will be even slower than on Linux, since
1811 QNX has only X <I>emulation</I> which is VERY slow. Use SDL.</P>
1812
1813
1814 <H2><A NAME="cygwin">6.6 Cygwin</A></H2>
1815
1816 <P>The Cygwin port is still in its infancy. Currently there is no support for
1817 Win32 DLLs or OpenGL. SDL is known to distort sound and image or crash
1818 on some systems. <A HREF="tech/patches.txt">Patches</A> are always welcome.
1819 Best results are achieved with the native DirectX video output driver
1820 (<CODE>-vo directx</CODE>) and the native Windows waveout audio driver
1821 (<CODE>-ao win32</CODE>). You should also check out the
1822 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">mplayer-cygwin</A>
1823 mailing list for help and latest information.</P>
1824
1825 <P>You have to copy or symlink <CODE>etc/cygwin_inttypes.h</CODE> from the
1826 MPlayer source directory to <CODE>/usr/include/inttypes.h</CODE> in order to
1827 make MPlayer compile.</P>
1828
1829 <P>To get native DirectX video, download
1830 <A HREF="http://www.videolan.org/vlc/dx7headers.tgz">DirectX 7 header files</A>,
1831 extract them to <CODE>/usr/include/</CODE> or <CODE>/usr/local/include/</CODE>
1832 and recompile. If the image is distorted, try turning off hardware
1833 acceleration with <CODE>-vo directx:noaccel</CODE>.</P>
1834
1835 <P>Instructions and files for making SDL run under Cygwin can be found on the
1836 <A HREF="http://www.libsdl.org/extras/win32/cygwin/">libsdl site</A>.</P>
1837
1838 <P>You can play VCDs by playing the <CODE>.DAT</CODE> or <CODE>.MPG</CODE> files
1839 that Windows exposes on VCDs. It works like this (adjust for the drive letter
1840 of your CD-ROM):</P>
1841
1842 <P><CODE>mplayer d:/mpegav/avseq01.dat</CODE></P>
1843
1844 <P><CODE>mplayer /cydrive/d/MPEG2/AVSEQ01.MPG</CODE></P>
1845
1846 <P>DVDs also work, just set the DVD device correctly to whatever your CD-ROM
1847 device is:</P>
1848
1849 <P><CODE>mplayer -dvd &lt;title&gt; -dvd-device '\\.\d:'</CODE></P>
1850
1851 <P>QuickTime DLLs have also been reported to work. Compile with
1852 <CODE>--enable-qtx-codecs</CODE> and put the codecs into the
1853 default Windows DLL location, <CODE>C:\WINNT\system32</CODE> or
1854 <CODE>C:\Windows\system</CODE> depending on your Windows version.</P>
1855
1856
1857
1858 <H1><A NAME="encoding">7.</A> <A HREF="encoding.html">Encoding with MEncoder</A></H1>
1859
1860
1861
1862 <H1><A NAME="mailing_lists">Appendix A - Mailing lists</A></H1>
1863
1864 <P>There are some public mailing lists on MPlayer. Unless explicitly
1865 stated otherwise the language of these lists is <B>English</B>. Please do
1866 not send messages in other languages or HTML mail! Message size limit is 80k.
1867 If you have something bigger put it up for download somewhere. Click the
1868 links to subscribe. On the mailing lists, the same rules about writing
1869 and quoting apply as on usenet. Please follow them, it makes the life of
1870 those who read your mails a lot easier. If you do not know them please
1871 read <A HREF="http://learn.to/edit_messages">HOWTO edit messages</A> or
1872 (if you are in a hurry)
1873 <A HREF="http://www.xs4all.nl/~hanb/documents/quotingguide.html">
1874 Quoting HOWTO</A>.</P>
1875
1876 <UL>
1877 <LI>MPlayer announce list:
1878 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-announce">http://mplayerhq.hu/mailman/listinfo/mplayer-announce</A><BR>
1879 List for MPlayer announcements. Subscribe here if you want to get
1880 announcements about new features.</LI>
1881 <LI>MPlayer developers list:
1882 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng</A><BR>
1883 This list is about MPlayer development! Talking about interface/API
1884 changes, new libraries, code optimization, configure changes is ontopic
1885 here. Send patches but <B>not</B> bug reports, user questions, feature
1886 requests or flames here to keep the list traffic low.</LI>
1887 <LI>MPlayer users list:
1888 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-users">http://mplayerhq.hu/mailman/listinfo/mplayer-users</A>
1889 <UL>
1890 <LI>Send bug reports here after reading the <A HREF="#known_bugs">Known Bugs</A>
1891 and <A HREF="bugreports.html">bug reporting section</A>).</LI>
1892 <LI>Send feature requests here (after reading the <B>whole</B>
1893 documentation).</LI>
1894 <LI>Send user questions here (after reading the <B>whole</B>
1895 documentation).</LI>
1896 </UL>
1897 </LI>
1898 <LI>MPlayer Hungarian users list:
1899 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok">http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok</A>
1900 <UL>
1901 <LI>Hungarian language list</LI>
1902 <LI>Topic? We'll see about it... mostly flame and RTFM questions up to
1903 now :(</LI>
1904 </UL>
1905 </LI>
1906 <LI>MPlayer &amp; Matrox G200/G400/G450/G550 users:
1907 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-matrox">http://mplayerhq.hu/mailman/listinfo/mplayer-matrox</A><BR>
1908 Matrox related questions like
1909 <UL>
1910 <LI>things about mga_vid</LI>
1911 <LI>Matrox's official beta drivers (for X 4.x.x)</LI>
1912 <LI>matroxfb-TVout stuff</LI>
1913 </UL>
1914 </LI>
1915 <LI>MPlayer &amp; DVB card users:
1916 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">http://mplayerhq.hu/mailman/listinfo/mplayer-dvb</A><BR>
1917 Things related to the hardware decoder card called DVB (<B>not</B> DXR3!).
1918 </LI>
1919 <LI>MPlayer CVS-log:
1920 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog">http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog</A><BR>
1921 All changes in MPlayer code are automatically sent to this list. Only
1922 questions about these changes belong here (if you do not understand why a
1923 change is required or you have a better fix or you have noticed a possible
1924 bug/problem in the commit).
1925 </LI>
1926 <LI>MPlayer CygWin-porting list:
1927 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin">http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin</A><BR>
1928 List for discussion about MPlayer's CygWin port.
1929 </LI>
1930 <LI>MPlayer OS/2-porting list:
1931 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-os2">http://mplayerhq.hu/mailman/listinfo/mplayer-os2</A><BR>
1932 List for discussion about MPlayer's OS/2 port.
1933 </LI>
1934 <LI>MPlayer Weekly News' editors and translators list:
1935 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-mwn">http://mplayerhq.hu/mailman/listinfo/mplayer-mwn</A><BR>
1936 List for discussion about the Weekly News releases.
1937 </LI>
1938 </UL>
1939
1940 <P><B>Note:</B> You can reach the searchable mailing list archives at
1941 <A HREF="http://www.mplayerhq.hu/cgi-bin/htsearch">http://www.mplayerhq.hu/cgi-bin/htsearch</A>.
1942
1943
1944
1945 <H1><A NAME="bug_reports">Appendix B</A> - <A HREF="bugreports.html">How to report bugs</A></H1>
1946
1947
1948
1949 <H1><A NAME="known_bugs">Appendix C - Known bugs</A></H1>
1950
1951 <P>Special system/CPU-specific bugs/problems:</P>
1952 <UL>
1953
1954 <LI>SIGILL (signal 4) on P3 using 2.2.x kernels:<BR>
1955 Problem: kernel 2.2.x doesn't have proper (working) SSE support<BR>
1956 Solution: upgrade kernel to 2.4.x<BR>
1957 Workaround: <CODE>./configure --disable-sse</CODE></LI>
1958
1959 <LI>General SIGILL (signal 4):<BR>
1960 Problem: you compiled and run mplayer in different machines
1961 (for example compiled on P3 and running on Celeron)<BR>
1962 Solution: compile MPlayer on the same machine where you will use it!<BR>
1963 Workaround: <CODE>./configure --disable-sse</CODE> etc. options</LI>
1964
1965 <LI>"Internal buffer inconsistency" during MEncoder run:<BR>
1966 Problem: known problem when lame &lt; 3.90 was compiled with gcc 2.96 or 3.x.<BR>
1967 Solution: use lame &gt;=3.90.<BR>
1968 Workaround: compile lame with gcc 2.95.x and remove any already installed
1969 lame packages, they may have been compiled with gcc 2.96.</LI>
1970
1971 <LI>Messed up MP2/MP3 sound on PPC:<BR>
1972 Problem: known GCC miscompilation bug on PPC platforms, no fix yet.<BR>
1973 Workaround: use FFmpeg's (slow) MP1/MP2/MP3 decoder (<CODE>-ac ffmpeg</CODE>)</LI>
1974
1975 <LI>sig11 in libmpeg2, when scaling+encoding:<BR>
1976 Problem: known GCC 2.95.2 MMX bug, upgrade to 2.95.3.</LI>
1977 </UL>
1978
1979 <P>Various A-V sync and other audio problems:</P>
1980
1981 General audio delay or jerky sound (exists with all or many files):
1982 <UL>
1983 <LI>most common: buggy audio driver! - try to use different drivers, try
1984 ALSA 0.9 OSS emulation with -ao oss, also try -ao sdl, sometimes it helps.
1985 If your file plays fine with -nosound, then you can be sure it's sound card
1986 (driver) problem.</LI>
1987 <LI>audio buffer problems (buffer size badly detected)<BR>
1988 Workaround: mplayer -abs option</LI>
1989 <LI>samplerate problems - maybe your card doesn't support the samplerate
1990 used in your files - try the resampling plugin (-aop)</LI>
1991 <LI>slow machine (CPU or VGA)<BR>
1992 try with -vo null, if it plays well, then you have slow VGA card/driver<BR>
1993 Workaround: buy a faster card or read this documentation about how to speed up<BR>
1994 Also try -framedrop</LI>
1995 </UL>
1996
1997 Audio delay/de-sync specific to one or a few files:
1998 <UL>
1999 <LI>bad file<BR>
2000 Workaround:
2001 <UL>
2002 <LI>-ni or -nobps option (for non-interleaved or bad files)<BR>
2003 and/or</LI>
2004 <LI>-mc 0 (required for files with badly interleaved VBR audio)<BR>
2005 and/or</LI>
2006 <LI>-delay option or +/- keys at runtime to adjust delay</LI>
2007 </UL>
2008 If none of these help, please upload the file, we'll check (and fix).
2009 </LI>
2010 <LI>your sound card doesn't support 48kHz playback<BR>
2011 Workaround: buy a better sound card... or try to decrease fps by 10% (use
2012 -fps 27 for a 30fps movie) or use the resampler plugin</LI>
2013 <LI>slow machine<BR>
2014 (if A-V is not around 0, and the last number in the status line increasing)<BR>
2015 Workaround: -framedrop</LI>
2016 </UL>
2017
2018 No sound at all:
2019 <UL>
2020 <LI>your file uses an unsupported audio codec<BR>
2021 Workaround: read the documentation and help us adding support for it</LI>
2022 </UL>
2023
2024 No picture at all (just plain grey/green window):
2025 <UL>
2026 <LI>your file uses an unsupported video codec<BR>
2027 Workaround: read the documentation and help us adding support for it</LI>
2028 <LI>auto-selected codec can't decode the file, try to select another using -vc
2029 or -vfm options</LI>
2030 <LI>you try to play DivX 3.x file with OpenDivX decoder or XviD (-vc odivx)
2031 - install Divx4Linux and recompile player</LI>
2032 </UL>
2033
2034 <P>Video-out problems:</P>
2035
2036 <P>First note: options -fs -vm and -zoom are just recommendations, not (yet)
2037 supported by all drivers. So it isn't a bug if it doesn't work.
2038 Only a few driver supports scaling/zooming, don't expect this from x11 or dga.</P>
2039
2040 <P>OSD/sub flickering:<BR>
2041 - x11 driver: sorry, it can't be fixed now<BR>
2042 - xv driver: use -double option</P>
2043
2044 <P>Green image using mga_vid (-vo mga / -vo xmga):<BR>
2045 - mga_vid misdetected your card's RAM amount, reload it using mga_ram_size option</P>
2046
2047
2048
2049 <H1><A NAME="skin">Appendix D</A> - <A HREF="skin.html">MPlayer skin format</A></H1>
2050
2051
2052
2053 <H1><A NAME="flame_wars">Appendix E</A> - <A HREF="users_against_developers.html">Developer Cries</A></H1>
2054
2055
2056
2057 <H1><A NAME="patches">Appendix F</A> - <A HREF="tech/patches.txt">How to send patches</A></H1>
2058
2059
2060 </BODY>
2061 </HTML>