1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>FAQ -- MPlayer -- Linux的电影播放器</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<STYLE TYPE="text/css">
dt {
font-weight : bold;
}
</STYLE>
</HEAD>
<BODY>
<H1><A NAME="faq">5. FAQ </A></H1>
<UL>
<LI><A HREF="#compilation">5.1 编译</A></LI>
<LI><A HREF="#general">5.2 一般问题</A></LI>
<LI><A HREF="#playback">5.3 播放问题</A></LI>
<LI><A HREF="#driver">5.4 视频与音频驱动问题(vo/ao)</A></LI>
<LI><A HREF="#dvd">5.5 DVD回放</A></LI>
<LI><A HREF="#features">5.6 特性要求</A></LI>
<LI><A HREF="#encoding">5.7 编码</A></LI>
</UL>
<H2><A NAME="compilation">5.1 编译</A></H2>
<DL>
<DT>Q:编译停止并出现类似这样的出错信息:
<PRE>
In file included from mplayer.c:34:
mw.h: In function `mplMainDraw':
mw.h:209: Internal compiler error in print_rtl_and_abort, at flow.c:6458
Please submit a full bug report,
with preprocessed source if appropriate.
</PRE>
</DT>
<DD>A:这是gcc 3.0.4的一个已知的bug,升级到3.1就可以解决问题。如何安装gcc参阅<A HREF="users_against_developers.html#gcc">gcc 2.96</A>一节。</DD>
<DD> </DD>
<DT>Q:Configure结束时出现这样的文字,MPlayer无法编译!<BR>
<CODE>"Your gcc does not support even i386 for '-march' and '-mcpu'."</CODE>
</DT>
<DD>A:你的gcc没有正确的安装,细节需要查看<CODE>config.log</CODE>文件。</DD>
<DD> </DD>
<DT>Q:"No such file or directory"是什么意思?</DT>
<DD>A:有可能真的没有这样文件或目录。</DD>
<DD> </DD>
<DT>Q:gcc2.96有什么问题?</DT>
<DD>A:<B>我们强烈反对使用gcc 2.96!</B><BR>
细节参见<A HREF="users_against_developers.html#gcc">这个</A>文件了解为什么Red Hat发布gcc 2.96,以及它有什么问题。如果你仍然
确实确实确实确实想要使用它,总是使用最新的版本并且在configure的时候加上<CODE>--disable-gcc-checking</CODE>选项。记住是你自己选择这条路的。
一定<B>不要</B>报告bug,一定<B>不要</B>到邮件列表上寻求帮助。如果你遇到问题我们将<B>不</B>提供任何支持。</DD>
<DD> </DD>
<DT>Q:好极了,那么我使用Red Hat/Mandrake的gcc 3.0.1,我没问题!</DT>
<DD>A:不,因为那些编译器同样有问题。为了了解当前的编译器对MPlayer的支持状况,参见<A HREF="documentation.html#installation">安装</A>一节。</DD>
<DD> </DD>
<DT>Q:我试图编译MPlayer,但是我得到这样的输出:
<PRE>
In file included from /usr/include/g++-v3/bits/std_cwchar.h:42,
from /usr/include/g++-v3/bits/fpos.h:40,
from /usr/include/g++-v3/bits/char_traits.h:40,
from /usr/include/g++-v3/bits/std_string.h:41,
from /usr/include/g++-v3/string:31,
from libwin32.h:36,
from DS_AudioDecoder.h:4,
from DS_AudioDec.cpp:5:
/usr/include/wchar.h: In function Long long int wcstoq(const wchar_t*,
wchar_t**, int)':
/usr/include/wchar.h:514: cannot convert `const wchar_t* __restrict' to
`const
</PRE>
</DT>
<DD>A:把你的glibc升级到最新的发行版。对于Mandrake,使用2.2.4-8mdk。</DD>
<DD> </DD>
<DT>Q:... gcc 2.96 ... (是的,有些人还在为gcc 2.96上火!)</DT>
<DD>A:我们引用A'rpi发送到<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>邮件列表的一封
<A HREF="http://www.mplayerhq.hu/pipermail/mplayer-users/2001-October/005351.html">邮件</A>('ideg'的意思将在下面解释):
<BLOCKQUOTE>
<P>And we have idegs. And our idegcounter overflowed again and again.</P>
<P>Unfortunately MPlayer is out of our control. It's used by lamers, Linux
users who can't even use Windows, and never tried to compile a kernel. They
installed (with default options) Mandrake or Red Hat or SuSE, and without
RTFM'ing they send messages saying 'it doesn't work! help me! please! i'm
new to Linux! help! oh! help me!'. We can't stop them, but at least we try
to force them to RTFM and to read the messages of ./configure and MPlayer.</P>
<P>And you clever guys come and flame us with gcc 2.96 and binary packages.
Instead of helping users or making patches to help solve problems.</P>
<P>Half of our spare/free time is spent by answering silly mails here and
making newer tricks and checks to configure to avoid such mails.</P>
<P>And there is a balance. On the one side are you, clever guys, saying we
are very bad because we don't like buggy gcc 2.96, and on the other side
there are the 'new to Linux' guys who are showing us gcc 2.96 is buggy.</P>
<P>Conclusion: We can't be good. Half the people will always say we are bad.</P>
<P>Maybe we should close the project, make it closed source, commercial, and
provide install support for it. then we could leave current work, so
development could go faster, and we could earn lots of money with it and buy
a big house, etc etc. Do you really want it? It seems.</P>
</BLOCKQUOTE>
</DD>
<DD> </DD>
<DT>Q:SDL输出不能工作或者编译。问题在...</DT>
<DD>A:SDL 1.2.x经过测试能够工作另外SDL 1.1.7+可能能工作。任何以前的版本肯定<B>不能</B>工作。因此如果你选择使用这样的版本,是你自己的责任。</DD>
<DD> </DD>
<DT>Q:我在编译SDL支持的时候仍然有问题。gcc说什么"undefined reference to `SDL_EnableKeyRepeat'"。现在怎么办?</DT>
<DD>A:你把SDL库装在哪里? 如果你装在/usr/local(默认目录)中那么编辑顶层的config.mak并在"X_LIBS="之后添加"-L/usr/local/lib"。现在打make。你搞定了!</DD>
<DD> </DD>
<DT>Q:不能编译,找不到uint64_t inttypes.h之类的东西...</DT>
<DD>A:把etc/inttypes.h复制到<B>MPlayer</B>目录下(<CODE>cp etc/inttypes.h .</CODE>)然后再试一次...</DD>
<DD> </DD>
<DT>Q:我在Pentium III上运行Linux但是<CODE>./configure </CODE>没有找到SSE...</DT>
<DD>A:只有2.4.x的内核支持SSE(或者试试2.2.19或更新的版本,但准备好出问题)。</DD>
<DD> </DD>
<DT>Q:我有G200与G400,我如何编译使用mga_vid驱动?</DT>
<DD>A:阅读<A HREF="video.html#mga_vid">mga_vid文档</A>。</DD>
<DD> </DD>
<DT>Q:<B>MPlayer</B>有rpm/deb/...之类的安装包吗?</DT>
<DD>A:你能自己制作.deb安装包,查阅<A HREF="documentation.html#debian">Debian安装包的制作</A>一节。
我们网站的<A HREF="http://www.mplayerhq.hu/homepage/dload.html">下载页</A>上有官方的Red Hat的RPM包的下载链接。</DD>
<DD> </DD>
<DT>Q:在'make'时,MPlayer报告没有X11库。我不理解,我确实装了X!?</DT>
<DD>A:...但是你没有装X的开发包。或者没有正确安装。Red Hat下面它叫XFree86-devel*,Debian下面是xlibs-dev。
也检查是否存在<CODE>/usr/X11</CODE>和<CODE>/usr/include/X11</CODE>的符号链接(在Mandrake系统上可能有这个问题)。
他们用下列命令创建:<BR>
<CODE>$ ln -sf /usr/X11R6 /usr/X11</CODE><BR>
<CODE>$ ln -sf /usr/X11R6/include/X11 /usr/include/X11</CODE><BR>
你的发行版可能不是<A HREF="http://www.pathname.com/fhs/">文件系统层次标准</A>。</DD>
<DD> </DD>
<DT>Q:我不能编译SVGAlib。我使用2.3/2.4的内核...</DT>
<DD>A:你必须编辑SVGAlib的Makefile.cfg把<CODE>BACKGROUND = y</CODE>注释掉。</DD>
<DD> </DD>
<DT>Q:我的MPlayer编译了libdvdcss/libdivxdecore的支持,但是当我试图起动它时,它说:<BR>
<CODE>> error while loading shared libraries: lib*.so.0: cannot load
shared object file: No such file or directory</CODE><BR>
我检查了文件,它确实在<CODE>/usr/local/lib</CODE>里面...</DT>
<DD>A:在<CODE>/etc/ld.so.conf</CODE>里添加<CODE>/usr/local/lib</CODE>然后运行<CODE>ldconfig</CODE>。</DD>
<DD> </DD>
<DT>Q:Hmm,奇怪。我加载mga_vid.o内核模块后在log中找到这个:<BR>
<CODE>Warning: loading mga_vid.o will taint the kernel: no license</CODE></DT>
<DD>A:最新的内核modutils要求一个标明许可证的标记(主要避免内核hackers调试非开源的驱动)。升级你的内核,
modutils和<B>MPlayer</B>。</DD>
<DD> </DD>
<DT>Q:编译<B>MEncoder</B>过程中,在连接时出现segfaults!</DT>
<DD>A:这是连接程序的问题。把binutils升级应该有用(2.11.92.*或者更新版本应该不错)。由于它不是我们的问题,
请一定<B>不要</B>报告!</DD>
<DD> </DD>
<DT>Q:MPlayer在pthread check时因为segmentation fault而崩溃!</DT>
<DD>A:chmod 644 /usr/lib/libc.so</DD>
<DD> </DD>
<DT>Q:我想在Minix上编译<B>MPlayer</B>!</DT>
<DD>A:我也想。:)</DD>
</DL>
<H2><A NAME="general">5.2 一般问题</A></H2>
<DL>
<DT>Q:我能同时运行多个<B>MPlayer</B>实例吗?</DT>
<DD>A:是的。有些视频输出的驱动像xv,dga或者(x)mga是唯一的,所以你将不能够运行超过一个使用这样的视频输出驱动的<B>MPlayer</B>实例。
音频驱动也在不是很严重的程度上存在这种问题。并非所有的驱动都允许在同样的设备上播放多重流。</DD>
<DD> </DD>
<DT>Q:在左上角中有一个计时器。我怎么能去掉它?</DT>
<DD>A:按<CODE>o</CODE>或者使用<CODE>-osdlevel</CODE>选项。</DD>
<DD> </DD>
<DT>Q:<CODE>-xy</CODE>或者<CODE>-fs</CODE>选项对x11驱动(<CODE>-vo x11</CODE>)不起作用...</DT>
<DD>A:它能起作用,但你必须用<CODE>-zoom</CODE>选项明确指定使用软件缩放(十分缓慢)。你最好是使用XF86VidMode支持:
你必须指定<CODE>-vm</CODE>和<CODE>-fs</CODE>选项,然后就搞定了。确保在你的XF86Config文件中有正确设定了modelines,并且尝试使用
<A HREF="video.html#dga">DGA驱动</A>并且<A HREF="video.html#sdl">SDL的DGA驱动</A>。它快得多。如果SDL的DGA能工作就用它,它还要更快。</DD>
<DD> </DD>
<DT>Q:状态行上的数字的是什么意思?</DT>
<DD>A:例如:
<CODE>A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49%</CODE>
<UL>
<LI>A:以秒计算的音频位置</LI>
<LI>V:以秒计算的视频位置</LI>
<LI>A-V:以秒计算的音频视频位置差(延迟)</LI>
<LI>ct:所有完成的A-V同步纠正</LI>
<LI>播放的帧数(从最后一次搜索开始计算)</LI>
<LI>解码的帧数(从最后一次搜索开始计算)</LI>
<LI>视频解码器占用的cpu的百分比(对于slice和DR这包括了视频输出的占用)</LI>
<LI>视频输出的cpu占用</LI>
<LI>音频解码器占用的cpu的百分比</LI>
<LI>为保持A-V同步而丢弃的帧数</LI>
<LI>目前图像后处理的级别(当使用<CODE>-autoq</CODE>时)</LI>
<LI>当前cache使用量(大约50%是正常的)</LI>
</UL>
他们中大多数是为了调试的,将在适当时候去掉。</DD>
<DD> </DD>
<DT>Q:我不想要他们出现怎么办?</DT>
<DD>A:使用<CODE>-quiet</CODE>选项并阅读man page。</DD>
<DD> </DD>
<DT>Q:为什么有些文件的视频输出的cpu占用是零(0%)?</DT>
<DD>A1:它不是零,但它是由解码器调用的不能被单独测量。你应该试着先用<CODE>-vo null</CODE>播放文件然后用<CODE>-vo ...</CODE>播放,
检查它们的不同来查看视频速度。</DD>
<DD>A2:你使用了直接渲染,那是由解码器自己渲染显存。在这种情况下,解码占用的百分比也包含了显示占用的百分比。</DD>
<DD> </DD>
<DT>Q:出现关于在<CODE>/usr/lib/win32/</CODE>下找不到文件的错误...</DT>
<DD>A:从<B>我们的</B>FTP站点下载<A HREF="ftp://ftp.mplayerhq.hu/MPlayer/releases/w32codec-0.90.tar.bz2">Win 32解码器</A>
(avifile的解码器包的DLL集不同)并安装它。</DD>
<DD> </DD>
<DT>Q:有关于MPlayer的邮件列表吗?</DT>
<DD>A:有的。看我们的主页的<A HREF="http://www.mplayerhq.hu/homepage/info.html">信息页</A>的底部来订阅。</DD>
<DD> </DD>
<DT>Q:当我试图播放我最喜爱的视频时,我发现一个讨厌的bug!我应该报告谁?</DT>
<DD>A:请阅读<A HREF="bugreports.html">bug报告指导</A>并遵照上面的指令做。</DD>
<DD> </DD>
<DT>Q:我用...解码器播放文件的时候有问题。我能使用它们吗?</DT>
<DD>A:查阅<A HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">解码器状态</A>,如果它不包含你的解码器,
阅读<A HREF="codecs.html">解码器文件</A>,特别是<A HREF="codecs.html#importing">解码器导入HOWTO</A>然后联系我们。</DD>
<DD> </DD>
<DT>Q:Umm,"IdegCounter"是什么东东?</DT>
<DD>A:匈牙利语和英语的结合。匈牙利语"Ideg"是神经质的意思,发音类似于“ydaegh”。它最初用来度量A'rpi神经质,
在一些CVS的代码(umm)“神秘的”消失之后;)</DD>
<DD> </DD>
<DT>Q:"Faszom(C)ounter"又是什么?</DT>
<DD>A:“Fasz”是你不会想要知道的匈牙利词汇,其他的跟MPlayer开发者们的邪恶的脑袋有关。</DD>
<DD> </DD>
<DT>Q:LIRC不工作,因为...</DT>
<DD>A:你明确你使用的是<CODE>mplayer</CODE>而不是<CODE>mplayer-lirc</CODE>吗? 注意,<CODE>mplayer-lirc</CODE>
使用了很长时间,包括0.60的发行版,但是它最近又变成<CODE>mplayer</CODE>了。</DD>
<DD> </DD>
<DT>Q:字幕非常不错,是我见过的最漂亮的,但它们降低播放速度! 我想它是不可能的了...</DT>
<DD>A:在运行<CODE>./configure</CODE>之后,编辑<CODE>config.h</CODE>并将<CODE>#undef FAST_OSD</CODE>换成
<CODE>#define FAST_OSD</CODE>。然后重新编译。</DD>
<DD> </DD>
<DT>Q:onscreen display(OSD)不停的闪烁!</DT>
<DD>A:你使用单缓冲的vo驱动(x11,xv)。对于xv,使用<CODE>-double</CODE>选项。也试试<CODE>-vop expand</CODE></DD>
<DD> </DD>
<DT>Q:libavcodec这种东东到底是什么?</DT>
<DD>A:参见<A HREF="codecs.html#libavcodec">libavcodec</A>一节。</DD>
<DD> </DD>
<DT>Q:但是Configure告诉我"Checking for libavcodec ... no"!</DT>
<DD>A:你需要从FFmpeg的CVS中获得libavcodec。阅读<A HREF="codecs.html#libavcodec">libavcodec一节</A>的指令。</DD>
<DD> </DD>
<DT>Q:Icewm的任务条不断的挡住全屏幕的电影!</DT>
<DD>A:这不应该再发生了,但如果它确实仍然发生,使用<CODE>-icelayer</CODE>选项并向
<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>邮件列表报告。</DD>
<DD> </DD>
<DT>Q:我不能访问GUI菜单。我按下右键,但我不能访问任何菜单项!</DT>
<DD>A:你使用的是FVWM吗? 试试下列方法:<BR>
Start -> Settings -> Configuration -> Base Configuration<BR>
把"Use Applications position hints"设为"Yes"。</DD>
<DD> </DD>
<DT>Q:我能在后台中运行MPlayer吗?</DT>
<DD>A:用法:<CODE>mplayer <options> <filename> < /dev/null &</CODE></DD>
</DL>
<H2><A NAME="playback">5.3 回放问题</A></H2>
<DL>
<DT>Q:我能播放某些AVI文件但是我听不到声音并且有这种出错信息:
<PRE>
Detected audio codec: [divx] afm:4 (DivX audio (WMA))
Requested audio codec family [divx] (afm=4) not available (enable it at
compile time!)
</PRE>
</DT>
<DD>A:可能文件的音频使用了一个不是<B>MPlayer</B>本地支持的解码器。按照README或者<A HREF="documentation.html#installation">
安装</A>一节中的指示安装Win32解码器包。</DD>
<DD> </DD>
<DT>Q:...avifile/aviplay能工作但MPlayer不能。</DT>
<DD>A:<B>MPlayer</B>不是avifile。它们之间唯一的共同之处Win32 DLL装载器。codecs(DLL)集,同步,信号分离等等完全不同
所以不应该被比较。如果什么东西能用aviplay播放并不意味着<B>MPlayer</B>能工作,反之亦然。</DD>
<DD> </DD>
<DT>Q:播放AVI文件时音频不同步。</DT>
<DD>A:试试<CODE>-bps</CODE>或<CODE>-nobps</CODE>选项。如果还没有改善,阅读<A HREF="bugreports.html">
这个</A>并把文件上载到FTP上。</DD>
<DD> </DD>
<DT>Q:MPlayer在使用l3codeca.acm的时候因为一些错误而退出。</DT>
<DD>A:检查<CODE>ldd /usr/local/bin/mplayer</CODE>的输出。如果它包含<BR>
<CODE>libc.so.6 => /lib/libc.so.6 (0x4???????)</CODE><BR>
"?"可以是任意数字表示没有问题,错误不在这里。如果它是:<BR>
<CODE>libc.so.6 => /lib/libc.so.6 (0x00??????)</CODE><BR>
那就表示你的内核/libc有问题。可能你使用了一些安全补丁(例如Solar Designer的OpenWall补丁)强迫把库加载到很低的内存地址。
因为l3codeca.acm是不可重新定位的DLL,它必须被加载到0x00400000,我们没法改变它。你应该使用没有打补丁的核心,
或者使用<B>MPlayer</B>的<CODE>-afm 1</CODE>选项禁用l3codeca.acm。</DD>
<DD> </DD>
<DT>Q:我的电脑播放分辨率640x300而且是立体声的mp3的M$ DivX AVI文件时非常慢。当我使用-nosound选项时,一切正常(但没有声音)。</DT>
<DD>A:你的机器太慢或者你的声卡驱动坏了。查阅文档看你是否能提高性能。</DD>
<DD> </DD>
<DT>Q:MPlayer由于"MPlayer interrupted by signal 4 in module: decode_video"而崩溃。</DT>
<DD>A:尝试在你用来编译<B>MPlayer</B>的机器上运行它。或者重新编译打开运行时CPU检测功能(<CODE>./configure --enable-runtime-cpudetection</CODE>)。
如果没有使用上面提到的特性,不要在与编译它不同的CPU上使用<B>MPlayer</B>。</DD>
<DD> </DD>
<DT>Q:我有个关于[your window manager]跟xv/xmga/sdl/x11模式下全屏的问题...</DT>
<DD>A:读取我们的<A HREF="bugreports.html">bug报告指导</A>并送一个正确的bug报告给我们</DD>
<DD> </DD>
<DT>Q:我播放MPEG文件时出现这样的错误: Can't find codec for video format 0x10000001!</DT>
<DD>A:你的<CODE>~/.mplayer/</CODE>下的codecs.conf的版本太旧。用<CODE>/etc/</CODE>下面的文件升级它。<BR>
<B>或者</B>你的配置文件中包含<CODE>vc=</CODE>选项或者类似东西。</DD>
<DD> </DD>
<DT>Q:当KDE下的运行MPlayer我只看到一个黑色的屏幕什么都没有。在大约一分钟之后才开始播放视频。</DT>
<DD>A:KDE的arts守护进程阻塞了声卡设备。一直等到视频开始或者在控制中心中禁用arts。如果你想使用arts的音频,
将音频输出指定为我们本地的arts音频驱动<CODE>-ao arts</CODE>)。如果它失败或者没有被编译进来,尝试SDL
(<CODE>-ao sdl</CODE>)并且确保你的SDL能处理arts的音频。还有另一个选择是用artsdsp运行<B>MPlayer</B>。</DD>
<DD> </DD>
<DT>Q:我有一个AVI文件,当用<CODE>-vc odivx</CODE>播放时时,出现灰色屏幕,用<CODE>-vc divx4</CODE>时,出现绿色屏幕。</DT>
<DD>A:这不是DivX文件,而是M$ MPEG4v3。更新你的codecs.conf。</DD>
<DD> </DD>
<DT>Q:我播放电影时遇到视频音频不同步和/或者MPlayer崩溃并出现下列信息:<BR>
<CODE>DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!</CODE></DT>
<DD>A:这可能有很多原因。
<UL>
<LI>你的CPU<B>和/或者</B>显卡<B>和/或者</B>总线太慢。在这种情况下<B>MPlayer</B>会显示信息(并且掉帧数会迅速增加)。</LI>
<LI>如果它是AVI文件,也许它的交错有问题。试试<CODE>-ni</CODE>选项。</LI>
<LI>你的声卡驱动太buggy,或者你对ALSA 0.5使用了<CODE>-ao oss</CODE>。
参见<A HREF="sound.html">声卡一节</A>。</LI>
<LI>AVI的文件头有问题,试试<CODE>-nobps</CODE>选项,和/或者<CODE>-mc 0</CODE>。</LI>
</UL></DD>
<DD> </DD>
<DT>Q:我有个MJPEG文件能用其它播放器播放但是MPlayer只显示一个黑色的图象。</DT>
<DD>A:在<CODE>codecs.conf</CODE>中禁用Windows DLL,或者使用<CODE>-vc ffmjpeg</CODE>选项(为此你需要为MPlayer编译libavcodec支持)。</DD>
<DD> </DD>
<DT>Q:当我试图从我的电视选台器截取时,它能工作,但是颜色很奇怪。用其它程序没问题。</DT>
<DD>A:你的卡片有可能错误报告了它的色彩空间容量。试试YUY2而不是缺省的YV12(见<A HREF="documentation.html#tv">电视输入文档</A>)。</DD>
<DD> </DD>
<DT>Q:每次我开始播放是,都遇到这种信息,但一切似乎都正常:<BR>
<CODE>Linux RTC init: ioctl (rtc_pie_on): Permission denied</CODE></DT>
<DD>A:你需要root权限或者一个特殊设定的内核使用计时器代码。细节参见文档的<A HREF="documentation.html#rtc">RTC一节</A>。</DD>
<DD> </DD>
<DT>Q:我的同步有问题。一些AVI我能正常播放,另外一些却是以双倍速度播放!</DT>
<DD>A:你的声卡/驱动buggy。很有可能它的固定在44100Hz,而你试图播放22050Hz的音频的文件。试试resample插件。</DD>
<DD> </DD>
<DT>Q:我播放所有WMV (或者其它.. )文件时都只有一个绿色/灰色的窗口和声音! MPlayer报告:<BR>
<CODE>Detected video codec: [null] drv:0 (NULL codec (no decoding))</CODE></DT>
<DD>A:更新你<CODE>codecs.conf</CODE>。</DD>
<DD> </DD>
<DT>Q:我用我的笔记本播放文件时得到十分奇怪的CPU百分值(太大了)。</DT>
<DD>A:这是你的笔记本的电源管理/节能系统(BIOS,不是内核)的影响。起动你的笔记本<B>之前</B>插上外部电源。</DD>
<DD> </DD>
<DT>Q:当我以root权限在我的笔记本上运行MPlayer时,音频与视频完全不同步。当我作为普通用户运行它时,它工作正常。</DT>
<DD>A:这还是电源管理的结果(见上面)。起动你的笔记本<B>之前</B>插上外部电源或者使用<CODE>-nortc</CODE>选项。</DD>
</DL>
<H2><A NAME="driver">5.4 视频与音频驱动问题(vo/ao) </A></H2>
<DL>
<DT>Q:我播放视频的时候没有声音并且得到类似这样的出错信息:
<PRE>
AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
audio_setup: Can't open audio device /dev/dsp: Device or resource busy
couldn't open/init audio device -> NOSOUND
Audio: no sound!!!
Start playing...
</PRE>
</DT>
<DD>A:你是运行的KDE或者GNOME,并且起动了arts或者esd音频守护进程吗? 试试禁用音频守护进程,或者使用<CODE>-ao arts</CODE>
选项让<B>MPlayer</B>使用arts。</DD>
<DD> </DD>
<DT>Q:DGA驱动器怎么样了? 我找不到它!</DT>
<DD>A:<CODE>./configure</CODE>会自动检测你的DGA驱动。如果<CODE>-vo help</CODE>没有显示DGA,那你的X装的有问题。
尝试<CODE>./configure --enable-dga</CODE>并且读取<A HREF="video.html#dga">相关文档</A>。或者,使用<CODE>-vo sdl:dga</CODE>
选项试试SDL的DGA驱动。</DD>
<DD> </DD>
<DT>Q:很好,<CODE>-vo help</CODE>显示有DGA驱动,但是它抱怨权限。帮帮我!</DT>
<DD>A:它只能以root权限工作! 这是DGA的限制。你应该成为root(<CODE>su -</CODE>),然后再试一次。另一个解决方法是为
<B>MPlayer</B>SUID root,但是这种方法<B>不被推荐!</B><BR>
<CODE>chown root /usr/local/bin/mplayer</CODE><BR>
<CODE>chmod 755 /usr/local/bin/mplayer</CODE><BR>
<CODE>chmod +s /usr/local/bin/mplayer</CODE><BR>
<BLOCKQUOTE>
<B>警告:安全风险</B><BR>
这是一个<B>很大的</B>安全风险!<B>永远不要</B>在除了你之外还有人可以使用的服务器上这样做,因为他们能通过SUID root的
<B>MPlayer</B>获得root权限。<B>你被警告过了。</B>
</BLOCKQUOTE>
</DD>
<DD> </DD>
<DT>Q:当使用Xvideo时,我的Voodoo 3/Banshee报告说:<BR>
<CODE>X Error of failed request: BadAccess (attempt to access private
resource denied)<BR>
Major opcode of failed request: 147 (MIT-SHM)<BR>
Minor opcode of failed request: 1 (X_ShmAttach)<BR>
Serial number of failed request: 26<BR>
Current serial number in output stream:27</CODE></DT>
<DD>A:XFree86 4.0.2/4.0.3的“tdfx”驱动有这个bug。已经被解决了<A HREF="http://www.xfree86.org/cvs/changes_4_1.html">
bugfix #621 of the XFree86 4.1.0 CVS log</A>解决。因此,升级到XFree86 4.1.0或者更新的版本。或者,要么是从
<A HREF="http://dri.sourceforge.net">DRI的主页</A>下载(至少)0.6版本的DRI,要么使用CVS的DRI。</DD>
<DD> </DD>
<DT>Q:OpenGL(<CODE>-vo gl</CODE>)输出不工作(锁死/黑色窗口/X11出错/...)。</DT>
<DD>A:你的OpenGL驱动不支持动态材质更换(glTexSubImage)。已知的是它在nVidia的二进制的家伙上不工作。同时也知道它在Utah-GLX/DRI
和Matrox G400显卡上能工作。Radeon显卡加DRI也行。其它显卡加DRI不行。它同样不能在3DFX显卡上工作,因为256x256材质大小限制。</DD>
<DD> </DD>
<DT>Q:我有一块nVidia TNT/TNT2显卡,而我的电影的下面总有一个颜色奇怪的带子! 这个是什么故障?</DT>
<DD>A:这是nVidia二进制X驱动的一个bug。这些bug仅出现在TNT/TNT2显卡上,我们什么也干不了。要解决问题,升级到最新版本的nVidia二进制的驱动。
如果仍然不行,对nVidia抱怨去吧!</DD>
<DD> </DD>
<DT>Q:我使用nVidia XYZ显卡,当我单击显示GUI的显示窗口来触发GUI面板时,在我单击的地方出现一个黑色方块。我安装了最新的驱动。</DT>
<DD>A:没错,nVidia修正了上一个的错误(上面),并且引进了新的bug。让我们祝贺他们。更新:据<A HREF="users_against_developers.html#nvidia">
nVidia</A>说,这已经修正了。</DD>
<DD> </DD>
<DT>Q:当我使用GUI时,如果使用SDL视频输出,会创建第二个视频窗口。</DT>
<DD>A:知道,目前还没有使GUI能使用SDL。</DD>
<DD> </DD>
<DT>Q:啊世界真是残酷...! SDL只有<CODE>x11</CODE>输出,而不是<CODE>xv</CODE>!</DT>
<DD>A:再试一次<CODE>x11</CODE>输出。现在尝试<CODE>-vo x11 -fs -zoom</CODE>。看到区别了?没有?!好,给你点启发:SDL的<CODE>x11</CODE>
输出只要xv可用就会使用xv,你不必为它担心...注意:你使用<CODE>-forcexv</CODE>或<CODE>-noxv</CODE>强制/禁用SDL使用xv</DD>
</DL>
<H2><A NAME="dvd">5.5 DVD回放</A></H2>
<DL>
<DT>Q:当播放DVD时,我遇到这个错误:<BR>
<CODE>mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion
nfo_length / sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed.</CODE></DT>
<DD>A:这是已知的libdvdread 0.9.1/0.9.2的bug。使用<B>libmpdvdkit</B>,就在MPlayer的源代码中,并且缺省使用</DD>
<DD> </DD>
<DT>Q:我能在我的Solaris下的可爱的SPARC上编译libdvdread和libdvdcss吗?</DT>
<DD>A:天知道...据说它能工作,所以请测试它并且提供反馈。也参阅libdvdread的文件及其主页。我们不是libdvdread的作者。使用<B>libmpdvdkit</B>,
就在MPlayer的源代码中,并且缺省使用。</DD>
<DD> </DD>
<DT>Q:字幕怎么样? MPlayer能显示他们吗?</DT>
<DD>A:是。参见文档的<A HREF="cd-dvd.html#dvd">DVD chapter</A>部分。</DD>
<DD> </DD>
<DT>Q:我怎么设置我的DVD光驱的地区代码? 我没有Windows!</DT>
<DD>A:使用<A HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">regionset工具</A>。</DD>
<DD> </DD>
<DT>Q:我一定需要(setuid) root/setuid fibmap_mplayer来播放DVD吗?</DT>
<DD>A:不,只用于老式的DVD支持。然而你必须有适当的DVD设备项目的权限(在<CODE>/dev/</CODE>里)。</DD>
<DD> </DD>
<DT>Q:我在什么地方能找到libdvdread和libdvdcss包?</DT>
<DD>A:你不需要。使用<B>libmpdvdkit</B>,就在MPlayer的源代码中,并且缺省使用。无论如何,这些包能从
<A HREF="http://www.dtek.chalmers.se/groups/dvd">Ogle site</A>得到。</DD>
<DD> </DD>
<DT>Q:可以单独播放/编码选择的chapter吗?</DT>
<DD>A:可以,试试<CODE>-chapter</CODE>选项。</DD>
<DD> </DD>
<DT>Q:我的DVD回放慢的要死!</DT>
<DD>A:使用<CODE>-cache</CODE>选项(在man page中介绍)并尝试用hdparm工具为了DVD光驱开启DMA(在文档
<A HREF="cd-dvd.html#cd">CD部分</A>介绍)。</DD>
</DL>
<H2><A NAME="features">5.6 特性要求</A></H2>
<DL>
<DT>Q:如果<B>MPlayer</B>暂停之后我试图搜索或者按任意键,<B>MPlayer</B>会停止暂停。我愿意能够在暂停时在电影中搜索。</DT>
<DD>A:很难在不失去A/V同步的情况下实现这项功能。迄今为止所有尝试都失败了,但补丁是受欢迎的。</DD>
<DD> </DD>
<DT>Q:我想要+/- 1帧来搜索而不是10秒。</DT>
<DD>A:这不会被我们实现。它曾被实现过,但是它弄乱了A/V同步。如果你愿意就实现它,并且发送补丁。不要要求它。</DD>
<DD> </DD>
<DT>Q:哪里有Windows版本?</DT>
<DD>A:它还没有发行,并且将来也不会。看看Windows的情况(开源的ASF分析器,开源的ASF编码器等等)然后你就知道为什么了。
我们不想进监狱。顺便说一下,你可以自己编译它,在<A HREF="documentation.html#cygwin">Cygwin</A>下。</DD>
<DD> </DD>
</DL>
<H2><A NAME="encoding">5.7 编码</A></H2>
<DL>
<DT>Q:我怎么编码?</DT>
<DD>A:读取<B>MEncoder</B>的<A HREF="encoding.html">文件</A>。</DD>
<DD> </DD>
<DT>Q:我怎么创建VCD?</DT>
<DD>A:试试<CODE>TOOLS</CODE>目录下的<CODE>mencvcd</CODE>脚本。使用它你能把DVD或者其它电影编码成为VCD或者
SVCD格式甚至直接把它们刻到CD上。</DD>
<DD> </DD>
<DT>Q:我的电视选台器工作,我能用MPlayer听到声音观看视频,但是MEncoder不把音频编码!</DT>
<DD>A:Linux的电视音频编码目前还没有实现,我们正在努力。目前它只在BSD上工作。</DD>
<DD> </DD>
<DT>Q:我不能把DVD字幕编码成AVI!</DT>
<DD>A:你必须正确设定<CODE>-sid</CODE>选项!</DD>
<DD> </DD>
<DT>Q:MEncoder启动时出现segfaults!</DT>
<DD>A:升级DivX4Linux。</DD>
<DD> </DD>
<DT>Q:我如何仅对一张DVD中选定的chapter进行编码?</DT>
<DD>A:正确使用<CODE>-chapter</CODE>选项,像这样:
<CODE>-chapter 5-7</CODE></DD>
<DD> </DD>
<DT>Q:我试图在VFAT文件系统上处理2GB+的文件。能行吗?</DT>
<DD>A:不,VFAT不支持2GB+的文件。</DD>
<DD> </DD>
<DT>Q:为什么MEncoder显示的推荐比特率都是负的?</DT>
<DD>A:因为你编码的音频的比特率太大,在任何CD上不能用于电影。检查你是否正确安装了libmp3lame。</DD>
</DL>
</BODY>
</HTML>
|