comparison DOCS/zh/documentation.html @ 9332:a604236b0dd6

Rename documentation directories to two-letter language codes.
author diego
date Sat, 08 Feb 2003 00:00:00 +0000
parents DOCS/Chinese/documentation.html@a76b8962c0bd
children 883f38591d47
comparison
equal deleted inserted replaced
9331:bbe91bd6e1c8 9332:a604236b0dd6
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML>
3
4 <HEAD>
5 <TITLE>文档 - MPlayer - Linux下的电影播放器</TITLE>
6 <LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
7 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gbk">
8 </HEAD>
9
10 <BODY>
11
12 <H1 ALIGN="center">MPlayer - Linux下的电影播放器</H1>
13
14 <H2 ALIGN="center">&copy; 2000-2003 Arpad Gereoffy (A'rpi/ESP-team)<BR>
15 <A HREF="http://www.mplayerhq.hu">http://www.mplayerhq.hu</A></H2>
16
17 <P ALIGN="center">[汉语]
18 <A HREF="../documentation.html">[英语] </A>
19 <A HREF="../Hungarian/documentation.html">[匈牙利语] </A>
20 <A HREF="../German/documentation.html">[德语] </A>
21 <A HREF="../French/documentation.html">[法语] </A>
22 <A HREF="../Polish/documentation.html">[波兰语] </A>
23 <A HREF="../Italian/documentation.html">[意大利语] </A><P>
24
25 <HR>
26
27 <H2>目录</H2>
28
29 <HR>
30
31 <UL>
32 <LI><A HREF="#reading">0. 如何阅读本文档</A></LI>
33 <LI><A HREF="#introduction">1. 介绍</A>
34 <UL>
35 <LI><A HREF="#history">1.1 历史</A></LI>
36 <LI><A HREF="#installation">1.2 安装</A></LI>
37 <LI><A HREF="#gui">1.3 GUI有吗?</A></LI>
38 <LI><A HREF="#subtitles_osd">1.4 字幕和OSD </A>
39 <UL>
40 <LI><A HREF="#mpsub">1.4.1 MPlayer自己的字幕格式(MPsub)</A></LI>
41 <LI><A HREF="#install_osd">1.4.2 安装OSD和字幕</A></LI>
42 <LI><A HREF="#menu">1.4.3 OSD菜单</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. 特性</A>
49 <UL>
50 <LI><A HREF="formats.html">2.1 支持的格式</A>
51 <UL>
52 <LI><A HREF="formats.html#video_formats">2.1.1 视频格式</A>
53 <UL>
54 <LI><A HREF="formats.html#mpeg">2.1.1.1 MPEG文件</A></LI>
55 <LI><A HREF="formats.html#avi">2.1.1.2 AVI文件</A></LI>
56 <LI><A HREF="formats.html#asf">2.1.1.3 ASF与WMV文件</A></LI>
57 <LI><A HREF="formats.html#mov">2.1.1.4 QuickTime与MOV文件</A></LI>
58 <LI><A HREF="formats.html#vivo">2.1.1.5 VIVO文件</A></LI>
59 <LI><A HREF="formats.html#fli">2.1.1.6 FLI文件</A></LI>
60 <LI><A HREF="formats.html#real">2.1.1.7 RealMedia(RM)文件</A></LI>
61 <LI><A HREF="formats.html#nuppelvideo">2.1.1.8 NuppelVideo文件</A></LI>
62 <LI><A HREF="formats.html#yuv4mpeg">2.1.1.9 yuv4mpeg文件</A></LI>
63 <LI><A HREF="formats.html#film">2.1.1.10 FILM文件</A></LI>
64 <LI><A HREF="formats.html#roq">2.1.1.11 RoQ文件</A></LI>
65 <LI><A HREF="formats.html#ogg">2.1.1.12 OGG/OGM文件</A></LI>
66 <LI><A HREF="formats.html#sdp">2.1.1.13 SDP文件</A></LI>
67 <LI><A HREF="formats.html#pva">2.1.1.14 PVA文件</A></LI>
68 <LI><A HREF="formats.html#gif">2.1.1.15 GIF文件</A></LI>
69 </UL>
70 </LI>
71 <LI><A HREF="formats.html#audio_formats">2.1.2 音频格式</A>
72 <UL>
73 <LI><A HREF="formats.html#mp3">2.1.2.1 MP3文件</A></LI>
74 <LI><A HREF="formats.html#wav">2.1.2.2 WAV文件</A></LI>
75 <LI><A HREF="formats.html#ogg_vorbis">2.1.2.3 OGG/OGM文件(Vorbis)</A></LI>
76 <LI><A HREF="formats.html#wma">2.1.2.4 WMA与ASF文件</A></LI>
77 <LI><A HREF="formats.html#mp4">2.1.2.5 MP4文件</A></LI>
78 <LI><A HREF="formats.html#cdda">2.1.2.6 CD音频</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 支持的编解码器</A>
85 <UL>
86 <LI><A HREF="codecs.html#video_codecs">2.2.1 视频编解码器</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编解码器</A></LI>
91 <LI><A HREF="codecs.html#vivo_video">2.2.1.4 VIVO视频</A></LI>
92 <LI><A HREF="codecs.html#mpeg">2.2.1.5 MPEG 1/2视频</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 音频编解码器</A>
101 <UL>
102 <LI><A HREF="codecs.html#software_ac3">2.2.2.1软件AC3解码</A></LI>
103 <LI><A HREF="codecs.html#hardware_ac3">2.2.2.2硬件AC3解码</A></LI>
104 <LI><A HREF="codecs.html#libmad">2.2.2.3 libmad支持</A></LI>
105 <LI><A HREF="codecs.html#vivo_audio">2.2.2.4 VIVO音频</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编解码器</A></LI>
108 <LI><A HREF="codecs.html#qclp">2.2.2.7 Qualcomm编解码器</A></LI>
109 </UL>
110 </LI>
111 <LI><A HREF="codecs.html#importing">2.2.3 Win32编解码器导入HOWTO</A>
112 <UL>
113 <LI><A HREF="codecs.html#importing_vfw">2.2.3.1 VFW编解码器</A></LI>
114 <LI><A HREF="codecs.html#importing_directshow">2.2.3.2 DirectShow编解码器</A></LI>
115 </UL>
116 </LI>
117 </UL>
118 </LI>
119 <LI><A HREF="#output">2.3 输出设备</A>
120 <UL>
121 <LI><A HREF="video.html">2.3.1 视频输出设备</A>
122 <UL>
123 <LI><A HREF="video.html#mtrr">2.3.1.1 MTRR的设置</A></LI>
124 <LI><A HREF="video.html#normal">2.3.1.2 传统显卡的视频输出</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显卡</A></LI>
129 <LI><A HREF="video.html#xv_s3">2.3.1.2.1.2 S3显卡</A></LI>
130 <LI><A HREF="video.html#xv_nvidia">2.3.1.2.1.3 nVidia显卡</A></LI>
131 <LI><A HREF="video.html#xv_ati">2.3.1.2.1.4 ATI显卡</A></LI>
132 <LI><A HREF="video.html#xv_neomagic">2.3.1.2.1.5 NeoMagic显卡</A></LI>
133 <LI><A HREF="video.html#xv_trident">2.3.1.2.1.6 Trident显卡</A></LI>
134 <LI><A HREF="video.html#xv_trident">2.3.1.2.1.7 Kyro/PowerVR显卡</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输出(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支持(tdfxfb)</A></LI>
143 <LI><A HREF="video.html#opengl">2.3.1.2.8 OpenGL输出</A></LI>
144 <LI><A HREF="video.html#aalib">2.3.1.2.9 AAlib -- 文本方式显示</A></LI>
145 <LI><A HREF="video.html#vesa">2.3.1.2.10 VESA -- 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解码器</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 其他可视硬件</A>
167 <UL>
168 <LI><A HREF="video.html#zr">2.3.1.4.1 Zoran JPEG解码器</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输出支持</A>
173 <UL>
174 <LI><A HREF="video.html#tv-out_matrox">2.3.1.5.1 Matrox G400显卡</A></LI>
175 <LI><A HREF="video.html#tv-out_matrox_g450">2.3.1.5.2 Matrox G450/G550显卡</A></LI>
176 <LI><A HREF="video.html#tv-out_ati">2.3.1.5.3 ATI显卡</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 音频输出设备</A>
183 <UL>
184 <LI><A HREF="sound.html#sync">2.3.2.1 音频/视频同步</A></LI>
185 <LI><A HREF="sound.html#experiences">2.3.2.2 声卡体验,推荐</A></LI>
186 <LI><A HREF="sound.html#af">2.3.2.3 音频滤镜</A>
187 <UL>
188 <LI><A HREF="sound.html#af_resample">2.3.2.3.1 升/降采样率</A></LI>
189 <LI><A HREF="sound.html#af_channels">2.3.2.3.2 改变声道数</A></LI>
190 <LI><A HREF="sound.html#af_format">2.3.2.3.3 采样格式转换</A></LI>
191 <LI><A HREF="sound.html#af_delay">2.3.2.3.4 延迟</A></LI>
192 <LI><A HREF="sound.html#af_volume">2.3.2.3.5 软件音量控制</A></LI>
193 <LI><A HREF="sound.html#af_equalizer">2.3.2.3.6 均衡器</A></LI>
194 <LI><A HREF="sound.html#af_panning">2.3.2.3.7 摇动滤镜</A></LI>
195 <LI><A HREF="sound.html#af_sub">2.3.2.3.8 副低音</A></LI>
196 <LI><A HREF="sound.html#af_surround">2.3.2.3.9 环绕音效解码</A></LI>
197 </UL>
198 </LI>
199 <LI><A HREF="sound.html#plugins">2.3.2.4 音频插件(已过时)</A>
200 <UL>
201 <LI><A HREF="sound.html#resample">2.3.2.4.1 升/降采样率</A></LI>
202 <LI><A HREF="sound.html#surround_decoding">2.3.2.4.2 环绕音效解码</A></LI>
203 <LI><A HREF="sound.html#format">2.3.2.4.3 采样格式转换</A></LI>
204 <LI><A HREF="sound.html#delay">2.3.2.4.4 延迟</A></LI>
205 <LI><A HREF="sound.html#volume">2.3.2.4.5 软件音量控制</A></LI>
206 <LI><A HREF="sound.html#extrastereo">2.3.2.4.6 立体声加强</A></LI>
207 <LI><A HREF="sound.html#normalizer">2.3.2.4.7 音量正规化</A></LI>
208 </UL>
209 </LI>
210 </UL>
211 </LI>
212 </UL>
213 </LI>
214 <LI><A HREF="#tv">2.4 电视输入</A>
215 <UL>
216 <LI><A HREF="#tv_compilation">2.4.1 编译</A></LI>
217 <LI><A HREF="#tv_tips">2.4.2 使用技巧</A></LI>
218 <LI><A HREF="#tv_examples">2.4.3 示例</A></LI>
219 </UL>
220 </LI>
221 <LI><A HREF="#edl">2.5 编辑决定列表(EDL)</A>
222 <UL>
223 <LI><A HREF="#edl_using">2.5.1 使用一个EDL文件</A></LI>
224 <LI><A HREF="#edl_making">2.5.2 制作一个EDL文件</A></LI>
225 </UL>
226 </LI>
227 </UL>
228 </LI>
229 <LI><A HREF="#usage">3. 用法</A>
230 <UL>
231 <LI><A HREF="#command_line">3.1 命令行</A></LI>
232 <LI><A HREF="#control">3.2 控制</A>
233 <UL>
234 <LI><A HREF="#controls_configuration">3.2.1 控制配置</A>
235 <UL>
236 <LI><A HREF="#key_names">3.2.1.1 键名</A></LI>
237 <LI><A HREF="#commands">3.2.1.2 命令</A></LI>
238 </UL>
239 </LI>
240 <LI><A HREF="#lirc">3.2.3 LIRC控制</A></LI>
241 <LI><A HREF="#slave">3.2.4 Slave模式</A></LI>
242 </UL>
243 </LI>
244 <LI><A HREF="#streaming">3.3 网络或管道的流媒体</A></LI>
245 </UL>
246 </LI>
247 <LI><A HREF="cd-dvd.html">4. CD/DVD部分</A>
248 <UL>
249 <LI><A HREF="cd-dvd.html#drives">4.1 CD/DVD驱动器</A></LI>
250 <LI><A HREF="cd-dvd.html#dvd">4.2 DVD播放</A></LI>
251 <LI><A HREF="cd-dvd.html#vcd">4.3 VCD播放</A></LI>
252 </UL>
253 </LI>
254 <LI><A HREF="faq.html">5. FAQ部分</A>
255 <UL>
256 <LI><A HREF="faq.html#compilation">5.1 编译</A></LI>
257 <LI><A HREF="faq.html#general">5.2 一般问题</A></LI>
258 <LI><A HREF="faq.html#playback">5.3 播放问题</A></LI>
259 <LI><A HREF="faq.html#driver">5.4 视频/音频驱动问题(vo/ao)</A></LI>
260 <LI><A HREF="faq.html#dvd">5.5 DVD播放</A></LI>
261 <LI><A HREF="faq.html#features">5.6 特性要求</A></LI>
262 <LI><A HREF="faq.html#encoding">5.7 编码</A></LI>
263 </UL>
264 </LI>
265 <LI><A HREF="#ports">6. 移植</A>
266 <UL>
267 <LI><A HREF="#linux">6.1 Linux</A>
268 <UL>
269 <LI><A HREF="#debian">6.1.1 Debian安装包的制作</A></LI>
270 <LI><A HREF="#rpm">6.1.2 RPM安装包的制作</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. 用MEncoder编码</A>
287 <UL>
288 <LI><A HREF="encoding.html#2pass">7.1 2或3-pass的MPEG-4("DIVX")编码</A></LI>
289 <LI><A HREF="encoding.html#mpeg">7.2 编码为MPEG格式</A></LI>
290 <LI><A HREF="encoding.html#rescaling">7.3 电影再缩放</A></LI>
291 <LI><A HREF="encoding.html#copying">7.4 流复制</A></LI>
292 <LI><A HREF="encoding.html#fixing">7.5 修复索引损坏的AVI文件</A></LI>
293 <UL>
294 <LI><A HREF="encoding.html#appending">7.5.1 合并多个AVI文件</A></LI>
295 </UL>
296 <LI><A HREF="encoding.html#libavcodec">7.6 用libavcodec编解码器族进行编码</A></LI>
297 <LI><A HREF="encoding.html#image_files">7.7 用输入的多幅图像文件(JPEGs或者PNGs)进行编码</A></LI>
298 <LI><A HREF="encoding.html#vobsub">7.8 将DVD字幕提取为Vobsub文件</A></LI>
299 <LI><A HREF="encoding.html#aspect">7.9 保持屏幕高宽比</A></LI>
300 </UL>
301 </LI>
302 <LI><A HREF="#mailing_lists">附录A -- 邮件列表</A></LI>
303 <LI><A HREF="bugreports.html">附录B -- 如何报告bugs</A></LI>
304 <LI><A HREF="#known_bugs">附录C -- 已知bug</A></LI>
305 <LI><A HREF="skin.html">附录D - MPlayer skin的格式</A>
306 <UL>
307 <LI><A HREF="skin.html#overview">D.1 综述</A>
308 <UL>
309 <LI><A HREF="skin.html#directories">D.1.1 目录</A></LI>
310 <LI><A HREF="skin.html#images">D.1.2 图像</A></LI>
311 <LI><A HREF="skin.html#components">D.1.3 Skin组件</A></LI>
312 <LI><A HREF="skin.html#files">D.1.4 文件</A></LI>
313 </UL>
314 </LI>
315 <LI><A HREF="skin.html#skinfile">D.2 Skin的文件</A>
316 <UL>
317 <LI><A HREF="skin.html#mainwindow">D.2.1 主窗口和播放条</A></LI>
318 <LI><A HREF="skin.html#subwindow">D.2.2 副窗口</A></LI>
319 <LI><A HREF="skin.html#skinmenu">D.2.3 Skin菜单</A></LI>
320 </UL>
321 </LI>
322 <LI><A HREF="skin.html#fonts">D.3 字体</A>
323 <UL>
324 <LI><A HREF="skin.html#symbols">D.3.1 符号</A></LI>
325 </UL>
326 </LI>
327 <LI><A HREF="skin.html#guimessages">D.4 GUI消息</A></LI>
328 </UL>
329 </LI>
330 <LI><A HREF="users_against_developers.html">附录E -- 开发者的眼泪</A>
331 <UL>
332 <LI><A HREF="users_against_developers.html#gcc">GCC 2.96</A></LI>
333 <LI><A HREF="users_against_developers.html#binary">二进制发行版</A></LI>
334 <LI><A HREF="users_against_developers.html#nvidia">nVidia</A></LI>
335 <LI><A HREF="users_against_developers.html#barr">Joe Barr</A></LI>
336 </UL>
337 </LI>
338 </UL>
339
340 <HR>
341
342
343
344 <H1><A NAME="reading">0. 如何阅读本文档</A></H1>
345
346 <P>如果你是首次安装:请一定要阅读从这里到安装部分结束的所有内容,并且追踪你所遇到的链接。
347 如果你有任何其它问题,返回到目录并搜索主题,读取<A HREF="faq.html">FAQ</A>,或者尝试用grep搜索整个文件。</P>
348
349 <P>这个文件的主要原则:如果一个功能没有被编入文档,那么它<U>不存在</U>。如果我没有说你能
350 用电视选台器音频编码,你就不能。不过健康程度的综合能力还是受欢迎的。祝你好运。你将需要它的:),
351 让我引用<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>邮件列表中
352 Chris Phillips的话作为另一个好的建议:</P>
353
354 <BLOCKQUOTE>
355 “我以前说过新手和白痴之间的区别在于:无论,你实际上对一个系统(Linux,汽车,女孩:D)
356 了解多少,你应该总能够退一步想想并且保持客观,否则,恕我直言你是公认的白痴。跟我住在一起的女孩认定吸
357 尘器坏了因为它不吸进东西,而从不想更换袋子,因为她以前从来没有做过...那就是愚蠢,而不仅仅是不
358 知道做什么...仅仅因为不是那么熟悉你的环境不是你的a)懒惰和b)忽视的借口。如此多人们似乎看到“error”
359 就停止...只有极少数真正读取了冒号另一边的东西”。
360 </BLOCKQUOTE>
361
362
363 <H1><A NAME="introduction">1. 介绍</A></H1>
364
365 <P>MPlayer是Linux 上的电影播放器(也能跑在许多其它Unices上,甚至<B>非x86</B>CPU上,
366 参见<A HREF="#ports">移植部分</A>)。它能使用众多的本地的,XAnim,RealPlayer,和Win32 DLL编解码器,
367 播放大多数MPEG,VOB,AVI,OGG,VIVO,ASF/WMV,QT/MOV,FLI,RM,NuppelVideo,yuv4mpeg,FILM,RoQ文件。
368 你还能观看<B>VideoCD</B>,<B>SVCD</B>,<B>DVD</B>,<B>3ivx</B>,<B>RealMedia</B>,和<B>DivX</B>格式
369 的电影(你根本不需要avifile库)。mplayer的另一个大的特色是广泛的输出设备支持。它可以在X11,Xv,DGA,
370 OpenGL,SVGAlib,fbdev,AAlib,DirectFB下工作,而且你也能使用GGI和SDL(由此可以使用他们支持的各种驱动模式)
371 和一些低级的硬件相关的驱动模式(比如Matrox,3Dfx和Radeon,Mach64,Permedia3)!他们大多数支持软件或者硬件缩放,
372 因此你能在全屏下观赏电影。MPlayer还支持通过硬件MPEG解码卡显示,诸如<B><A HREF="video.html#dvb">DVB</A></B>
373 和<B><A HREF="video.html#dxr3">DXR3与Hollywood+</A></B>。可以使用European/ISO 8859-1,2(匈牙利语,英语,捷克语等等),
374 西里尔语,韩语的字体的清晰放大并且反锯齿的字幕(<B>支持10种格式</B>),和on screen display(OSD)你又觉得如何?</P>
375
376 <P>这个播放器能够稳如泰山的播放被破坏的MPEG文件(对一些VCD有用),而它能播放著名的windows media player
377 都打不开的的坏的AVI文件。甚至,没有索引部分的AVI文件可播放,你能暂时由重建他们的索引<CODE>-idx</CODE>选择,
378 或者用MEncoder永久重建,使你能够在影片中搜索!如你所见,稳定和质量是最重要的事情,而且他的速度是也惊人的。</P>
379
380 <P>MEncoder(MPlayer's Movie Encoder)是一个简单的电影编码器,设计用来把MPlayer可以播放的电影
381 (<B>AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA</B>)编码成别的MPlayer可以播放的格式(具体列表见下面)。
382 它可以使用各种编解码器进行编码,例如
383 <B>DivX4</B>(1或2 passes),libavcodec,
384 <B>PCM</B>/<B>MP3</B>/<B>VBR MP3</B>音频。同时也有强大的插件系统用于控制视频。</P>
385
386 <H4>MEncoder的特性</H4>
387
388 <UL>
389 <LI>从MPlayer支持的广泛的文件格式和解码器的输入进行编码</LI>
390 <LI>编码到ffmpeg的<A HREF="codecs.html#libavcodec">libavcodec</A>的所有编解码器</LI>
391 <LI>从<B>V4L兼容的电视选台器</B>输入编码</LI>
392 <LI>编码/多路传输成具有适当索引的交错的AVI文件</LI>
393 <LI>从外部音频流创建文件</LI>
394 <LI>1, 2或3 pass编码</LI>
395 <LI><B>VBR</B>的MP3音频 - <B>重要提示:</B> VBR MP3音频不总是能被Windows的播放器正常的播放!</LI>
396 <LI>PCM音频</LI>
397 <LI>流复制</LI>
398 <LI>输入的自动A/V同步(基于PTS,使用-mc 0选项来禁用)</LI>
399 <LI>使用<CODE>-ofps</CODE>选项进行FPS修正(当把29.97fps的VOB编码成24fps的AVI的时候有用)</LI>
400 <LI>使用我们强大的插件系统(crop, expand, flip, postprocess,
401 rotate, scale, rgb/yuv conversion)</LI>
402 <LI>可以把DVD/VOB字幕<B>和</B>文本字幕编码到输出文件中</LI>
403 <LI>可以把DVD字幕提取为Vobsub格式</LI>
404 </UL>
405
406 <H4>计划中的特性</H4>
407
408 <UL>
409 <LI>更加广泛的编/解码格式/编解码器 (用DivX4/Indeo5/VIVO流创建VOB文件:)</LI>
410 </UL>
411
412 <P>MPlayer和MEncoder按照GNU General Public License Version 2发布。</P>
413
414 <H2><A NAME="history">1.1 历史</A></H2>
415
416 <P>这一年以前开始的...
417 我(A'rpi)已尝试Linux下的许多播放器(mtv,xmps,dvdview,livid/oms,videolan,xine,xanim,avifile,xmmp),
418 但是他们全都有一些问题。多半与特殊的文件或音频与视频的同步有关。他们中大多数不能同时播放MPEG1,MPEG2和AVI(DivX)文件。
419 许多播放器也有图象质量或者速度的问题。因此,我已决定自己写/修改一个...</P>
420
421 <UL>
422 <LI><B>mpg12play v0.1-v0.3:</B>2000年9月22-25日<BR>
423 第一次尝试,总共只用了半小时来hack!到版本0.3我都使用www.heroinewarrior.com的libmpeg3,但是它有图象质量和速度的问题。</LI>
424 <LI><B>mpg12play v0.5-v0.87:</B>2000年9月28日-10月20日<BR>
425 用Dirk Farin的DVDview替换了原来的Mpeg codec,它是一个很不错的东东,但是它很慢并且使用写成C++(我讨厌C++!!!)</LI>
426 <LI><B>mpg12play v0.9-v0.95pre5:</B>2000年10月21日-11月2日<BR>
427 Mpeg codec改用Aaron Holtzman与的Michel Lespinasse的libmpeg2(mpeg2dec)。它十分出色,优化过的十分快速的C代码和完美的图象质量以及100%的MPEG标准的一致性。</LI>
428 <LI><B>MPlayer v0.01:</B> 2000年11月11日<BR>
429 第一个MPlayer。</LI>
430 <LI><B>MPlayer v0.3-v0.9:</B>2000年11月18日-12月4日<BR>
431 它包含两个程序: mpg12play v0.95pre6和我的新的简单的基于avifile的Win32 DLL Loader的AVI播放器'avip'。</LI>
432 <LI><B>MPlayer v0.10:</B>2001年1月1日<BR>
433 MPEG和AVI播放器做成了一个二进制文件!</LI>
434 <LI><B>MPlayer v0.11pre系列:</B><BR>
435 一些新的开发者加入了,从0.11开始mplayer项目成为一个team-work!增加了.ASF文件支持,和OpenDivX(见www.projectmayo.com)编/解码支持。</LI>
436 <LI><B>MPlayer v0.17a“IdegCounter”</B>2001年4月27日<BR>
437 在艰苦发展了4个月的0.11pre之后的正式版本!试试看,然后等着被震撼!成千上万的新的特性添加...当然同时旧的代码也被改进,移去了一些bug</LI>
438 <LI><B>MPlayer 0.18“BugCounter”</B>2001年7月9日<BR>
439 0.17发布2个月后的新的正式版。完全的ASF支持,更多字幕格式,引入libao(类似于libvo但是针对音频),比以往任何时候更加稳定,如此等等。这肯定是个必需品!</LI>
440 <LI><B>MPlayer 0.50“Faszom(C)ounter”</B>2001年10月8日<BR>
441 Hmm。又一次新版本。众多新的特性,Beta版的GUI,bug修正,新的vo和ao驱动模式,许多系统的移植,包括opensource DivX codecs和更多得多的改进。尝试一下!</LI>
442 <LI><B>MPlayer 0.60“RTFMCounter”</B>2002年1月3日<BR>
443 支持MOV/VIVO/RM/FLI/NUV文件格式,本地的CRAM,Cinepak,ADPCM 编解码器,支持XAnim的二进制的编解码器;DVD字幕支持,首此发布MEncoder,电视截取,缓存,liba52,无数的修正。</LI>
444 <LI><B>MPlayer 0.90pre10 "The BirthdayCounter"</B> 2002年11月11日<BR>
445 尽管这不是一个正式发行版,但我决定提到它因为它诞生在MPlayer v0.01发布的两年之后。生日快乐,MPlayer!</LI>
446 <LI><B>MPlayer 0.90rc1 "The CodecCounter"</B> Dec 7, 2002<BR>
447 同样不是一个正式发行版,但在添加了Sorenson 3(QuickTime)和Windows
448 Media 9的支持之后, MPlayer成为世界上第一个支持所有已知视频格式的电影播放器!</LI>
449 <LI><B>MPlayer 0.90“?”</B>日期未知</LI>
450 </UL>
451
452 <H2><A NAME="installation">1.2 安装</A></H2>
453
454 <P>在这章中我将试图指引你通过编译和配置MPlayer的过程,它不大容易的,不过也见得一定很难的。
455 如果你遇到不同于我所解释的现象,请的通过搜索这篇文件来查找你的回答。如果你遇到链接,请跟踪他们并且细心读取他们包含的内容。
456 它将花费一些时间,但是它确实是值得的。</P>
457
458 <P>你需要一个相当新的系统。在Linux上,推荐2.4.x的内核。</P>
459
460 <H4>软件要求:</H4>
461
462 <UL>
463 <LI><B>binutils</B> -- 建议版本<B>2.11.x</B>。这个程序负责生成MMX/3DNow!/etc指令,因此十分重要。</LI>
464 <LI><B>gcc</B> -- 建议版本是:<B>2.95.3</B>(或者<B>2.95.4</B>)和<B>3.2+</B>。<B>永远不要</B>使用2.96或者3.0.x!
465 他们产生错误的MPlayer的代码。如果你决定更换2.96的gcc,那么不要只是因为新而决定采用3.0.x!3.0.x的早期版本甚至比2.96更buggy。
466 因此不如降级到2.95.x(也把libstdc++降级,其它程序可能需要它)或者根本不升/降级(但这种情况下请对运行时的问题作好准备)。
467 如果你一定要使用3.x.x请使用最新的版本,早先的发行版本有各种各样的错误,确信你使用的至少是3.1,它通过测试且工作正常。
468 关于gcc 2.96的bug(仍然没有修正,他们在MPlayer中被绕过!)的详细信息能在<A
469 HREF="users_against_developers.html">这里</A>和<A HREF="faq.html">FAQ</A>中找到。</LI>
470 <LI><B>XFree86</B> -- 建议<B>总使用最新版本(4.2.1)</B>。正常来说,每个人会这样做,因为XFree86从4.0.2开始,
471 它包含了用来使其能够在它支持的卡片上使用硬件YUV加速(快速的图象显示)的<A HREF="video.html#xv">XVideo</A>扩展(在某些地方被称作<B>Xv</B>)。<BR>
472 确保也安装了<B>开发包</B>,否则它将不工作。<BR>
473 对于一些视频卡你不需要XFree86。参见下面的列表。</LI>
474 <LI><B>make</B> -- 建议<B>总使用最新版本</B>(至少3.79.x)。这通常不太重要。</LI>
475 <LI><B>SDL</B> -- 它不是必须的,但是在某些情况下(损坏的音频,在xv驱动模式下奇怪地延迟的显卡)能帮助。总使用最新(1.2.x或以上)的。</LI>
476 <LI><B>libjpeg</B> -- 可选的JPEG解码器,用于-mf参数和一些QT MOV文件。如果你计划做jpeg文件的工作那么MPlayer和MEncoder都需要它。</LI>
477 <LI><B>libpng</B> -- 推荐也是默认的( M)PNG译码器。GUI需要它。对MPlayer和MEncoder也有用。</LI>
478 <LI><B>lame</B> -- 推荐,MEncoder需要用它把音频做MP3编码,建议<B>总使用最新版本</B>(3.90或以上)。</LI>
479 <LI><B>libogg</B> -- 可选,用于播放OGG文件格式。</LI>
480 <LI><B>libvorbis</B> -- 可选,用于播放OGG Vorbis音频。</LI>
481 <LI><B><A HREF="http://www.live.com/mplayer/">LIVE.COM Streaming Media</A></B>
482 -- 可选,用于播放RTSP/RTP流。</LI>
483 <LI><B>directfb</B> -- 可选,从<A HREF="http://www.directfb.org">http://www.directfb.org</A>获得</LI>
484 <LI><B>cdparanoia</B> -- 可选,用于CDDA支持</LI>
485 <LI><B>libfreetype</B> -- 可选,用于TTF字体支持。至少需要2.0.9以上版本。</LI>
486 <LI><B>libxmms</B> -- 可选, 用于XMMS输入插件的支持。要求至少1.2.7以上版本。</LI>
487 </UL>
488
489 <H4>编解码器:</H4>
490
491 <UL>
492 <LI><B>libavcodec</B>:这个编解码器包可以在多重平台上对H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1编码格式的视频流和
493 WMA(Windows Media Audio)v1/v2的音频流进行解码,它同时也是已知完成这些任务最快的解码器。详细情况请看<A HREF="codecs.html#libavcodec">libavcodec</A>部分。特性<BR>:
494 <UL>
495 <LI>在非x86机器上的对上述的各种编码格式解码。</LI>
496 <LI>以上述大多数编码格式编码。</LI>
497 <LI>这是<B>可用的最快的</B>DivX/3/4/5和其它MPEG4类型的解码器,高度推荐。</LI>
498 </UL>
499 </LI>
500 <LI><B>Win32编解码器</B>:如果你计划在x86构架的机器上使用MPlayer,你将有可能需要他们。在开始MPlayer的编译<B>之前</B>下载
501 并用unzip解压缩w32codecs.zip到/usr/lib/win32,否则将不会编译Win32支持代码!<BR>
502 <B>注意</B>: avifile项目有类似的codecs包,但是它不同于我们的,如此如果你想使用所有支持的编解码器,安装我们的包(别担心,
503 avifile使用它不会有任何问题).特性:<BR>
504 <UL>
505 <LI>如果你想要播放或者编码例如以各种各样的硬件压缩器记录的电影,像选台器卡,数码相机(例如:DV,ATI VCR,MJPEG),你将需要它</LI>
506 <LI>如果你想要播放<B>WMV8,WMV9/WMA9格式的电影</B>那就需要它。播放老的以MP41或者MP42视频的ASF(尽管这些文件的音频常常是VoxWare -- 它是通过Win32编解码器解码的),或者WMV7是不需要它的。</LI>
507 </UL>
508 </LI>
509 <LI><B>QuickTime编解码器</B>:在x86平台上这些编解码器可以用来解码Sorenson v1/v3, RPZA, 和其他QuickTime视频,和QDesign音频流。
510 安装方法可以在<A HREF="codecs.html#sorenson">Sorenson视频编解码器</A>部分找到。</LI>
511 <LI><B>DivX4与DivX5:</B>关于这编码格式的信息可从<A HREF="codecs.html#divx">DivX4与DivX5</A>节得到。如果你不想用它来编码,
512 你有可能不会想要这个解码器,因为<B>libavcodec</B>(见上面)比它快得多。<BR>
513 特性:
514 <UL>
515 <LI>用<A HREF="encoding.html">MEncoder</A>进行1 pass或2 pass编码。</LI>
516 <LI>播放老的<B>DivX3</B>格式的电影比Win32 DLL快得多但是比<B>libavcodec</B>慢!</LI>
517 <LI>它封闭源码的,而且仅仅有一个x86平台的版本。</LI>
518 </UL>
519 </LI>
520 <LI><B>XviD:</B>开源的Divx4Linux的编码替代品<BR>
521 特色:
522 <UL>
523 <LI>用<A HREF="encoding.html">MEncoder</A>进行1 pass或2 pass编码。</LI>
524 <LI>这是开源的,所以是多平台的。</LI>
525 <LI>它的编码速度比divx4快2倍 -- 在几乎相同的质量的情况下</LI>
526 </UL>
527 </LI>
528 <LI><A HREF="codecs.html#xanim">XAnim codecs</A>对解码<B>3ivx</B>和Indeo 3/4/5格式,和一些旧的格式的电影效果是最好(全
529 屏幕,硬件YUV缩放)。同时,他们是多平台的,因此这是在非x86平台上播放Indeo的唯一的方法(当然,除了直接使用XAnim之外:)。
530 但是例如Cinepak电影MPlayer自己的Cinepak解码器播放才有最好的效果!</LI>
531 <LI>对于<B>Ogg Vorbis</B>音频解码你需要正确地安装<CODE>libvorbis</CODE>。如果可能的话尽量使用deb/rpm包装,
532 或者用<A HREF="http://ogg.org/ogg/vorbis/download/vorbis_nightly_cvs.tgz">源代码</A>编译(这是Vorbis CVS的每天最新的tarball)。</LI>
533 <LI>MPlayer能使用RealPlayer 8或RealONE的库来播放包括<B>RealVideo 2.0 - 4.0</B>格式的视频和Sipro/Cook格式的音频的文件。
534 安装方法以及关于它的更多信息参见<A HREF="formats.html#real">RealMedia文件格式</A>部分!</LI>
535 </UL>
536
537 <H4>显卡</H4>
538
539 <P>一般地显卡可分为两种。一种(较新的显卡)支持<B>硬件缩放和YUV加速</B>,另一种卡没有。</P>
540
541 <H4>YUV显卡</H4>
542
543 <P>他们能在他们显存可以的范围中用任何分辨率显示和缩放(zoom)图像,只<B>占用很少的CPU</B>(即使在放大的时候),所以你能得到清晰而且飞快的全屏播放。</P>
544
545 <UL>
546 <LI><B>Matrox G200与G400与G450与G550显卡</B>:虽然提供了一个<A HREF="video.html#vidix">Vidix驱动</A>,
547 但还是推荐使用旧的mga_vid内核模块,因为它工作起来好得多。关于其安装和使用参见<A HREF="video.html#mga_vid">mga-vid</A>部分。
548 在编译MPlayer<I>之前</I>进行这些步骤这一点很重要,否则不会编译mga_vid的支持代码。同时也请查看<A HREF="video.html#tv-out_matrox">Matrox的电视输出</A>部分。
549 <U><B>如果你是非Linux用户</B></U>,你的唯一的选择是VIDIX驱动:请看<A HREF="video.html#vidix">VIDIX</A>部分!</LI>
550 <LI><B>3Dfx Voodoo3与Banshee显卡</B>:请参见<A HREF="video.html#tdfxfb">tdfxfb</A>部分以了解如何获得大幅的速度提升。
551 在编译MPlayer<B>之前</B>进行这些步骤这一点很重要,否则不会编译3Dfx的支持代码。也请参考<A HREF="video.html#tv-out_voodoo">3dfx电视输出</A>部分。
552 如果你使用X,至少使用4.2.0版本,因为4.1.0和更早发行版本的3dfx的Xv驱动是坏的!</LI>
553 <LI><B>ATI显卡</B>:下列的显卡提供了<A HREF="video.html#vidix">Vidix驱动</A>:<B>Radeon</B>,<B>Rage128</B>,
554 <B>Mach64</B>(Rage XL/Mobility,Xpert98)。也请参考电视输出文档中的<A HREF="video.html#tv-out_ati">ATI电视输出</A>部分,
555 看看Linux与MPlayer是否支持你的显卡的电视输出。</LI>
556 <LI><B>S3显卡</B>:Savage和Virge/DX芯片有硬件加速功能。尽可能使用最新的XFree86版本,老的的驱动很buggy。
557 Savage的芯片的YV12显示有问题,具体细节请看<A HREF="video.html#xv_s3">S3 Xv</A>部分。更老的,Trio显卡没有,或只有很慢的硬件加速功能。</LI>
558 <LI><B>nVidia显卡</B>:可能是也可能不是视频播放的好的选择。如果你没有一个GeForce2(或更新的)显卡,你不太可能在运行中不遇到bugs。
559 <B>XFree86中内建的nVidia驱动不支持所有nVidia显卡(GeForce2以下)的硬件YUV加速。</B>你必须从nVidia.com下载nVidia的封闭源码的驱动。细节参见<A HREF="video.html#xv_nvidia">nVidia Xv驱动</A>部分。同时也查看<A HREF="video.html#tv-out_nvidia">nVidia电视输出部分</A>如果你希望使用一个电视。</LI>
560 <LI><B>3DLabs GLINT R3和Permedia3</B>:提供VIDIX驱动(pm3-vid)。细节参见<A HREF="video.html#vidix">VIDIX</A>部分。</LI>
561 <LI><B>其它卡片:</B>不是上述的任何一个?
562 <UL>
563 <LI>试试XFree86的驱动(和你的显卡)是否支持硬件加速。细节参见<A HREF="video.html#xv">Xv部分</A>。</LI>
564 <LI>如果不是,那么你的操作系统不支持你显卡的视频特性:(<BR>
565 如果它在Windows下能够使用硬件缩放,那并不不意味着在Linux或者其它OS下做同样的事情,它依赖于驱动!
566 大多数制造厂不做Linux驱动也不公布芯片标准 -- 所以,使用他们的显卡你很不走运。看‘非YUV显卡’:
567 </LI>
568 </UL>
569 </LI>
570 </UL>
571
572 <H4>非YUV卡片</H4>
573
574 <P>可以通过使用<B>软件缩放</B>(使用<CODE>-zoom</CODE>或者<CODE>-vop scale</CODE>参数,但是我先警告你:
575 这会比较慢),或者通过切换成较小的的分辨率来实现全屏播放,例如352x288。如果你没有YUV加速,我们推荐使用后一种方法。视频模式切换通过<CODE>-vm</CODE>选项打开,它能用于下列驱动:</P>
576
577 <UL>
578 <LI><B>使用</B>XFree86:细节参见<A HREF="video.html#x11"">X11驱动</A>和<A HREF="video.html#dga">DGA驱动</A>部分。推荐使用DGA!
579 也可以尝试通过SDL使用DGA,有时这种办法更好。</LI>
580 <LI><B>不使用</B>XFree86:按下列顺序尝试驱动模式:<A HREF="video.html#vesa">vesa</A>,<A HREF="video.html#fbdev">fbdev</A>,
581 <A HREF="video.html#svgalib">svgalib</A>,<A HREF="video.html#aalib">aalib</A>。</LI>
582 </UL>
583
584 <H4>某些显卡:</H4>
585
586 <UL>
587 <LI><B>Cirrus Logic显卡</B>:
588 <UL>
589 <LI>GD 7548: 板载显卡并用Compaq Armada 41xx系列的笔记本测试。
590 <UL>
591 <LI>XFree86 3:能使用8/16bpp模式。然而,这个驱动在800x600@16bpp下狂慢而且buggy<B>推荐: 640x480@16bpp</B></LI>
592 <LI>XFree86 4: 如果不仅用加速Xserver会在启动后不久失去响应,但这样之后就比XFree86 3慢了。没有XVideo</LI>
593 <LI>FBdev: 这个显卡只兼容VBE 1.2,所以VESA帧缓冲用不了,当尝试用UniVBE来绕过时, 帧缓冲显示的全是碎片根本用不了。</LI>
594 <LI>VESA: 这个显卡只兼容VBE 1.2,所以VESA输出用不了。无法通过使用UniVBE解决</LI>
595 <LI>SVGAlib: 检测成更老的Cirrus芯片. 用<CODE>-bpp 8</CODE>可以使用但很慢</LI>
596 </UL>
597 </LI>
598 </UL>
599 </LI>
600 </UL>
601
602 <H4>声卡</H4>
603
604 <UL>
605 <LI><B>Soundblaster Live!</B>:通过这种声卡你能使用4或者6(<B>5.1</B>)声道AC3解码而不只是2声道。请看<A
606 HREF="codecs.html#software_ac3">软件AC3解码</A>一节。对于硬件AC3输出你必须使用ALSA 0.9的oss仿真!</LI>
607 <LI><B>C-Media的SP/DIF输出</B>:这些声卡可以使用硬件AC3输出,参见<A HREF="codecs.html#hardware_ac3">硬件AC3解码</A>一节。</LI>
608 <LI><B>其它声卡</B>的特性MPlayer是不支持的。
609 <U>强烈建议阅读<A HREF="sound.html">声卡</A>部分!</U>
610 </UL>
611
612 <H4>特性</H4>
613
614 <UL>
615 <LI>考虑一下你是否需要GUI。如果需要,在进行编译之前,请看<A HREF="#gui">GUI</A>部分。</LI>
616 <LI>如果你想要安装MEncoder(我们的强大的全功能编码器),请看<A HREF="encoding.html">MEncoder部分</A>。</LI>
617 <LI>如果你有一张V4L兼容的<B>电视选台器</B>的卡,并且希望用MPlayer观看/截取并且录制电影,请看<A HREF="#tv">电视输入</A>一节。</LI>
618 <LI>有一个精致的<B>OSD菜单</B>可供使用。查看<A HREF="#menu">OSD菜单</A>部分。</LI>
619 </UL>
620
621 <P>接着编译MPlayer:</P>
622
623 <PRE>
624 ./configure
625 make
626 make install
627 </PRE>
628
629 <P>到此为止,MPlayer就可以使用了。<CODE>$PREFIX/share/mplayer</CODE>目录下包含了<CODE>codecs.conf</CODE>文件,
630 程序通过它来了解所有的编解码器和他们的能兼容的格式。该文件应该与主程序一起更新!<BR>
631 检查在你的home目录(~/.mplayer/codecs.conf)中是否有旧的MPlayer版本留下的codecs.conf,如果有就删掉它!</P>
632
633 <P><B>Debian的用户</B>能自己制作<CODE>.deb</CODE>安装包,这十分简单。直接在MPlayer的根目录下执行<CODE>fakeroot debian/rules binary</CODE>。
634 详尽的步骤请看<A HREF="documentation.html#debian">Debian安装包的制作</A>。</P>
635
636 <P><CODE>./configure</CODE><B>的输出请务必一定阅读</B>,还有<CODE>configure.log</CODE>文件,其中的信息会告诉你将什么将被编译,什么将不编译。
637 你也可能需要查看<CODE>config.h</CODE>和<CODE>config.mak</CODE>文件。<BR>
638 如果你已经安装一些库文件,却没有被<CODE>./configure</CODE>发现,那么检查你是否也安装了正确的头文件(通常在-dev包中)以及他们的版本符合要求。
639 <CODE>configure.log</CODE>通常会告诉你缺什么。</P>
640
641 <P>尽管并非必需,你确实应该安装字体以使用OSD和字幕功能。推荐的方法是安装一个TTF字体文件并让MPlayer使用它。
642 阅读<A HREF="#subtitles_osd">字幕和OSD</A>一节来了解其细节。</P>
643
644
645
646 <H2><A NAME="gui">1.3 GUI有吗?</A></H2>
647
648 <P>GUI需要GTK 1.2.x(它不是GTK的,但是面板是的)。skin被保存为PNG格式,因此你需要安装gtk,libpng(和他们的devel包,一般是gtk-dev和libpng-dev)。
649 你必须在运行<CODE>./configure</CODE>时使用<CODE>--enable-gui</CODE>来编译它的代码。然后,你可以用下列方法之一打开GUI方式</P>
650 <UL>
651 <LI>在你的config文件中添加<CODE>gui=yes</CODE></LI>
652 <LI><CODE>ln -s $PREFIX/bin/mplayer $PREFIX/bin/gmplayer</CODE>,然后运行<CODE>gmplayer</CODE>。
653 </UL>
654
655 <P>目前由于技术原因,目前你不能在命令行下使用<CODE>-gui</CODE>选项。</P>
656
657 <P>因为MPlayer不自带skin,所以如果你想要使用GUI,你必须自己下载它们。参见<A HREF="http://www.mplayerhq.hu/homepage/dload.html">下载页</A>。
658 他们应该被解压到系统通用的目录(<CODE>$PREFIX/share/mplayer/Skin</CODE>),或者解压到<CODE>$HOME/.mplayer/Skin</CODE>。
659 MPlayer在默认情况下会在这些的目录里寻找一个叫<I>default</I>的目录,
660 但是你能使用<CODE>-skin newskin</CODE>选项或在config文件中添加<CODE>skin=newskin</CODE>来强制使用<CODE>*/Skin/newskin</CODE>目录下的skin。</P>
661
662 <H2><A NAME="subtitles_osd">1.4 字幕和OSD</A></H2>
663
664 <P>
665 MPlayer能在播放电影的同时显示字幕。目前支持下列格式:</P>
666 <UL>
667 <LI>VobSub</LI>
668 <LI>OGM</LI>
669 <LI>CC (closed caption)</LI>
670 <LI>Microdvd</LI>
671 <LI>SubRip</LI>
672 <LI>SubViewer</LI>
673 <LI>Sami</LI>
674 <LI>VPlayer</LI>
675 <LI>RT</LI>
676 <LI>SSA</LI>
677 <LI>MPsub</LI>
678 <LI>AQTitle</LI>
679 <LI>JACOsub</LI>
680 </UL>
681
682 <P>MPlaye可以把上面列出的字幕格式(除了前三个)转换成下列的格式,使用下列选项:</P>
683
684 <UL>
685 <LI>MPsub: <CODE>-dumpmpsub</CODE></LI>
686 <LI>SubRip: <CODE>-dumpsrtsub</CODE></LI>
687 <LI>Microdvd: <CODE>-dumpmicrodvdsub</CODE></LI>
688 <LI>JACOsub: <CODE>-dumpjacosub</CODE></LI>
689 <LI>Sami: <CODE>-dumpsami</CODE></LI>
690 </UL>
691
692 <P>使用不同格式的命令行选项稍有不同:</P>
693
694 <H4>VobSub字幕</H4>
695
696 <P>VobSub字幕包括一个大的(几兆).sub文件,和可选的.idx和/或者.ifo文件。<BR>
697 用法: 如果你有类似<CODE>sample.sub</CODE>,<CODE>sample.ifo</CODE>,<CODE>sample.idx</CODE>之类的文件
698 -- 你必需使用<CODE>-vobsub sample -vobsubid &lt;id&gt;</CODE>的参数(当然必要时加上路径)。
699 <CODE>-vobsubid </CODE>选择类似于播放DVD时的<CODE>-sid</CODE>,用它你可以选择不同的字幕轨道(语言)。当省略<CODE>-vobsubid</CODE>选项时,
700 MPlayer将尝试使用<CODE>-slang</CODE>中指定的语言,如果没有找到将使用.idx文件中的<CODE>langidx</CODE>项指定的语言,如果这些尝试都失败了,
701 那就将没有字幕显示。</P>
702
703 <H4>其它字幕</H4>
704 <P>其它格式由一个单一的包含时间,位置和正文信息的文本文件组成。<BR>
705 用法: 如果你有类似<CODE>sample.txt</CODE>之类的文件,你必须使用<CODE>-sub sample.txt</CODE>
706 (可以加上完整路径)。</P>
707
708 <H4>调整字幕的时间和位置</H4>
709
710 <DL>
711 <DT><CODE>-subdelay&lt;sec&gt;</CODE></DT>
712 <DD>延迟字幕&lt; sec &gt;秒。可以是负数。</DD>
713
714 <DT><CODE>-subfps&lt;rate&gt;</CODE></DT>
715 <DD>规定字幕文件按每秒多少帧速度显示(浮点数)</DD>
716
717 <DT><CODE>-subpos&lt;0-100&gt;</CODE></DT>
718 <DD>规定字幕显示的位置。</DD>
719 </DL>
720
721 <P>如果你使用MicroDVD字幕文件时遇到电影和字幕之间的延迟不断增加的问题,很有可能你的电影文件和字幕文件的帧速度不同。<BR>
722 请注意,MicroDVD字幕格式用绝对帧数来计时,因此<CODE>-subfps</CODE>选项不能用于这种格式。因为MPlayer没法猜测
723 字幕文件的帧速度,你必须手工修改它。在MPlayer的FTP站点的<CODE>contrib</CODE>目录中有一个小的perl脚本可以替你做这种转化。</P>
724
725 <P>当你播放一个电影时MPlayer将尝试猜测你想要使用的字幕文件,在大多数情况下,字幕文件和电影文件在同一个目录下,并且有相同的名字,
726 你不需要设置有关字幕的选项,只要正常播放电影就可以了,MPlayer会自动播放字幕。
727
728 <P>关于DVD字幕,请看<A HREF="cd-dvd.html#dvd">DVD</A>一节。</P>
729
730 <H3><A NAME="mpsub">1.4.1 MPlayer自己的字幕格式(MPsub)</A></H3>
731
732 <P>MPlayer引入一种称为<B>MPsub</B>的新的字幕格式。它由Gabucino设计。基本上,其主要的特性是基于<I>动态</I>时间
733 (虽然它有基于帧的模式)。例如(引自<A HREF="http://www.mplayerhq.hu/DOCS/tech/mpsub.sub">DOCS/tech/mpsub.sub</A>):</P>
734
735 <P><CODE><I># first number : wait this much after previous subtitle disappeared<BR>
736 # second number : display the current subtitle for this many seconds<BR>
737 <BR>
738 15 3<BR>
739 A long long, time ago...<BR>
740 <BR>
741 0 3<BR>
742 in a galaxy far away...<BR>
743 <BR>
744 0 3<BR>
745 Naboo was under an attack.<BR>
746 </I></CODE></P>
747
748 <P>因此如你所见,主要的目标是<B>使字幕的编辑/计时/合并/分割变得容易</B>。同时,如果你 -- 比方说 -- 有一个SSA字幕但是它
749 与你的电影却有严重的时间/延迟问题,你只要简单运行<CODE>mplayer dummy.avi -sub source.ssa -dumpmpsub</CODE>。
750 在当前目录中将生成一个<CODE>dump.mpsub</CODE>文件,它包含源字幕的正文,但是使用<B>MPsub</B>格式。
751 然后,你就能字幕中自由地添加或减去任意秒。</P>
752
753 <P>字幕的显示使用一种称为<B>'OSD', On Screen Display</B>的技术。OSD被用来显示当前的时间,音量条,进度条等等。</P>
754
755 <H3><A NAME="install_osd">1.4.2 安装OSD和字幕</A></H3>
756
757 <P>你需要一个MPlayer字体包来使用OSD和字幕功能。有许多方法获得它:</P>
758
759 <UL>
760
761 <LI>从MPlayer站点下载准备好的字体包。
762 注意:当前可用的字体限仅限于iso 8859-1/2的支持,但在FTP占的contrib/font部分有其它一些(包括朝鲜语,俄语,8859-8等等)用户制作的字体。<BR>
763
764 字体应该有正确的font.desc文件用来把unicode中字符位置映射到字幕文件实际使用的编码页。另一种解决方法是把字幕用utf8格式编码
765 然后使用-utf8选项或者将字幕文件命名为&lt;video_name&gt;.utf放在与视频文件相同的目录中。将不同的编码页转换到utf8编码可以通过使用
766 konwert(Debian)或者iconv(Red Hat)程序完成。<BR>
767 一些URL:
768 <UL>
769 <LI><A HREF="ftp://ftp.mplayerhq.hu/MPlayer/releases/">ftp://ftp.mplayerhq.hu/MPlayer/releases/</A> -- ISO字体</LI>
770 <LI><A HREF="ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/">ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/</A> -- 用户制作的各种各样的字体</LI>
771 <LI><A HREF="http://realtime.ssu.ac.kr/~lethean/mplayer">http://realtime.ssu.ac.kr/~lethean/mplayer/</A> -- 朝鲜字体 &amp; RAW的插件</LI>
772 </UL>
773 </LI>
774 <LI>使用TOOLS/subfont-c下的字体制作工具,它是一个能将TTF/Type1等字体转换成mplayer字体包的一个完整的工具。
775 (详细情况请看TOOLS/subfont-c/README)</LI>
776 <LI>使用TOOLS/subfont-GIMP下的GIMP字体生成插件(注:你同时也必须有HSI RAW插件,见下面的URL)</LI>
777 <LI>使用TrueType(TTF)字体,通过<B>freetype</B>库。必须使用2.0.9或更高的版本!然后你有两种方法:
778 <UL>
779 <LI>使用<CODE>-font /path/to/arial.ttf</CODE>选项来在每次播放时指定一个TrueType字体文件/LI>
780 <LI>创建一个符号链接:<CODE>ln -s /path/to/arial.ttf ~/.mplayer/subfont.ttf</CODE></LI>
781 </UL>
782 </LI>
783 </UL>
784
785 <P>如果你使用非TTF字体,把你下载的文件UNZIP到<CODE>~/.mplayer</CODE>或者<CODE>$PREFIX/share/mplayer</CODE>。
786 然后将其中之一改名或者符合链接为<CODE>font</CODE>(例如:<CODE>ln -s ~/.mplayer/arial-24 ~/.mplayer/font</CODE>)。
787 你现在应该在电影的左上角看见一个计时器(用"o"键可以关上它)。</P>
788
789 <P>OSD有4种状态:(用'o'键切换)</P>
790 <UL>
791 <LI>音量条+进度条(默认)
792 <LI>音量条+进度条+计时器+搜索中显示文件位置百分比</LI>
793 <LI>音量条+进度条+计时器+媒体总时间</LI>
794 <LI>只有字幕</LI>
795 </UL>
796
797 <P>你能通过在config文件中设置<CODE>osdlevel=</CODE>变量,或者用命令行选项<CODE>-osdlevel</CODE>来改变默认行为。</P>
798
799 <H3><A NAME="menu">1.4.3 OSD菜单</A></H3>
800
801 <P>MPlayer有一个完全用户自定义的OSD菜单接口。</P>
802
803 <P><B>注意:</B>Preferences菜单目前不能使用!</P>
804
805 <H4>安装</H4>
806
807 <OL>
808 <LI>编译MPlayer时在<CODE>./configure</CODE>时加上<CODE>--enable-menu</CODE>参数</LI>
809 <LI>确保你安装了OSD字体</LI>
810 <LI>把<CODE>etc/menu.conf</CODE>复制到你的<CODE>.mplayer</CODE>目录</LI>
811 <LI>把<CODE>etc/input.conf</CODE>复制到你的<CODE>.mplayer</CODE>目录,或者系统通用的MPlayer配置目录(默认为:<CODE>/usr/local/etc/mplayer</CODE>)</LI>
812 <LI>检查并编辑<CODE>input.conf</CODE>来启用菜单控制键(在那里有描述).</LI>
813 <LI>像下面的例子这样启动MPlayer:<BR>
814 <CODE>$ mplayer -menu file.avi</CODE></LI>
815 <LI>按你所定义的菜单键</LI>
816 </OL>
817
818
819 <H2><A NAME="rtc">1.5 RTC</A></H2>
820
821 在MPlayer中有三种计时方法。
822 <UL>
823 <LI><B>使用老方法</B>,你不必做任何事情。它使用<CODE>usleep()</CODE>调整A/V同步,达到+/-10ms的准确性。
824 但有些情况下同步应该调整的更精确。</LI>
825 <LI><B>新的定时器</B>代码使用PC的RTC(Real Time Clock)完成这个任务,因为它有精确到1ms的计时器。当它可用时会自动使用它,
826 但需要root权限,或一个<I>setuid root</I>的二进制的MPlayer或者一个适当配置的内核。
827 <BR>
828 如果你使用2.4.19pre8或以上的内核你能通过<CODE>/proc</CODE>文件系统来调整普通用户的最大RTC频率。使用下列命令来允许普通用户使用RTC:
829 <P>
830 <CODE>echo 1024 &gt; /proc/sys/dev/rtc/max-user-freq</CODE>
831 </P>
832 如果你没有这么新的内核,你也可以修改<CODE>drivers/char/rtc.c</CODE>中的一行并且重新编译你的内核。找到下面这一段
833 <PRE>
834 * We don't really want Joe User enabling more
835 * than 64Hz of interrupts on a multi-user machine.
836 */
837 if ((rtc_freq &gt; 64) &amp;&amp; (!capable(CAP_SYS_RESOURCE)))
838 </PRE>
839 把64改成1024。当然你应该确实明白你做了什么。
840 <BR>
841 你能在状态行上看到新的计时器的效果。
842 <BR>
843 一些使用speedstep功能CPU的笔记本的BIOS的电源管理不能很好的与RTC协同工作。音频和视频可能会不同步。在给你的笔记本加电之前将外部电源接上似乎会有帮助。
844 你总能用<CODE>-nortc</CODE>选项关闭RTC支持。一些硬件连接器(在ALi1541主板上使用非DMA的DVD光驱上)RTC定时器的使用会造成跳跃的播放。
845 在这些情况下,推荐使用下面的方法。</LI>
846 <LI><B>第三个定时器代码</B>可以用<CODE>-softsleep</CODE>选项打开。它有RTC的效果,但是它不使用RTC。另一方面,它要使用更多的CPU。</LI>
847 </UL>
848 </LI>
849 </UL>
850
851 <B>注意:</B><B>永远不要将setuid root的MPlayer安装在多用户系统上!</B>这显然会让任何人得到root权限。
852
853
854 <H1><A NAME="features">2. 特性</A></H1>
855
856
857 <H2><A NAME="formats">2.1</A> <A HREF="formats.html">支持格式</A></H2>
858
859
860 <H2><A NAME="codecs">2.2</A> <A HREF="codecs.html">支持的编解码器</A></H2>
861
862
863 <H2><A NAME="output">2.3</A > <A HREF="video.html">视频</A> &amp; <A HREF="sound.html">音频</A>输出模式</H2>
864
865
866 <H2><A NAME="tv"><B>2.4 电视输入</B></A></H2>
867
868
869 <P>这段将要如何能够<B>使用V4L兼容的电视选台器观看与截取</B>。电视相关的选项和键盘控制的描述请看man page。</P>
870
871 <H3><A NAME="tv_compilation">2.4.1 编译</A></H3>
872
873 <OL>
874 <LI>首先,你必须重新编译。<CODE>./configure</CODE>将自动检测v4l的内核头文件和<CODE>/dev/video*</CODE>
875 输入的存在。如果他们存在,电视支持将被编译(检查<CODE>./configure</CODE>的输出)。</LI>
876 <LI>确保你的选台器能被别的Linux中的电视软件使用,例如xawtv。</LI>
877 </OL>
878
879 <H3><A NAME="tv_tips">2.4.2 使用技巧</A></H3>
880
881 可用选项的完整列表在manual page中。这里只是一些使用技巧:
882
883 <UL>
884 <LI>使用<CODE>channels</CODE>选项。例如:<BR>
885 <CODE>-tv on:channels=26-MTV1,23-TV2</CODE><BR>
886 解释:使用这个选项,只有26和23频道可以使用,当频道切换时会有一个显示频道名的精致的OSD文字。频道名中的空格必须用"_"代替。</LI>
887 <LI>选择完整的图像分辨率。输出图像的分辨率必须能够被16整除。</LI>
888 <LI>如果你截取视频的垂直分辨率比完整分辨率的一半还高(PAL制是288,NTSC是240),确保你打开非交错选项,否则你得到的电影将在
889 高速运动的场景中发生扭曲,而且由于交错模式产生大量的细节消耗很多带宽,比特率控制器很可能无法获得指定的比特率。你能使用<CODE>-vop pp=DEINT_TYPE</CODE>打开非交错选项。一般来说<CODE>pp=lb</CODE>工作的不错,但这可能取决于个人的设定。查看manual中的别的
890 非交错算法,都尝试一下。</LI>
891 <LI>切割到无用的空间。当你截取视频时,边界区域通常时黑的或者包含一些噪音。这同样不必要的消耗了很多带宽。更精确的说不是那些黑的
892 区域本身而是在黑的和更亮的视频图像之间的形状变换消耗带宽,但现在这并不重要。在你开始截取之前,调整<CODE>crop</CODE>选项的参数
893 使所有边缘的废物都被切割掉。同时,别忘了保持完整的输出图像的分辨率。</LI>
894 <LI>注意CPU的工作量。它在大多数时间不应该超过90%的界限。如果你有一个大的截取的缓冲区,MEncoder可以忍受几秒钟的过载但不能再多了
895 最好把3D的OpenGL屏保和类似的东西关掉。</LI>
896 <LI>不要搞乱系统时钟。MEncoder使用系统时钟进行A/V同步。如果你调试系统时钟(特别是把时间往后调),MEncoder会产生混乱而你将会丢失帧。
897 这将是一个重要的问题如果你挂在一个网络上并且运行着某种时间同步软件比如NTP,如果你希望可靠的截取,那么在你截取的过程中你必须把NTP关掉。</LI>
898 <LI>不要改变<CODE>outfmt</CODE>除非你知道你在干什么或者你的芯片/驱动确实不支持默认值(YV12色彩空间)。在老版本的MPlayer/MEncoder
899 中必须指定输出格式。这个问题在现在的发行版中应该被修正而不再需要指定<CODE>outfmt</CODE>,默认值适合大多数应用目的。例如,你用libavcodec把
900 截取的内容编码成DivX并指定<CODE>outfmt=RGB24</CODE>希望提高截取图像的质量, 所截取的图像在其后的过程中将重新转换回YV12,所以你获得的唯一
901 效果就是消耗了大量的CPU。
902 </LI>
903 <LI>要指定I420色彩空间(<CODE>outfmt=i420</CODE>),由于与Intel Indeo video编解码器的fourcc冲突,你必须增加一个选项<CODE>-vc rawi420</CODE></LI>
904 <LI>有很多方法可以截取音频。你可以通过用外部电缆线将显卡和声卡的line-in连接起来,用声卡截取音频,或者使用bt878芯片内建的ADC。在后一种情况下,
905 你需要装载<B>btaudio</B>驱动。阅读<CODE>linux/Documentation/sound/btaudio</CODE>文件(在内核的源码树中,不是MPlayer的)来了解使用
906 这个驱动的方法。</LI>
907 <LI>如果MEncoder无法打开音频设备,确保它们真的可用。可能是声音服务器比如arts(KDE)或者esd(GNOME)的问题。如果你有一块全双工的声卡(现在几乎
908 任何像样的声卡都支持它),而你又在使用KDE,检查声音服务器设置菜单中的"全双工"选项。</LI>
909 </UL>
910
911 <H3><A NAME="tv_examples"><B>2.4.3 示例</B></A></H3>
912
913 <P>伪输出,到AAlib:)<BR>
914 <CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -tv on:driver=dummy:width=640:height=480 -vo aa</CODE><BR>
915 <BR>
916 从标准的V4L输入<BR>
917 <CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -tv on:driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv</CODE><BR>
918 <BR>
919
920 一个更复杂的例子。它使用MEncoder截取完整的PAL图像,切掉边缘的空白,输出非交错图像使用线性混合算法。音频使用LAME编解码器按固定比特率
921 64kbps压缩。这个设置适合用来截取电影。<BR>
922 <CODE>
923 &nbsp;&nbsp;&nbsp;&nbsp;mencoder -tv on:driver=v4l:width=768:height=576 \<BR>
924 &nbsp;&nbsp;&nbsp;&nbsp;-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \<BR>
925 &nbsp;&nbsp;&nbsp;&nbsp;-oac mp3lame -lameopts cbr:br=64 \<BR>
926 &nbsp;&nbsp;&nbsp;&nbsp;-vop pp=lb,crop=720:544:24:16 -o output.avi
927 </CODE><BR>
928
929 <BR>
930 这个加上了重新缩放图像到384x288并把视频用高质量模式压缩到350kbps的比特率。vqmax选项放宽量化器从而允许视频压缩器在牺牲质量的前提下达到
931 如此低的比特率。这可以用来截取长的电视连续剧,在那种用途下视频质量并不非常重要。<BR>
932 <CODE>
933 &nbsp;&nbsp;&nbsp;&nbsp;mencoder -tv on:driver=v4l:width=768:height=576 \<BR>
934 &nbsp;&nbsp;&nbsp;&nbsp;-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \<BR>
935 &nbsp;&nbsp;&nbsp;&nbsp;-oac mp3lame -lameopts cbr:br=48 \<BR>
936 &nbsp;&nbsp;&nbsp;&nbsp;-vop scale=384:288,pp=tn/lb,crop=720:540:24:18 -sws 1 -o output.avi
937 </CODE><BR>
938
939 也可以在<CODE>-tv</CODE>选项中设置一个较小的分辨率而忽略软件缩放选项但是上面的方法使用最大的可用信息而且对噪音更有抵抗力。bt8x8芯片
940 由于硬件的限制只能在水平方向上作点平均。</P>
941
942
943 <H2><A NAME="edl">2.5 编辑决定列表(EDL)</A></H2>
944
945 <P>编辑决定列表(EDL)系统允许你在播放的时候自动在视频的一部分跳过或者静音,基于一个电影相关的EDL配置文件。</P>
946
947 <P>这对那些想用"家庭友好"模式观赏电影的人有用。你可以根据你个人的设定从一部电影里切掉任何暴力,亵渎,Jar-Jar Binks ..的内容。
948 除了这之外,它还有别的用途,比如自动跳过你正在观看的视频文件中的广告。</P>
949
950 <P>EDL文件的格式相当简陋。当EDL达到一定的成熟度的时候,可能会使用一个基于XML的文件格式(保持对原来的EDL格式的向下兼容)。</P>
951
952 <P>在目前的EDL实现中最大的EDL输入限制为1000。如果你碰巧需要更多,修改<CODE>edl.h</CODE>文件中的<CODE>#define MAX_EDL_ENTRIES</CODE>。</P>
953
954 <H3><A NAME="edl_using">2.5.1 使用EDL文件</A></H3>
955
956 <P>在你运行MPlayer的时候加上<CODE>-edl &lt;filename&gt;</CODE>参数,filename是你希望应用在视频上的EDL文件的文件名。</P>
957
958 <H3><A NAME="edl_making">2.5.2 制作EDL文件</A></H3>
959
960 <P>目前EDL文件的格式为:</P>
961
962 <CODE>[begin second] [end second] [action]</CODE>
963
964 <P>seconds是浮点数而action可以是<CODE>0</CODE>代表跳过或者<CODE>1</CODE>代表静音。例如:</P>
965
966 <PRE>
967 5.3 7.1 0
968 15 16.7 1
969 420 422 0
970 </PRE>
971
972 <P>这将跳过视频的5.3秒到7.1秒的部分,然后在15秒时静音,在16.7秒处取消静音跳过视频的从420秒到422秒的部分。这些动作将在播放计时器达到
973 文件中指定的时间时被执行。</P>
974
975 <P>要创建一个用来工作的EDL文件,使用<CODE>-edlout &lt;filename&gt;</CODE>选项,在播放过程中,当你想标记将前两秒跳过时,按<CODE>i</CODE>。
976 一个相应的输入将写入文件。你可以回头调整生成的EDL文件。</P>
977
978 <P><B><A NAME="usage">3. 用法</A></B></P>
979
980 <P><B><A NAME="command_line">3.1 命令行</A></B></P>
981
982 <P>MPlayer使用一个复杂playtree格式。它包括写在最前面作为全局设置的选项(例如<CODE>mplayer -vfm 5</CODE>),和写在文件名之后,
983 仅仅作用于给定的文件名或者URL或者随便什么的选项(例如<CODE>mplayer -vfm 5 movie1.avi movie2.avi -vfm 4</CODE>)。<BR>
984 你能使用{和}给文件名与URL分组。它对-loop选项很有用:<CODE>mplayer { 1.avi -loop 2 2.avi } -loop 3</CODE>命令将按以下顺序播放文件:
985 1 1 2 1 1 2 1 1 2<BR>
986 </P>
987
988 <TABLE BORDER=0>
989 <TR><TD>&nbsp;&nbsp;</TD><TD>单一文件</TD><TD>&nbsp;&nbsp;</TD><TD><CODE>mplayer [options] [path/]filename</CODE></TD></TR>
990 <TR><TD></TD><TD>多个文件</TD><TD></TD><TD><CODE>mplayer [default options] [path/]filename1 [options for filename1] filename2 [options for filename2] ...</CODE></TD></TR>
991 <TR><TD></TD><TD>VCD</TD><TD></TD><TD><CODE>mplayer [options] -vcd trackno [-cdrom-device /dev/cdrom]</CODE></TD></TR>
992 <TR><TD></TD><TD>DVD</TD><TD></TD><TD><CODE>mplayer [options] -dvd titleno [-dvd-device /dev/dvd]</CODE></TD></TR>
993 <TR><TD></TD><TD>WWW</TD><TD></TD><TD><CODE>mplayer [options] http://site.com/file.asf(也可以使用playlist)</CODE></TD></TR>
994 <TR><TD></TD><TD>RTSP</TD><TD></TD><TD><CODE>mplayer [options] rtsp://server.example.com/streamName</CODE></TD></TR>
995 </TABLE>
996
997 <P>
998 最新版本的MPlayer也可以象Xine一样接受URL风格的VCD和DVD轨道: <CODE>mplayer dvd://1</CODE>或者<CODE>mplayer vcd://1</CODE></P>
999
1000 <PRE>
1001 mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
1002 mplayer -vcd 2
1003 mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
1004 mplayer -dvd 1 -dvd-device /dev/hdc
1005 mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi
1006 </PRE>
1007
1008 <H2><A NAME="control">3.2 控制</A></H2>
1009
1010 <P>MPlayer有一个完全可配置的,命令驱动的控制层使你可以键盘,鼠标,游戏杆或遥控器(使用LIRC)控制MPlayer。完整的键盘控制列表参见man page。</P>
1011
1012 <H3><A NAME="controls_configuration">3.2.1 控制键的配置方法</A></H3>
1013
1014 <P>MPlayer允许你使用一个简单的config文件把任何键或按钮绑定为任何一个MPlayer控制命令。
1015 句法是键名后加命令。缺省config文件是<CODE>$HOME/.mplayer/input.conf</CODE>但是<CODE>-input</CODE> conf
1016 选项可以重新指定(相对路径是相对于<CODE>$HOME/.mplayer</CODE>的)。
1017
1018 <P>例子:</P>
1019
1020 <PRE>
1021 ##
1022 ## MPlayer input control file
1023 ##
1024
1025 RIGHT seek +10
1026 LEFT seek -10
1027 - audio_delay 0.100
1028 + audio_delay -0.100
1029 q quit
1030 &gt; pt_step 1
1031 &lt; pt_step -1
1032 ENTER pt_step 1 1
1033 </PRE>
1034
1035 <H4><A NAME="key_names">3.2.2.1 键名</A></H4>
1036
1037 <P>运行<CODE>mplayer -input keylist</CODE>你将得到一个完整的列表</P>
1038
1039 <H4>键盘:</H4>
1040
1041 <UL>
1042 <LI>Any printable character</LI>
1043 <LI>SPACE</LI>
1044 <LI>ENTER</LI>
1045 <LI>TAB</LI>
1046 <LI>CTRL</LI>
1047 <LI>BS</LI>
1048 <LI>DEL</LI>
1049 <LI>INS</LI>
1050 <LI>HOME</LI>
1051 <LI>END</LI>
1052 <LI>PGUP</LI>
1053 <LI>PGDWN</LI>
1054 <LI>ESC</LI>
1055 <LI>RIGHT</LI>
1056 <LI>LEFT</LI>
1057 <LI>UP</LI>
1058 <LI>DOWN</LI>
1059 </UL>
1060
1061 <H4>鼠标(只在X下支持):</H4>
1062
1063 <UL>
1064 <LI>MOUSE_BTN0 (左键)</LI>
1065 <LI>MOUSE_BTN1 (右键)</LI>
1066 <LI>MOUSE_BTN2 (中键)</LI>
1067 <LI>MOUSE_BTN3 (滚轮)</LI>
1068 <LI>MOUSE_BTN4 (滚轮)</LI>
1069 <LI>...</LI>
1070 <LI>MOUSE_BTN9</LI>
1071 </UL>
1072
1073 <H4>游戏杆(编译时必须打开对游戏杆的支持)</H4>
1074
1075 <UL>
1076 <LI>JOY_RIGHT or JOY_AXIS0_PLUS</LI>
1077 <LI>JOY_LEFT or JOY_AXIS0_MINUS</LI>
1078 <LI>JOY_UP or JOY_AXIS1_MINUS</LI>
1079 <LI>JOY_DOWN or JOY_AXIS1_PLUS</LI>
1080 <LI>JOY_AXIS2_PLUS</LI>
1081 <LI>JOY_AXIS2_MINUS</LI>
1082 <LI>....</LI>
1083 <LI>JOY_AXIS9_PLUS</LI>
1084 <LI>JOY_AXIS9_MINUS</LI>
1085 </UL>
1086
1087
1088 <H4><A NAME="commands">3.2.2.2 控制命令</A></H4>
1089
1090 <P>通过运行"mplayer -input cmdlist"你可以得到一个完整的已知命令的列表</P>
1091 <UL>
1092 <LI><B>seek</B> (int) val [(int) type=0]
1093 <P>搜索电影中的某处<BR>
1094 Type 0 是以+/-val秒搜索。<BR>
1095 Type 1 是以电影的val%搜索</P></LI>
1096 <LI><B>audio_delay</B> (float) val
1097 <P>音频延迟val秒</P></LI>
1098 <LI><B>quit</B>
1099 <P>退出MPlayer</P></LI>
1100 <LI><B>pause</B>
1101 <P>暂停/继续playback</P></LI>
1102 <LI><B>grap_frames</B>
1103 <P>有人知道?</P></LI>
1104 <LI><B>pt_step</B> (int) val [(int) force=0]
1105 <P>选择playtree中的下一个/上一个输入。Val的符号决定方向.<BR>
1106 如果在要求的方向上没有其他可用entry,除非force非0,否则不会做任何动作。</P></LI>
1107 <LI><B>pt_up_step</B> (int) val [(int) force=0]
1108 <P>类似pt_step但它跳转到上一级列表的下一个/上一个。用来跳出playtree的内部循环。</P></LI>
1109 <LI><B>alt_src_step</B> (int) val
1110 <P>当一种以上的source可用时选择下一个/上一个(只有asx播放列表支持).</P></LI>
1111 <LI><B>sub_delay</B> (float) val [(int) abs=0]
1112 <P>字幕延迟+/-val秒或当abs非0时跳到val秒。</P></LI>
1113 <LI><B>osd</B> [(int) level=-1]
1114 <P>切换osd模式或当level>0时把它设为level。</P></LI>
1115 <LI><B>volume</B> (int) dir
1116 <P>增加/减少音量</P></LI>
1117 <LI><B>contrast</B> (int) val [(int) abs=0]</LI>
1118 <LI><B>brightness</B> (int) val [(int) abs=0]</LI>
1119 <LI><B>hue</B> (int) val [(int) abs=0]</LI>
1120 <LI><B>saturation</B> (int) val [(int) abs=0]
1121 <P>设置/调整视频参数。Val范围从-100到100。</P></LI>
1122 <LI><B>frame_drop</B> [(int) type=-1]
1123 <P>切换/设置frame dropping模式。</P></LI>
1124 <LI><B>sub_visibility</B>
1125 <P>切换字幕是否可见。</P></LI>
1126 <LI><B>sub_pos</B> (int) val
1127 <P>调整字幕位置。</P></LI>
1128 <LI><B>vobsub_lang</B>
1129 <P>改变VobSub字幕的语言。</P></LI>
1130 <LI><B>vo_fullscreen</B>
1131 <P>切换到全屏</P></LI>
1132 <LI><B>tv_step_channel</B> (int) dir
1133 <P>选择下一个/上一个tv频道。</P></LI>
1134 <LI><B>tv_step_norm</B>
1135 <P>切换TV制式。</P></LI>
1136 <LI><B>tv_step_chanlist</B>
1137 <P>切换频道列表。</P></LI>
1138 <LI><B>gui_loadfile</B></LI>
1139 <LI><B>gui_loadsubtitle</B></LI>
1140 <LI><B>gui_about</B></LI>
1141 <LI><B>gui_play</B></LI>
1142 <LI><B>gui_stop</B></LI>
1143 <LI><B>gui_playlist</B></LI>
1144 <LI><B>gui_preferences</B></LI>
1145 <LI><B>gui_skinbrowser</B>
1146 <P>GUI的行为</P></LI>
1147 </UL>
1148
1149 <H3><A NAME="lirc">3.2.3 用LIRC控制</A></H3>
1150
1151 <P>Linux红外遥控 -- 使用一个容易制作的home-brewn红外线接收器,(几乎)任意一个的遥控器然后就可以用它来控制你的Linux box了!
1152 更多内容见<A HREF="http://www.lirc.org">www.lirc.org</A>。</P>
1153
1154 <P>如果你已安装了lirc-package,configure将自动检测到它。如果一切顺利,MPlayer在启动时将显示
1155 "Setting up lirc support..."之类的信息。如果发生错误它将会显示。如果它不显示关于LIRC的任何信息则对LIRC的支持没有编译。就是这样:-)</P>
1156
1157 <P>MPlayer的程序名是 -- 嗯,让我想想看 -- 'mplayer'。你能使用任何mplayer命令甚至传递超过一种命令只要用\n分开他们。
1158 不要忘记当有意义的时候(搜索,音量等等),在.lircrc中开启repeat标记。这是我的.lircrc的摘录:</P>
1159
1160 <PRE>
1161 begin
1162 button = VOLUME_PLUS
1163 prog = mplayer
1164 config = volume 1
1165 repeat = 1
1166 end
1167
1168 begin
1169 button = VOLUME_MINUS
1170 prog = mplayer
1171 config = volume -1
1172 repeat = 1
1173 end
1174
1175 begin
1176 button = CD_PLAY
1177 prog = mplayer
1178 config = pause
1179 end
1180
1181 begin
1182 button = CD_STOP
1183 prog = mplayer
1184 config = seek 0 1\npause
1185 end
1186 </PRE>
1187
1188 <P>如果你不喜欢lirc-config文件的标准位置(~/.lircrc)使用-lircconf &lt;filename&gt;选项指定别的文件。</P>
1189
1190
1191 <H3><A NAME="slave">3.2.4 Slave方式</A></H3>
1192
1193 <P>Slave方式把允许你为MPlayer建立简单的frontend。当它开启(用<CODE>-slave</CODE>选项)时MPlayer
1194 将从stdin读取用new line(\n)分开的命令。</P>
1195
1196
1197 <H3><A NAME="streaming">3.3 网络或管道的流媒体</A></H3>
1198
1199 <P>MPlayer支持通过HTTP, MMS或者RTSP/RTP协议播放网络上的文件。</P>
1200
1201 <P>只要直接把URL地址加到命令行中就可以进行播放。MPlayer也支持http_proxy环境变量,
1202 并且在可能的情况下使用代理。也可以强行指定使用代理:</P>
1203
1204 <P><CODE>mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</CODE></P>
1205
1206 <P>MPlayer能从stdin(不称为管道)输入。例如这样能从FTP上播放:</P>
1207 <P><CODE>&nbsp;&nbsp;wget ftp://micorsops.com/something.avi -O - | mplayer -</CODE></P>
1208
1209 <P>注意:当使用网络播放功能时推荐打开cache功能:</P>
1210
1211 <P><CODE>&nbsp;&nbsp;wget ftp://micorsops.com/something.avi -O - | mplayer -cache 8192 -</CODE></P>
1212
1213
1214 <H1><A NAME="faq"></A>4. <A HREF="faq.html">FAQ部分</A></H1>
1215
1216
1217 <H1><A NAME="cd/dvd"></A>5. <A HREF="cd-dvd.html">CD与DVD部分</A></H1>
1218
1219
1220 <H1><A NAME="ports">6. 移植</A></H1>
1221
1222
1223 <H2><A NAME="linux">6.1 Linux</A></H2>
1224
1225 <P>主要的开发平台时x86上的Linux,尽管MPlayer可以移植到很多别的Linux上。</P>
1226
1227 <H3><A NAME="debian">6.1.1 Debian安装包的制作</A></H3>
1228
1229 <P>为了制作Debian安装包,在MPlayer的代码的目录下面运行下列命令:</P>
1230
1231 <PRE>
1232 fakeroot debian/rules binary
1233 </PRE>
1234
1235 <P>成为root后你可以像正常情况下一样安装<CODE>.deb</CODE>包:</P>
1236
1237 <PRE>
1238 dpkg -i ../mplayer_0.90-1_i386.deb as root.
1239 </PRE>
1240
1241 <P>Christian Marillat一直在制作非官方的Debian MPlayer, MEncoder和字体的安装包,你可以从他的<A
1242 HREF="http://marillat.free.fr/">主页</A>(apt-get)获得。这些包是相当非官方的,然而,因为Christian是在MPlayer还没有完全GPL化之前<A HREF="users_against_developers.html#binary">二进制发行版</A>还不允许的时候制作并发布了这些安装包。Christian没有理睬要求他停止发布
1243 他的安装包的要求,这导致了MPlayer开发者的憎恨。二进制发布现在已经不再是问题了,但我们<B>不支持</B>这些安装包!</P>
1244
1245 <H3><A NAME="rpm">6.1.2 RPM安装包的制作</A></H3>
1246
1247 <P>Dominik Mierzejewski制作并维护MPlayer的官方的Red Hat RPM安装包。它们可以从他的<A
1248 HREF="http://www.piorunek.pl/~dominik/linux/pkgs/mplayer/">主页</A>获得。请阅读那里的安装方法并把问题报告给他,而不是我们。</P>
1249
1250 <P>也有别的MPlayer的RPM版本(SuSE现在在他们的官方发行版中包括了MPlayer,Mandrake的安装包可以在<A HREF="http://plf.zarb.org/">P.L.F</A>获得)
1251 但他们都没有官方支持。</P>
1252
1253
1254 <H3><A NAME="arm">6.1.3 ARM</A></H3>
1255
1256 <P>MPlayer可以工作在使用ARM CPU的PDAs例如Sharp Zaurus, Compaq Ipaq上。最简单的获得MPlayer的方法从<A
1257 HREF="http://www.openzaurus.org">Openzaurus</A>的安装包服务器下载。如果你像自己编译它,你应该查看OpenZaurus发行版的buildroot下的<A
1258 HREF="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</A>
1259 目录和<A
1260 HREF="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</A>。
1261 那里总有最新的用来编译一个代libavcodec的CVS的MPlayer的Makfile和补丁。
1262 <BR>如果你需要一个GUI前端,你可以使用xmms-embedded。</P>
1263
1264 <H2><A NAME="bsd">6.2 *BSD</A></H2>
1265
1266 <P>MPlayer可以运行在FreeBSD, OpenBSD, NetBSD, BSD/OS和Darwin上。有ports/pkgsrc/fink等版本的MPlayer可供使用,比直接使用我们的
1267 源代码要容易。</P>
1268
1269 <P>编译MPlayer你需要GNU make(gmake - 本地的BSD的make不能正常工作)和一个比较新的binutils。</P>
1270
1271 <P>如果MPlayer报告找不到<CODE>/dev/cdrom</CODE>或者<CODE>/dev/dvd</CODE>,创建一个适当的符号链接:<BR>
1272 <CODE>ln -s /dev/(your_cdrom_device) /dev/cdrom</CODE>.</P>
1273
1274 <P>要在MPlayer中使用Win32 DLLs你需要使用"<CODE>option USER_LDT</CODE>"重新编译内核(除非你用的是FreeBSD -CURRENT,其中这一项是默认的)。</P>
1275
1276 <H3><A NAME="freebsd">6.2.1 FreeBSD </A></H3>
1277
1278 如果你的CPU有SSE,使用"options CPU_ENABLE_SSE"选项重新编译内核来使用它(需要FreeBSD-STABLE,或者使用内核补丁)。</P>
1279
1280 <H3><A NAME="openbsd">6.2.2 OpenBSD</A></H3>
1281
1282 <P>因为gas的版本不同(relocation vs mmx)的限制,你需要分两步编译: 首先确保non-native的汇编程序当前在PATH中并运行<CODE>gmake -k</CODE>,
1283 然后在确保使用native版本情况下运行<CODE>gmake</CODE>。</P>
1284
1285 <H2><A NAME="solaris">6.3 Solaris</A></H2>
1286
1287 <P>MPlayer在Solaris 2.6或者更新的系统上应该能够正常运行。</P>
1288
1289 <P>在<B>UltraSPARC</B>上,MPlayer利用他们的<B>VIS</B>扩展(相当于MMX)的优势,目前只应用于<I>libmpeg2</I>,
1290 <I>libvo</I>以及<I>libavcodec </I>,但mp3lib没有。你能在400MHz CPU上观看VOB文件。你需要安装<A
1291 HREF="http://www.sun.com/sparc/vis/mediaLib.html">mLib</A>。</P>
1292
1293 <P>为编译它你需要GNU make(gmake,/opt/sfw/gmake),native的Solaris make不能正常工作。你用Solaris的make代替GNU make时的典型的错误信息为:</P>
1294
1295 <PRE>
1296 % /usr/ccs/bin/make
1297 make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
1298 </PRE>
1299
1300 <P>在Solaris SPARC上,你需要GNU C/C++编译器;GNU C/C++编译器是否设置使用GNU汇编程序没有什么关系。</P>
1301
1302 <P>在Solaris x86上,你需要GNU汇编程序和GNU C/C++编译器,设置使用GNU的汇编程序!在x86平台上的mplayer代码大量使用MMX,SSE和3DNOW!
1303 指令集,使用Sun的汇编程序<CODE>/usr/ccs/bin/as</CODE>不能编译通过。</P>
1304
1305 <P>configure脚本将试图查找你的"gcc"命令使用的汇编程序(如果自动检测失败,使用"--as=/whereever/you/have/installed/gnu-as"
1306 选项告诉configure脚本你的系统中GNU的"as"在哪里)。</P>
1307
1308 <P>在Solaris x86系统上使用没有GNU汇编程序的GCC时configure的出错信息为:</P>
1309
1310 <PRE>
1311 % configure
1312 ...
1313 Checking assembler (/usr/ccs/bin/as) ... , failed
1314 Please upgrade(downgrade) binutils to 2.10.1...
1315 </PRE>
1316
1317 <P>(解决方法:安装并且使用配置了"--with-as=gas"的gcc)</P>
1318
1319 <P>当不使用GNU as的GNU C编译程序时的典型出错信息是:</P>
1320
1321 <PRE>
1322 % gmake
1323 ...
1324 gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
1325 -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
1326 Assembler: mplayer.c
1327 "(stdin)", line 3567 : Illegal mnemonic
1328 "(stdin)", line 3567 : Syntax error
1329 ... more "Illegal mnemonic" and "Syntax error" errors ...
1330 </PRE>
1331
1332 <P>因为Solaris8 x86的两个bug,不能可靠地播放容量>4GB的DVD:</P>
1333
1334 <UL>
1335 <LI>The sd(7D) driver on Solaris 8 x86 driver has bug when accessing a
1336 disk block >4GB on a device using a logical blocksize != DEV_BSIZE
1337 (i.e. CD-ROM and DVD media). Due to a 32bit int overflow, a disk
1338 address modulo 4GB is accessed.
1339 (<A HREF="http://groups.yahoo.com/group/solarisonintel/message/22516">http://groups.yahoo.com/group/solarisonintel/message/22516</A>)
1340 </LI>
1341 <LI>The similar bug is present in the hsfs(7FS) filesystem code (aka
1342 ISO9660), hsfs currently does not support partitions/disks >4GB,
1343 all data is accessed modulo 4GB
1344 (<A HREF="http://groups.yahoo.com/group/solarisonintel/message/22592">http://groups.yahoo.com/group/solarisonintel/message/22592</A>)
1345 <P>
1346 The hsfs problem can be fixed by installing patch 109764-04 (sparc) /
1347 109765-04 (x86).
1348 </P>
1349 </LI>
1350 </UL>
1351
1352 <P>在使用UltraSPARC CPU的Solaris上,对有些耗时的操作使用CPU的VIS指令能获得额外的速度提升。
1353 在MPlayer中通过Sun的<A HREF="http://www.sun.com/sparc/vis/mediaLib.html">mediaLib</A>中的函数使用VIS加速功能。</P>
1354
1355 <P>mediaLib的VIS加速功能用于mpeg2视频解码和视频输出驱动的颜色转换。</P>
1356
1357
1358 <H2><A NAME="sgi">6.4 Silicon Graphics / IRIX</A></H2>
1359
1360 <P>你可以安装GNU的install程序,并且(如果你没有把它放在你的系统路径中)指定它的位置:</P>
1361
1362 <PRE>
1363 ./configure --install-path=PATH
1364 </PRE>
1365
1366 <P>或者你可以使用默认的IRIX 6.5提供的install,那你就必须手动修改Makefile文件,把下面两行:</P>
1367
1368 <PRE>
1369 $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
1370
1371 $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
1372 </PRE>
1373
1374 <P>改成:</P>
1375
1376 <PRE>
1377 $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
1378
1379 $(INSTALL) -m 644 codecs.conf $(CONFDIR)/
1380 </PRE>
1381
1382 <P>然后运行(在MPlayer的源代码目录中):</P>
1383
1384 <PRE>
1385 cp DOCS/mplayer.1 . ; cp etc/codecs.conf .
1386 </PRE>
1387
1388 <P>然后继续编译和安装。</P>
1389
1390
1391 <H2><A NAME="qnx">6.5 QNX</A></H2>
1392
1393 <P>能工作。你需要下载SDL for QNX并安装它。然后使用<CODE>-vo sdl:photon</CODE>和<CODE>-ao sdl:nto</CODE>
1394 选项运行MPlayer,速度应该很快。</P>
1395
1396 <P><CODE>-vo x11</CODE>输出将比Linux更加缓慢,因为QNX只有一个十分缓慢的的X<I>仿真</I>。使用SDL。</P>
1397
1398
1399 <H2><A NAME="cygwin"></A>6.6 Cygwin</H2>
1400
1401 <P>Cygwin的移植仍然很不成熟。目前还不支持Win32 DLLs和OpenGL。SDL据说会扭曲声音和图像或者在某些系统上导致崩溃。<A
1402 HREF="tech/patches.txt">补丁</A>总是欢迎的。最好的效果是使用本地的DirectX视频输出驱动(<CODE>-vo directx</CODE>)
1403 和本地的Windows waveout音频驱动(<CODE>-ao win32</CODE>)。你应该查阅<A
1404 HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">mplayer-cygwin</A>邮件列表来获得帮助和最新信息。</P>
1405
1406 <P>你必须到MPlayer的目录下,拷贝或者symlink<CODE>etc/cygwin-inttypes.h</CODE>到<CODE>/usr/include/inttypes.h</CODE>来使MPlayer顺利编译。</P>
1407
1408 <P>为了获得本地的DirectX视频,下载<A
1409 HREF="http://www.videolan.org/vlc/dx7headers.tgz">DirectX 7头文件</A>,把它们解压到<CODE>/usr/include/</CODE>
1410 或者<CODE>/usr/local/include/</CODE>下然后重新编译。如果图像发生扭曲,用<CODE>-vo directx:noaccel</CODE>
1411 把硬件加速关掉试试。</P>
1412
1413 <P>让SDL在Cygwin下工作的方法和文件可以在<A HREF="http://www.libsdl.org/extras/win32/cygwin/">libsdl的站点</A>找到。</P>
1414 <P>你可以通过播放Windows显示的VCD上的<CODE>.DAT</CODE>或者<CODE>.MPG</CODE>文件来播放VCD,这样使他工作(改成你
1415 的CD-ROM驱动器的盘符):</P>
1416
1417 <P><CODE>mplayer d:/mpegav/avseq01.dat</CODE></P>
1418
1419 <P><CODE>mplayer /cydrive/d/MPEG2/AVSEQ01.MPG</CODE></P>
1420
1421 <P>DVD同样可以,用下面的命令DVD设备设置成你的CD-ROM驱动器:</P>
1422
1423 <P><CODE>mplayer -dvd &lt;title&gt; -dvd-device '\\.\d:'</CODE></P>
1424
1425 <P>QuickTime DLL据说也能工作。用<CODE>--enable-qtx-codecs</CODE>编译并把编解码器放到默认的Windows DLL位
1426 置,<CODE>C:\WINNT\system32</CODE>或者<CODE>C:\Windows\system</CODE>取决于你的Windows的版本。</P>
1427
1428 <H1><A NAME="encoding">7.</A> <A HREF="encoding.html">用MEncoder编码</A></H1>
1429
1430
1431 <H1><A NAME="mailing_lists">附录A -- 邮件列表</A></H1>
1432
1433 <P>MPlayer有一些公开的邮件列表。除非特别说明否则这些列表的语言是<B>英语</B>。请不要用别的语言或者HTML邮件格式发送
1434 消息!一条消息的大小限制是80k。如果你有更大的东西把它放在可以下载的地方。点击链接就可以订阅。在邮件列表上使用与
1435 与usenet上相同的书写和引用规则。请遵守他们,它使阅读你的邮件的人的生活轻松的多。如果你不知道请阅读<A
1436 HREF="http://learn.to/edit_messages">编辑消息HOWTO</A>或者(如果你很着急)<A
1437 HREF="http://www.xs4all.nl/~hanb/documents/quotingguide.html">引用HOWTO</A>。</P>
1438
1439 <UL>
1440 <LI>MPlayer通告列表:<A
1441 HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-announce">http://mplayerhq.hu/mailman/listinfo/mplayer-announce</A><BR>
1442 MPlayer发布通告的邮件列表。如果你想获得新特性的通告在此订阅。</LI>
1443 <LI>MPlayer开发者列表:<A
1444 HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng</A><BR>
1445 <P>这个列表是关于mplayer开发的! 谈论接口与API的变化,新的库,代码优化,configure修改,另外补丁也应发送到这里。不要在这里发送bug报告,
1446 用户问题,特性要求,吵架!这张列表应该保持低流量。</P></LI>
1447 <LI>MPlayer用户列表:<A
1448 HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-users">http://mplayerhq.hu/mailman/listinfo/mplayer-users</A><BR>
1449 <UL>
1450 <LI>在这里发送bug报告,(在阅读了<A HREF="#known_bugs">已知Bugs</A>一节和<A HREF="bugreports.html">报告bug部分</A>之后)</LI>
1451 <LI>在这里发送特性要求(在阅读整个文件之后)</LI>
1452 <LI>在这里发送用户问题(在阅读整个文件之后)</LI>
1453 </UL>
1454 </LI>
1455 <LI>MPlayer匈牙利用户列表:<A
1456 HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok">http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok</A><BR>
1457 <UL>
1458 <LI>匈牙利语的列表</LI>
1459 <LI>主题?让我们看看...迄今为止主要是吵架和RTFM问题:(</LI>
1460 </UL>
1461 </LI>
1462 <LI>MPlayer &amp; Matrox G200/G400/G450/G550用户:<A
1463 HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-matrox">http://mplayerhq.hu/mailman/listinfo/mplayer-matrox</A><BR>
1464 在这里发送Matrox相关的问题
1465 <UL>
1466 <LI>关于mga_vid的事情</LI>
1467 <LI>Matrox的官方的beta版驱动(对于X 4.x.x )</LI>
1468 <LI>还有关于matroxfb电视输出的东东。</LI>
1469 </UL>
1470 </LI>
1471 <LI>MPlayer &amp; DVB卡用户:<A
1472 HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">http://mplayerhq.hu/mailman/listinfo/mplayer-dvb</A><BR>
1473 与被称为DVB的硬件译码器卡有关的事情。(不是DXR3!)</P>
1474 </LI>
1475 <LI>MPlayer CVS-log:<A
1476 HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog">http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog</A><BR>
1477 <P>在这里只能询问CVS的变化。(如果你不理解为什么要做这样的改动或者你有更好的修正或者你注意到在已经提交的补丁中可能存在的bug或问题)确定你要找的开发者阅读这张列表!</P>
1478 </LI>
1479 <LI>MPlayer Cygwin移植邮件列表:<A
1480 HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin">http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin</A><BR>
1481 讨论MPlayer的Cygwin移植的邮件列表。
1482 </LI>
1483 <LI>MPlayer OS/2移植邮件列表:<A
1484 HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-os2">http://mplayerhq.hu/mailman/listinfo/mplayer-os2</A><BR>
1485 讨论MPlayer的OS/2移植的邮件列表。
1486 </LI>
1487 <LI>MPlayer Weekly News的编辑和翻译的列表:<A
1488 HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-mwn">http://mplayerhq.hu/mailman/listinfo/mplayer-mwn</A><BR>
1489 讨论Weekly News发布的邮件列表。.
1490 </LI>
1491 </UL>
1492
1493 <P><B>注意:</B><A HREF="http://www.mplayerhq.hu/cgi-bin/htsearch">http://www.mplayerhq.hu/cgi-bin/htsearch</A>有可供检索的邮件列表文档。
1494
1495
1496 <H1><A NAME="bug_reports">附录B</A> -- <A HREF="bugreports.html">如何报告bug</A></H1>
1497
1498 <H1><A NAME="known_bugs">附录C -- 已知Bugs</A></H1>
1499
1500 <P>特殊的系统或CPU相关的bug或问题:</P>
1501 <UL>
1502
1503 <LI>P3上使用2.2.x内核出现SIGILL(signal 4):<BR>
1504 问题:2.2.x内核没有适当的(能正常工作的)SSE支持<BR>
1505 解决:把内核升级到2.4.x<BR>
1506 绕过方法:<CODE>./configure --disable-sse</CODE></LI>
1507
1508 <LI>一般的SIGILL(signal 4):<BR>
1509 问题:你在不同的机器中编译和运行mplayer(例如在P3上编译在Celeron上跑)<BR>
1510 解决:在你将使用的的机器上编译MPlayer!<BR>
1511 绕过方法:<CODE>./configure --disable-sse</CODE>等等选项</LI>
1512
1513 <LI>运行MEncoder时出现"Internal buffer inconsistency":<BR>
1514 问题:当用gcc 2.96或者3.x编译lame &lt; 3.90时的已知问题。<BR>
1515 解决:使用lame &gt; =3.90。<BR>
1516 绕过方法:以gcc 2.95.x编译lame并且卸载任何已经安装的lame包,他们可能是用gcc 2.96编译的。</LI>
1517
1518 <LI>在PPC上MP2/MP3的声音混乱:<BR>
1519 问题:PPC平台上的已知的GCC误编译的bug,目前没有修正。<BR>
1520 绕过方法:使用FFmpeg的(较慢的)MP1/MP2/MP3译码器(<CODE>-ac ffmpeg</CODE>)</LI>
1521
1522 <LI>当缩放+编码时,libmpeg2的sig11:<BR>
1523 问题: 已知的GCC 2.95.2的MMXbug,升级到2.95.3。</LI>
1524 </UL>
1525
1526 <P>各种各样A-V同步和其它音频问题:</P>
1527
1528 一般的音频延迟或者急跳声音(对所有或者大部分文件存在):
1529 <UL>
1530 <LI>最普遍的: buggy的音频驱动! -- 试试使用不同的驱动,用-ao oss试试ALSA 0.9的OSS仿真,也试试-ao sdl,有时它有帮助。
1531 如果你的文件用-nosound播放正常,你就能确定这是声卡(驱动)的问题。</LI>
1532 <LI>音频缓冲的问题(缓冲大小检测错误)<BR>
1533 绕过方法:mplayer -abs选项</LI>
1534 <LI>采样率的问题-- 也许你的声卡不支持你的文件使用的采样率 -- 试试 resampling插件(- aop)</LI>
1535 <LI>机器太慢(CPU或VGA)<BR>
1536 用-vo null试试看,如果它播放正常,那么你的VGA显卡/驱动太慢了<BR>
1537 绕过方法:买一块更快的显卡或阅读这篇文档关于如何加速的内容<BR>
1538 也试试-framedrop</LI>
1539 </UL>
1540
1541 特定的某一个或一些文件的音频延迟/不同步:
1542 <UL>
1543 <LI>损坏的文件<BR>
1544 绕过方法:
1545 <UL>
1546 <LI>-ni或-nobps选项(对于非交错的或坏的文件)<BR>
1547 以及/或者</LI>
1548 <LI>-mc 0(对带有糟糕的交错的VBR音频的文件是需要的)<BR>
1549 以及/或者</LI>
1550 <LI>-delay选项或者+/-键在播放时调整延迟时间</LI>
1551 </UL>
1552 如果没有一个方法有效,请upload这些文件,我们将检查(和修正)。
1553 </LI>
1554 <LI>你的声卡不支持48kHz playback<BR>
1555 绕过方法:买个更好的声卡...或者尝试减少10%的fps(对30fps的电影使用-fps 27)或者使用resampler插件</LI>
1556 <LI>机器太慢<BR>
1557 (如果A-V不是在0附近,状态行的最后一个数字不断增加)<BR>
1558 绕过方法:-framedrop</LI>
1559 </UL>
1560
1561 完全没有声音:
1562 <UL>
1563 <LI>你的文件使用不支持的音频codec<BR>
1564 绕过方法:读取文档并帮助我们添加对它的支持</LI>
1565 </UL>
1566
1567 完全没有图画(全灰/全绿窗口):
1568 <UL>
1569 <LI>你的文件使用不支持的视频codec<BR>
1570 绕过方法:读取文档并帮助我们添加对它的支持</LI>
1571 <LI>自动选择的codec不能解码文件,试试用-vc或-vfm选项使用其他译码器</LI>
1572 <LI>你试图用OpenDivX或XviD(-vc odivx)译码器播放DivX 3.x格式的文件 -- 安装Divx4Linux并且重新编译播放器</LI>
1573 </UL>
1574
1575 <P>视频输出问题:</P>
1576
1577 <P>首先注意: -fs -vm和-zoom选项只是推荐,(目前)不是所有驱动器都支持。因此,如果它不起作用那不是bug。
1578 只有少数驱动支持缩放,对x11或dga不要指望这个。</P>
1579
1580 <P>OSD与字幕闪烁:<BR>
1581 -- x11驱动器: 抱歉,它现在不能被修正<BR>
1582 -- xv驱动器: 使用-double选项</P>
1583
1584 <P>使用mga_vid时的绿色图象(-vo mga/-vo xmga):<BR>
1585 -- mga-vid没有正确检测你的显卡的显存大小,使用mga_ram_size选项重新载入</P>
1586
1587
1588 <H1><A NAME="skin">附录D</A> - <A HREF="skin.html">MPlayer skin的格式</A></H1>
1589
1590
1591
1592 <H1><A NAME="flame_wars">附录E</A> - <A HREF="users_against_developers.html">开发者的眼泪</A></H1>
1593
1594 <H1><A NAME="patches">附录F</A> - <A HREF="tech/patches.txt">如何发送补丁</A></H1>
1595
1596 </BODY>
1597 </HTML>