Mercurial > mplayer.hg
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">© 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 & 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 <id>]</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 <sec></CODE></DT> | |
918 <DD>Delays subtitles by <sec> seconds. Can be negative.</DD> | |
919 | |
920 <DT><CODE>-subfps <rate></CODE></DT> | |
921 <DD>Specify frame/sec rate of subtitle file (float number)</DD> | |
922 | |
923 <DT><CODE>-subpos <0 - 100></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 <video_name>.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 & 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 > /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 > 64) && (!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> & <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> mplayer -tv on:driver=dummy:width=640:height=480 -vo aa</CODE><BR> | |
1216 <BR> | |
1217 Input from standard V4L<BR> | |
1218 <CODE> 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> mencoder -tv | |
1227 on:driver=v4l:width=768:height=576 \<BR> | |
1228 -ovc lavc -lavcopts | |
1229 vcodec=mpeg4:vbitrate=900 \<BR> -oac | |
1230 mp3lame -lameopts cbr:br=64 \<BR> -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 mencoder -tv on:driver=v4l:width=768:height=576 \<BR> | |
1242 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \<BR> | |
1243 -oac mp3lame -lameopts cbr:br=48 \<BR> | |
1244 -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 <filename></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 <filename></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> </TD><TD>file</TD><TD> </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 > pt_step 1 | |
1373 < 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 > 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 <filename> 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> 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> 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_<version>.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 >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 <title> -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 & 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 & 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 < 3.90 was compiled with gcc 2.96 or 3.x.<BR> | |
1967 Solution: use lame >=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> |