首页 > 开发 > 综合 > 正文

MPlayer常见问题解答

2024-07-21 02:36:41
字体:
来源:转载
供稿:网友

  1 编译问题
  
  Q:编译停止并出现类似这样的出错信息:
  
  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.
  
  
  A:这是gcc 3.0.4的一个已知的bug,升级到3.1就可以解决问题。如何安装gcc参阅gcc 2.96部分。
  
  Q:Configure结束时出现这样的文字,MPlayer无法编译!
  "Your gcc does not support even i386 for '-march' and '-mcpu'."
  A:你的gcc没有正确的安装,细节需要查看config.log文件。
  
  Q:"No sUCh file or Directory"是什么意思?
  A:有可能真的没有这样文件或目录。
  
  Q:gcc2.96有什么问题?
  A:我们强烈反对使用gcc 2.96!
  细节参见这个文件了解为什么Red Hat发布gcc 2.96,以及它有什么问题。假如你仍然确实确实确实确实想要使用它,总是使用最新的版本并且在configure的时候加上--disable-gcc-checking选项。记住是你自己选择这条路的。一定不要报告bug,一定不要到邮件列表上寻求帮助。假如你碰到问题我们将不提供任何支持。
  
  Q:好极了,那么我使用Red Hat/Mandrake的gcc 3.0.1,我没问题!
  A:不,因为那些编译器同样有问题。为了了解当前的编译器对MPlayer的支持状况,参见安装部分。
  
  Q:我试图编译MPlayer,但是我得到这样的输出:
  
  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
  
  
  A:把你的glibc升级到最新的发行版。对于Mandrake,使用2.2.4-8mdk。
  
  Q:... gcc 2.96 ... (是的,有些人还在为gcc 2.96上火!)
  A:我们引用A'rpi发送到mplayer-users邮件列表的一封 邮件('ideg'的意思将在下面解释):
  
  And we have idegs. And our idegcounter overflowed again and again.
  
  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.
  
  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.
  
  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.
  
  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.
  
  Conclusion: We can't be good. Half the people will always say we are bad.
  
  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.
  
  
  Q:SDL输出不能工作或者编译。
问题在...
  A:SDL 1.2.x经过测试能够工作另外SDL 1.1.7+可能能工作。任何以前的版本肯定不能工作。因此假如你选择使用这样的版本,是你自己的责任。
  
  Q:我在编译SDL支持的时候仍然有问题。gcc说什么"undefined reference to `SDL_EnableKeyRepeat'"。现在怎么办?
  A:你把SDL库装在哪里? 假如你装在/usr/local(默认目录)中那么编辑顶层的config.mak并在"X_LIBS="之后添加"-L/usr/local/lib"。现在打make。你搞定了!
  
  Q:不能编译,找不到uint64_t inttypes.h之类的东西...
  A:把etc/inttypes.h复制到MPlayer目录下(cp etc/inttypes.h .)然后再试一次...
  
  Q:我在Pentium III上运行Linux但是./configure 没有找到SSE...
  A:只有2.4.x的内核支持SSE(或者试试2.2.19或更新的版本,但预备好出问题)。
  
  Q:我有G200与G400,我如何编译使用mga_vid驱动?
  A:阅读mga_vid文档。
  
  Q:MPlayer有rpm/deb/...之类的安装包吗?
  A:你能自己制作.deb安装包,查阅Debian安装包的制作一节。我们网站的下载页上有官方的Red Hat的RPM包的下载链接。
  
  Q:在'make'时,MPlayer报告没有X11库。我不理解,我确实装了X!?
  A:...但是你没有装X的开发包。或者没有正确安装。Red Hat下面它叫XFree86-devel*,Debian下面是xlibs-dev。也检查是否存在/usr/X11和/usr/include/X11的符号链接(在Mandrake系统上可能有这个问题)。他们用下列命令创建:
  $ ln -sf /usr/X11R6 /usr/X11
  $ ln -sf /usr/X11R6/include/X11 /usr/include/X11
  你的发行版可能不是文件系统层次标准。
  
  Q:我不能编译SVGAlib。我使用2.3/2.4的内核...
  A:你必须编辑SVGAlib的Makefile.cfg把BACKGROUND = y注释掉。
  
  Q:我的MPlayer编译了libdvdCSS/libdivxdecore的支持,但是当我试图起动它时,它说:
  > error while loading shared libraries: lib*.so.0: cannot load shared object file: No such file or directory
  我检查了文件,它确实在/usr/local/lib里面...
  A:在/etc/ld.so.conf里添加/usr/local/lib然后运行ldconfig。
  
  Q:Hmm,希奇。我加载mga_vid.o内核模块后在log中找到这个:
  Warning: loading mga_vid.o will taint the kernel: no license
  A:最新的内核modutils要求一个标明许可证的标记(主要避免内核hackers调试非开源的驱动)。升级你的内核, modutils和MPlayer。
  
  Q:编译MEncoder过程中,在连接时出现segfaults!
  A:这是连接程序的问题。把binutils升级应该有用(2.11.92.*或者更新版本应该不错)。由于它不是我们的问题,请一定不要报告!
  
  Q:MPlayer在pthread check时因为segmentation fault而崩溃!
  A:chmod 644 /usr/lib/libc.so
  
  Q:我想在Minix上编译MPlayer!
  A:我也想。
  
  2 一般问题
  
  Q: 我怎么给MPlayer制作合适的补丁?
  A: 我们做了一个短小的文件描述了所有必要的细节。照上面的步骤做。
  
  Q: 我怎么支持MPlayer的开发工作?
  A: 我们非常乐于接受你的硬件和软件的捐赠。它们能帮助我们持续的改进MPlayer。
  
  Q: 我怎么成为MPlayer的开发者?
  A: 我们总是欢迎写程序的和写文档的。先阅读技术文档来有个大致了解。然后你应该订阅mplayer-dev-eng邮件列表并开始编程。
  
  Q:我能同时运行多个MPlayer实例吗?
  A:是的。有些视频输出的驱动像xv,dga或者(x)mga是唯一的,所以你将不能够运行超过一个使用这样的视频输出驱动的MPlayer实例。音频驱动也在不是很严重的程度上存在这种问题。并非所有的驱动都答应在同样的设备上播放多重流。
  
  Q:在左上角中有一个计时器。
我怎么能去掉它?
  A:按o或者使用-osdlevel选项。
  
  Q:-xy或者-fs选项对x11驱动(-vo x11)不起作用...
  A:它能起作用,但你必须用-zoom选项明确指定使用软件缩放(十分缓慢)。你最好是使用XF86VidMode支持:你必须指定-vm和-fs选项,然后就搞定了。确保在你的XF86Config文件中有正确设定了modelines,并且尝试使用DGA驱动以及SDL的DGA驱动。它快得多。假如SDL的DGA能工作就用它,它还要更快。
  
  Q:状态行上的数字的是什么意思?
  A:例如: A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49%
  
  * A:以秒计算的音频位置
  * V:以秒计算的视频位置
  * A-V:以秒计算的音频视频位置差(延迟)
  * ct:所有完成的A-V同步纠正
  * 播放的帧数(从最后一次搜索开始计算)
  * 解码的帧数(从最后一次搜索开始计算)
  * 视频解码器占用的cpu的百分比(对于slice和DR这包括了视频输出的占用)
  * 视频输出的cpu占用
  * 音频解码器占用的cpu的百分比
  * 为保持A-V同步而丢弃的帧数
  * 目前图像后处理的级别(当使用-autoq时)
  * 当前cache使用

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表