mirror of
https://github.com/mpv-player/mpv
synced 2024-12-22 06:42:03 +00:00
bc745edb16
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9870 b3059339-0415-0410-9bf9-f77b7e298cf2
629 lines
28 KiB
HTML
629 lines
28 KiB
HTML
<!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=gbk">
|
||
<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复制到MPlayer目录下(<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:MPlayer有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和MPlayer。</DD>
|
||
<DD> </DD>
|
||
|
||
<DT>Q:编译MEncoder过程中,在连接时出现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上编译MPlayer!</DT>
|
||
<DD>A:我也想。:)</DD>
|
||
|
||
</DL>
|
||
|
||
|
||
<H2><A NAME="general">5.2 一般问题</A></H2>
|
||
|
||
<DL>
|
||
|
||
<DT>Q: 我怎么给MPlayer制作合适的补丁?</DT>
|
||
<DD>A: 我们做了一个<A HREF="../tech/patches.txt">短小的文件</A>描述了所有必要的细节。照上面的步骤做。</DD>
|
||
<DD> </DD>
|
||
|
||
<DT>Q: 我怎么支持MPlayer的开发工作?</DT>
|
||
<DD>A: 我们非常乐于接受你的硬件和软件的<A HREF="http://www.mplayerhq.hu/homepage/donations.html">捐赠</A>。
|
||
它们能帮助我们持续的改进MPlayer。</DD>
|
||
<DD> </DD>
|
||
|
||
<DT>Q: 我怎么成为MPlayer的开发者?</DT>
|
||
<DD>A: 我们总是欢迎写程序的和写文档的。先阅读<A HREF="../tech/">技术文档</A>来有个大致了解。然后你应该订阅<A
|
||
HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">mplayer-dev-eng</A>邮件列表并开始编程。</DD>
|
||
<DD> </DD>
|
||
|
||
<DT>Q:我能同时运行多个MPlayer实例吗?</DT>
|
||
<DD>A:是的。有些视频输出的驱动像xv,dga或者(x)mga是唯一的,所以你将不能够运行超过一个使用这样的视频输出驱动的MPlayer实例。
|
||
音频驱动也在不是很严重的程度上存在这种问题。并非所有的驱动都允许在同样的设备上播放多重流。</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:从我们的<AHREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">编解码器页</A>下载Win32编解码
|
||
器(跟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>-vf 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>-fstype layer</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:可能文件的音频使用了一个不是MPlayer本地支持的解码器。按照README或者<A HREF="documentation.html#installation">
|
||
安装</A>部分中的说明安装Win32解码器包。</DD>
|
||
<DD> </DD>
|
||
|
||
<DT>Q:...avifile/aviplay能工作但MPlayer不能。</DT>
|
||
<DD>A:MPlayer不是avifile。它们之间唯一的共同之处Win32 DLL装载器。codecs(DLL)集,同步,信号分离等等完全不同
|
||
所以不应该被比较。如果什么东西能用aviplay播放并不意味着MPlayer能工作,反之亦然。</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,我们没法改变它。你应该使用没有打补丁的核心,
|
||
或者使用MPlayer的<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:尝试在你用来编译MPlayer的机器上运行它。或者重新编译打开运行时CPU检测功能(<CODE>./configure --enable-runtime-cpudetection</CODE>)。
|
||
如果没有使用上面提到的特性,不要在与编译它不同的CPU上使用MPlayer。</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运行MPlayer。</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>总线太慢。在这种情况下MPlayer会显示信息(并且掉帧数会迅速增加)。</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>插上外部电源。你也可以试试<A
|
||
HREF="http://www.brodo.de/cpufreq/">cpufreq</A>(一个Linux下的SpeedStep界面)对你是否有帮助。</DD>
|
||
<DD> </DD>
|
||
|
||
<DT>Q:当我以root权限在我的笔记本上运行MPlayer时,音频与视频完全不同步。当我作为普通用户运行它时,它工作正常。</DT>
|
||
<DD>A:这还是电源管理的结果(见上面)。起动你的笔记本<B>之前</B>插上外部电源或者使用<CODE>-nortc</CODE>选项。</DD>
|
||
<DD> </DD>
|
||
|
||
<DT>Q: 放一部电影的时候它突然跳跃起来并且出现下列信息:<BR>
|
||
<CODE>Badly interleaved AVI file detected - switching to -ni
|
||
mode...</CODE>
|
||
<DD>A: 糟糕的交错文件不能和<CODE>-cache</CODE>选项协同工作. 试试<CODE>-nocache</CODE>.</DD>
|
||
<DD> </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>
|
||
或<CODE>-ao esd</CODE>选项让MPlayer使用ARTS或ESD。</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>),然后再试一次。另一个解决方法是为
|
||
MPlayerSUID 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的
|
||
MPlayer获得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>
|
||
<DD> </DD>
|
||
|
||
</DL>
|
||
|
||
|
||
<H2><A NAME="dvd">5.5 DVD播放</A></H2>
|
||
|
||
<DL>
|
||
|
||
<DT>Q: 有没有DVD导航菜单?</DT>
|
||
<DD>A: MPlayer中的dvdnav支持目前坏了,但正常的播放可以工作。如果你想要华丽的菜单,你需要使用别的播放器比如<A
|
||
HREF="http://xine.sourceforge.net">xine</A>或者<A HREF="http://www.dtek.chalmers.se/groups/dvd/">Ogle</A>。
|
||
如果你确实想要DVD导航,送一个<A HREF="../tech/patches.txt">补丁</A>.</DD>
|
||
<DD> </DD>
|
||
|
||
<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>libmpdvdkit2</B>,就在MPlayer的源代码中,并且缺省使用</DD>
|
||
<DD> </DD>
|
||
|
||
<DT>Q:我能在我的Solaris下的可爱的SPARC上编译libdvdread和libdvdcss吗?</DT>
|
||
<DD>A:天知道...据说它能工作,所以请测试它并且提供反馈。也参阅libdvdread的文件及其主页。我们不是libdvdread的作者。使用<B>libmpdvdkit2</B>,
|
||
就在MPlayer的源代码中,并且缺省使用。</DD>
|
||
<DD> </DD>
|
||
|
||
<DT>Q:字幕怎么样? MPlayer能显示他们吗?</DT>
|
||
<DD>A:是。参见文档的<A HREF="cd-dvd.html#dvd">DVD</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>libmpdvdkit2</B>,就在MPlayer的源代码中,并且缺省使用。这些包能从<A
|
||
HREF="http://www.dtek.chalmers.se/groups/dvd">Ogle的站点</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>
|
||
<DD> </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:读取MEncoder的<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: 我怎么合并两个视频文件?</DT>
|
||
<DD>A: 这在mplayer-users上面是永不完结的话题。检索<A
|
||
HREF="http://mplayerhq.hu/cgi-bin/htsearch?restrict=/mplayer-users/">邮件文档</A>来寻找完整的答案。
|
||
这是个复杂的问题,而且你的操作可能因为你想要合并的文件种类有很大分别。MPEG可以直接连接成一个文件。
|
||
对于AVI有两个可用的工具<A HREF="http://fixounet.free.fr/avidemux/">avidemux</A>和avimerge(<A
|
||
HREF="http://www.theorie.physik.uni-goettingen.de/~ostreich/transcode/">transcode</A>工具集的一部分),
|
||
可能可以完成这个工作。如果两个文件使用同样的分辨率和编解码器,你也可用试试MEncoder。尝试<BR>
|
||
<CODE>cat file1 file2 > file3</CODE><BR>
|
||
<CODE>mencoder -ovc copy -oac copy -o out.avi -forceidx file3.avi</CODE></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>
|
||
<DD> </DD>
|
||
|
||
</DL>
|
||
|
||
</BODY>
|
||
</HTML>
|