MPlayer - Linux的电影播放器

© 2000-2002 Arpad Gereoffy (A'rpi/ESP-team)
http://www.mplayerhq.hu

[汉语] [英语] [匈牙利语] [德语] [法语] [波兰语] [意大利语]


目录



0. 如何阅读本文档

如果你是首次安装:请一定要阅读从这里到安装部分末端的每件事,并且追踪你将遇到的链接。 如果你有任何其它问题,返回到目录并搜索主题,读取FAQ,或者试图grepping整个文件。

这个文件的主要原则:如果一个功能没有被编入文档,那么它不存在。如果我不说你能 用电视选台器音频编码,你一定不能。不过健康程度的综合能力还是受欢迎的。祝你好运。你将需要它的:), 让我引用mplayer-users邮件列表中 Chris Phillips的话作为另一个好的建议:

“我以前说过新手和白痴之间的区别在于:无论,你实际上对一个系统(Linux,汽车,女孩:D) 了解多少,你应该总能够退一步想想并且保持客观,否则,你是公认的白痴IMHO。跟我住在一起的女孩认定吸 尘器坏了因为它不吸进东西,而从不想更换袋子,因为她以前从来没有做过...那就是愚蠢,而不仅仅是不 知道做什么...仅仅因为不是那么熟悉你的环境不是你的a)懒惰和b)忽视的借口。如此多人们似乎看到“error” 就停止...极少数似乎真正上读取了在冒号的另一边的东西”。

1. 介绍

MPlayer是Linux 上的电影播放器(也能跑在许多其它Unices上,甚至non-x86CPU上, 参见移植部分)。它能使用众多的本地的,XAnim,RealPlayer,和Win32 DLL codecs, 播放大多数MPEG,VOB,AVI,OGG,VIVO,ASF/WMV,QT/MOV,FLI,RM,NuppelVideo,yuv4mpeg,FILM,RoQ文件。 你还能观看VideoCDSVCDDVD3ivxRealMedia,和DivX格式 的电影(你根本不需要avifile库)。mplayer的另一个大的特色是广泛的输出设备支持。它可以在X11,Xv,DGA, OpenGL,SVGAlib,fbdev,AAlib,DirectFB下工作,而且你也能使用GGI和SDL(由此可以使用他们支持的各种驱动模式) 和一些低级的硬件相关的驱动模式(比如Matrox,3Dfx和Radeon,Mach64,Permedia3)!他们大多数支持软件或者硬件缩放, 因此你能在全屏下享受电影。MPlayer还支持通过硬件MPEG解码卡显示,诸如DVBDXR3与Hollywood+。可以使用european/ISO 8859-1,2(匈牙利语,英语,捷克语等等), Cyrillic,朝鲜字体的清晰放大并且反锯齿的字幕(支持10种格式),和on screen display(OSD)你又觉得如何?

MPlayer以GPL v2许可证发行。

这个播放器能够稳如泰山的播放被破坏的MPEG文件(对一些VCD有用),而它能播放著名的windows media player 都打不开的的坏的AVI文件。甚至,没有索引部分的AVI文件可播放,你能暂时由重建他们的索引-idx选择, 或者用MEncoder永久重建,使你能够seek!如你所见,稳定和质量是最重要的事情,而且他的速度是也惊人的。

1.1 历史

这一年以前开始的... 我(A'rpi)已尝试Linux下的许多播放器(mtv,xmps,dvdview,livid/oms,videolan,xine,xanim,avifile,xmmp), 但是他们全都有一些问题。多半与特殊的文件或音频与视频的同步有关。他们中大多数不能同时播放MPEG1,MPEG2和AVI(DivX)文件。 许多播放器也有图象质量或者速度的问题。因此,我已决定自己写/修改一个...

1.2 安装

在这章中我将试图指引你通过编译和配置MPlayer的过程,它不大容易的,不过也见得一定很难的。 如果你遇到不同于我所解释的现象,请的通过搜索这篇文件来查找你的回答。如果你遇到链接,请跟踪他们并且细心读取他们包含的内容。 它将花费一些时间,但是它确实是值得的。

你需要一个相当新的系统。在Linux上,推荐2.4.x的内核。

软件要求:

解码器:

显卡

一般地显卡可分为两种。一种(较新的显卡)支持硬件缩放和YUV加速,另一种卡没有。

YUV显卡

他们能在他们显存可以的范围中用任何分辨率显示和缩放(zoom)图像,只有很小CPU使用量(缩放不会使它增加!),所以你能得到清晰快速的全屏播放。

非YUV卡片

播放Fullscreen能被任一个可以使用软件缩放(使用-zoom或者-vop scale参数,但是我先警告你: 这会非常非常慢!),或者切换成较小的的分辨率,例如352x288。如果你没有YUV加速,我们推荐使用后一种方法。在MPlayer中, 这种方法通过-vm参数打开,它能用于下列驱动:

某些显卡:

声卡

特性

接着编译MPlayer

    ./configure
    make
    make install

到此为止,MPlayer就可以使用了。$PREFIX/share/mplayer目录下包含了codecs.conf文件, 程序通过它来了解所拥有的codecs和他们的能解的码。该文件应该与主程序一起更新!
检查在你的home目录(~/.mplayer/codecs.conf)中是否有旧的MPlayer版本留下的codecs.conf,如果有就删掉它!

Debian的用户能自己制作.deb安装包,这十分简单。直接在MPlayer的根目录执行fakeroot debian/rules binary。 详尽的步骤请看这里

./configure的输出请务必一定阅读,还有configure.log文件,其中的信息会告诉你将什么将被编译,什么不编译。 你也可能需要查看config.hconfig.mak文件。
如果你已经安装一些库文件,却没有被./configure发现,那么检查你是否也安装了正确的头文件(通常在-dev包中)以及他们的版本符合要求。 configure.log 通常会告诉你缺了什么。

尽管并非必需,你确实应该安装字体以使用OSD和字幕功能。下载mp-arial-iso-8859-*.zip和/或者可选(如果存在的话)的其他语言的更新。 阅读字幕和OSD一节来了解其细节。

    mkdir ~/.mplayer/font
    cd ~/.mplayer/font
    unzip mp-arial-iso-8859-1.zip
    ln -s ~/.mplayer/font/arial-24 font

1.3 GUI有吗?

GUI需要GTK(它不是GTK写成的,但是面板是的)。skin被保存为PNG格式,因此你需要安装gtk,libpng(和他们的devel包)。 你必须在运行./configure时使用--enable-gui来编译它的代码。然后,你可以用下列方法之一打开GUI方式

由于技术原因,目前你不能在命令行下使用-gui选项。

提示
使用鼠标的中间键(2键鼠标则同时按下左右两键),会弹出一个有DVD播放选项的GTK菜单!

因为MPlayer不自带skin,所以如果你想要使用GUI,你必须自己下载他们。参见下载页。 他们应该被解压到系统通用的目录($PREFIX/share/mplayer/Skin),或者解压到$HOME/.mplayer/SkinMPlayer在默认情况下会在这些的目录里寻找一个叫default的目录, 但是你能使用-skin newskin选项或在config文件中添加skin=newskin来强制使用*/Skin/newskin下的skin。

1.4 字幕和OSD

MPlayer能在播放电影的同时显示字幕。目前支持下列格式:

使用不同格式的命令行选项稍有不同:

VobSub字幕

VobSub字幕包括一个大的(几兆).sub文件,和可选的.idx和/或者.ifo文件。
用法: 如果你有类似sample.subsample.ifosample.idx之类的文件 -- 你必需使用-vobsub sample -vobsubid <id>的参数(当然必要时加上路径)。 -vobsubid 选择类似于播放DVD时的-sid,用它你可以选择不同的字幕轨道(语言)。

其它字幕

其它格式由一个单一的包含时间,位置和正文信息的文本文件组成。
用法: 如果你有类似sample.txt之类的文件,你必须使用-sub sample.txt (当然必要时加上路径)。

调整字幕的时间和位置

-subdelay<sec>
延迟字幕< sec >秒。可以是负数。
-subfps<rate>
规定字幕文件按每秒多少帧速度显示(浮点数)
-subpos<0-100>
规定字幕显示的位置。

如果你使用MicroDVD字幕文件时遇到电影和字幕之间的延迟不断增加的问题,很有可能你的电影文件和字幕文件的帧速度不同。
请注意,MicroDVD字幕格式用绝对帧数来计时,因此-subfps选项不能用于这种格式。因为MPlayer没法猜测 字幕文件的帧速度,你必须手工修改它。在MPlayer的FTP站点的contrib目录中有一个小的perl脚本可以替你做这种转化。

关于DVD字幕,请看DVD一节。

1.4.1 MPlayer自己的字幕格式(MPsub)

MPlayer引入一种称为MPsub的新的字幕格式。它是我(Gabucino)设计。基本上,其主要的特性是基于动态时间 (虽然它有基于帧的模式)。例如(引自DOCS/tech/mpsub.sub):

# first number : wait this much after previous subtitle disappeared
# second number : display the current subtitle for this many seconds

15 3
A long long, time ago...

0 3
in a galaxy far away...

0 3
Naboo was under an attack.

因此如你所见,主要的目标是使字幕的编辑/计时/合并/分割变得容易。同时,如果你 -- 比方说 -- 有一个SSA字幕但是它 与你的电影却有严重的时间/延迟问题,你只要简单运行mplayer dummy.avi -sub source.ssa -dumpmpsub。 在当前目录中将生成一个dump.mpsub文件,它包含源字幕的正文,但是使用MPsub格式。 然后,你就能字幕中自由地添加或减去任意秒。

字幕的显示使用一种称为'OSD', On Screen Display的技术。OSD被用来显示当前的时间,音量条,进度条等等。

1.4.2 安装OSD和字幕

你需要一个MPlayer字体包来使用OSD和字幕功能。有许多方法获得它:

下载字体之后,把你下载的文件UNZIP到~/.mplayer或者$PREFIX/share/mplayer。 然后将其中之一改名或者符合链接为font(例如:ln -s ~/.mplayer/arial-24 ~/.mplayer/font)。 你现在应该在电影的左上角看见一个计时器(用"o"键可以关上它)。

OSD有3种状态:(用'o'键切换)

你能通过在config文件中设置变量osdlevel=来改变默认行为。

1.5 RTC

MPlayer中有三种计时方法。 注意:永远不要将setuid root的MPlayer安装在多用户系统上!这显然会让任何人得到root权限。

2. 特性

2.1 支持格式

2.2 支持的codecs

2.3 视频音频输出模式

2.4 MEncoder -- 全功能编码器

2.5 电视输入

这段将要如何能够使用V4L兼容的电视选台器观看与截取

这些代码目前没有继续开发!不要指望它不经过修改或实验就能正常工作!

2.5.1 编译

  1. 首先,你必须重新编译。./configure将自动检测v4l的内核头文件和/dev/video* 输入的存在。如果他们存在,电视支持将被编译(查看./configure的输出)。
  2. 用另一个Linux中的电视软件确保你的调音器工作,例如xawtv。
提示
颜色是混乱的吗?那么,你的选台器不能在YV12颜色格式中显示。尝试一下I420(-vc rawi420)或者YUY2, UYVY,RGB32 (-vo sdl)颜色格式。你可以用outfmt=YV12选项来指定它,参见下面。

2.5.2 可用的选项

on
使用电视输入。
noaudio
没有声音,谢谢。
driver
dummy -- 空电视输入:)仅仅用于测试,产生伪输入。
v4l -- 用标准的V4L接口(缺省为/dev/video0)捕捉图象。
device
指定缺省的/dev/video0之外的设备。
input
指定电视选台器输入中你希望截取的输入(比如电视s-videocomposite,...)
在初始化时会显示可用的选项。
freq
把选台器设置到指定的频率(例如511.250)。
outfmt
规定选台器把图象传送到我们时应该使用的输出格式(rgb32rgb24yv12uyvyi420(对于i420你必须使用-vc rawi420参数,否则会有fourcc冲突))。
width
输出窗口的宽度,以象素为单位
height
输出窗口的高度,以象素为单位的
norm
可用选项:PAL,SECAM,NTSC
channel
把选台器设置到指定的频道。
chanlist
可用选项:us-bcast, us-cable, europe-west, europe-east, 等等

2.5.3 键盘控制

  h/k  选择前一个/下一个频道
n切换制式
b切换chanlist

2.5.4 例子

伪输出,到AAlib:)
    mplayer -tv on:driver=dummy:width=640:height=480 -vo aa

从标准的V4L输入
    mplayer -tv on:driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv

注:
如果你的电视卡有一个有外部音频设备而只出现黑屏,但xawtv或类似的东西对输入的信号却工作正常,那么试试-noaudio选项。对于上述的例子命令是:

3. 用法

3.1 命令行

MPlayer使用一个复杂playtree格式。它包括写在最前面作为全局设置的选项(例如mplayer -vfm 5),和写在文件名之后, 仅仅作用于给定的文件名或URL或whatever的选项(例如mplayer -vfm 5 movie1.avi movie2.avi -vfm 4)。
你能使用{和}给文件名与URL分组。它对-loop选项很有用:mplayer { 1.avi -loop 2 2.avi } -loop 3命令将按以下顺序播放文件: 1 1 2 1 1 2 1 1 2

  单一文件  mplayer [options] [path/]filename
多个文件mplayer [default options] [path/]filename1 [options for filename1] filename2 [options for filename2] ...
VCDmplayer [options] -vcd trackno [-cdrom-device /dev/cdrom]
DVDmplayer [options] -dvd titleno [-dvd-device /dev/dvd]
网址mplayer [options] http://site.com/file.asf (也可以使用playlist)

最新版本的MPlayer也可以象Xine一样接受URL风格的VCD和DVD轨道,就做: mplayer dvd://1或者mplayer vcd://1

  mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
  mplayer -vcd 2
  mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
  mplayer -dvd 1 -dvd-device /dev/hdc
  mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi

3.2 控制

MPlayer有一个完全可配置的,命令驱动的控制层使你可以键盘,鼠标,游戏杆或遥控器(使用LIRC)控制MPlayer

3.2.1 默认控制方法

从终端的键盘控制

  <- or ->  快进/后退10秒
up or down快进/后退1分钟
pgup/pgdown快进/后退10分钟
< or >在播放列表中选下一个/上一个
p or SPACE暂停(按任意键)
q or ESC停止播放并退出
+ or -调整音频延迟+/-0.1秒
/ or *减少/增加音量
f切换全屏
o切换OSD: none/seek/seek+timer
z or x调整字幕延迟+/-0.1秒
r or t调整字幕位置
HOME or END选择上一级列表中的下一个/上一个playtree命令
INSERT or DELETE下一个/上一个替代source(只用于asx播放列表)

(下列的控制键只有当使用-vo xv时是有效的)

1 or 2调整对比
3 or 4调整亮度
5 or 6调整hue
7 or 8调整饱和

GUI键盘控制

  , and .  上一个/下一个文件
gray - or +减少/增加音量
enter开始播放
space暂停
s停止
aabout
l打开文件
bskin browser
eequalizer对话框
pplaylist对话框
f切换全屏
m切换静音

TV输入的键盘控制

  h or l  选择上一个/下一个频道
n切换制式
b切换频道列表

3.2.2 配置控制方法

MPlayer允许你使用一个简单的config文件把任何键或按钮绑定为任何一个MPlayer控制命令。 句法是键名后加命令。缺省config文件是$HOME/.mplayer/input.conf但是-input conf 选项可以重新指定(相对路径是相对于$HOME/.mplayer的)。

例子:

##
## MPlayer input control file
##

RIGHT seek +10
LEFT seek -10
- audio_delay 0.100
+ audio_delay -0.100
q quit
> pt_step 1
< pt_step -1
ENTER pt_step 1 1

3.2.2.1 键名

运行mplayer -input keylist你将得到一个完整的列表

键盘:

鼠标(只在X下支持):

游戏杆(编译时必须打开对游戏杆的支持)

3.2.2.2 控制命令

通过运行"mplayer -input cmdlist"你可以得到一个完整的已知命令的列表

3.2.3 用LIRC控制

Linux红外遥控 -- 使用一个容易制作的home-brewn红外线接收器,(几乎)任意一个的遥控器然后就可以用它来控制你的Linux box了! 更多内容见www.lirc.org

如果你已安装了lirc-package,configure将自动检测到它。如果一切顺利,MPlayer在启动时将显示 "Setting up lirc support..."之类的信息。如果发生错误它将会显示。如果它不显示关于LIRC的任何信息则对LIRC的支持没有编译。就是这样:-)

MPlayer的程序名是 -- 嗯,让我想想看 -- 'mplayer'。你能使用任何mplayer命令甚至传递超过一种命令只要用\n分开他们。 不要忘记当有意义的时候(搜索,音量等等),在.lircrc中开启repeat标记。这是我的.lircrc的摘录:

begin
     button = VOLUME_PLUS
     prog = mplayer
     config = volume 1
     repeat = 1
end

begin
    button = VOLUME_MINUS
    prog = mplayer
    config = volume -1
    repeat = 1
end

begin
    button = CD_PLAY
    prog = mplayer
    config = pause
end

begin
    button = CD_STOP
    prog = mplayer
    config = seek 0 1\npause
end

如果你不喜欢lirc-config文件的标准位置(~/.lircrc)使用-lircconf <filename>选项指定别的文件。

3.2.4 Slave方式

Slave方式把允许你为MPlayer建立简单的frontend。当它开启(用-slave选项)时MPlayer 将从stdin读取用new line(\n)分开的命令。

3.3 网络或管道的流媒体

MPlayer支持通过HTTP或者MMS协议播放网络上的文件。

只要直接把URL地址加到命令行中就可以进行播放。MPlayer也支持http_proxy环境变量, 并且在可能的情况下使用代理。也可以强行指定使用代理:

mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf

MPlayer能从stdin(不称为管道)输入。例如这样能从FTP上播放:

  wget ftp://micorsops.com/something.avi -O - | mplayer -

注:当使用网络播放功能时推荐打开cache功能:

  wget ftp://micorsops.com/something.avi -O - | mplayer -cache 8192 -

4. FAQ部分

5. CD与DVD部分

6. 移植

6.1 Debian安装包的制作

为了制作安装包,下载cvs版本,或者.tgz和并把它解压缩,然后进入程序的目录:

    cd main
    fakeroot debian/rules binary

(... mplayer检测软硬件, 编译自己然后.. ) dpkg-deb: building package 'mplayer' in '../mplayer_0.90-1_i386.deb'.

现在,成为root,然后:

    dpkg -i ../mplayer_0.90-1_i386.deb as root.

你将会看到下面这样的信息:

	eyck@incubus:/src/main$ sudo dpkg -i ../mplayer_0.90-1_i386.deb
	Password:
	(Reading database ... 26946 files and directories currently installed.)
	Preparing to replace mplayer 0.50-1 (using ../mplayer_0.90-1_i386.deb)
	Unpacking replacement mplayer ...
	Setting up mplayer (0.90-1) ...

6.2 FreeBSD

为编译它你需要GNU make(gmake,/usr/ports/devel/gmake),本地的BSD make不能正常工作。

为了运行MPlayer你将需要打开"options USER_LDT"重新编译内核(除非你使用-CURRENT,这一项在其中是默认的)。 如果你有支持SSE的CPU也用"options CPU_ENABLE_SSE"选项来使用它(需要FreeBSD-STABLE,或者使用内核补丁)。

如果MPlayer报告"CD-ROM Device '/dev/cdrom' not found!",那么请做一个符号链接: ln -s /dev/(your_cdrom_device) /dev/cdrom

目前对FreeBSD没有DVD支持。

6.3 Solaris

MPlayer在Solaris 2.6或者更新的系统上应该能够正常运行。

AVI文件的回放在Solaris x86上的效果最好,因为在x86平台上你可以选择使用win32 codecs,或者使用MMX/MMX2/3DNow等指令集 来播放MP3/DivX/DVD或者其他什么。在Solaris SPARC上,你将发现许多AVI文件的视频和/或者音频playback无法正常播放, 因为它们的视频与音频codecs使用Win32 DLL的不可用的。然而,DivX/OpenDivX电影应该可以使用libavcodec播放。

UltraSPARC上,MPlayer利用他们的VIS扩展(相当于MMX)的优势,目前只应用于libmpeg2libvo以及libavcodec ,但mp3lib没有。你能在400MHz CPU上观看VOB文件。你需要安装mLib

为编译它你需要GNU make(gmake,/opt/sfw/gmake),native的Solaris make不能正常工作。你用Solaris的make代替GNU make时的典型的错误信息为:

   % /usr/ccs/bin/make
   make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen

在Solaris SPARC上,你需要GNU C/C++编译器;GNU C/C++编译器是否设置使用GNU汇编程序没有什么关系。

在Solaris x86上,你需要GNU汇编程序和GNU C/C++编译器,设置使用GNU的汇编程序!在x86平台上的mplayer代码大量使用MMX,SSE和3DNOW! 指令集,使用Sun的汇编程序/usr/ccs/bin/as不能编译通过。

configure脚本将试图查找你的"gcc"命令使用的汇编程序(如果自动检测失败,使用"--as=/whereever/you/have/installed/gnu-as" 选项告诉configure脚本你的系统的GNU的"as"在哪里)。

在Solaris x86系统上使用没有GNU汇编程序的GCC时configure的出错信息为:

   % configure
   ...
   Checking assembler (/usr/ccs/bin/as) ... , failed
   Please upgrade(downgrade) binutils to 2.10.1...

(解决方法:安装并且使用配置了"--with-as=gas"的gcc)

当不使用GNU as的GNU C编译程序时的典型出错信息是:

   % gmake
   ...
   gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
	-fomit-frame-pointer  -I/usr/local/include   -o mplayer.o mplayer.c
   Assembler: mplayer.c
   "(stdin)", line 3567 : Illegal mnemonic
   "(stdin)", line 3567 : Syntax error
   ... more "Illegal mnemonic" and "Syntax error" errors ...

关于DVD支持你必须安装打过补丁的libcss。补丁在: http://www.tools.de/solaris/mplayer/

因为Solaris8 x86的两个bug,不能可靠地播放容量>4GB的DVD:

在使用UltraSPARC CPU的Solaris上,对有些耗时的操作使用CPU的VIS指令能获得额外的速度提升。 在MPlayer中通过Sun的mediaLib中的函数使用VIS加速功能。

mediaLib的VIS加速功能用于mpeg2视频解码和视频输出驱动的颜色转换。

6.4 StrongARM

据报告MPlayer可以在StrongARM上编译。使用下列命令:

  ./configure --target=arm-linux --disable-css --with-x11libdir=/usr/arm/lib
	      --with-x11incdir=/usr/arm/lib --disable-gcc-checking

6.5 Silicon Graphics / IRIX

据称可以工作正常。你可能必须使用SGIao驱动。谁有较确切的信息?

6.6 QNX

能工作。你需要下载SDL for QNX并安装它。然后使用-vo sdl:photon-ao sdl:nto 选项运行MPlayer,速度应该很快。

-vo x11输出将比Linux更加缓慢,因为QNX只有一个十分缓慢的的X仿真。使用SDL。

6.7 OpenBSD

为编译它你需要GNU make(gmake,/usr/port/devel/gmake),native的BSD make不能正常工作,还要一个最近的binutils(包括objcopy)。

因为gas的版本不同(relocation vs mmx)的限制,你需要分两步编译: 首先确保non-native的汇编程序当前在PATH中并运行gmake -k, 然后在确保使用native版本情况下运行gmake

要想MPlayer使用Win32 DLL你要用"option USER_LDT"重新编译内核。

如果MPlayer报告找不到'/dev/cdrom'或'/dev/dvd',请做一个符号链接,例如ln -s /dev/rcd0c /dev/dvd

我们中不那么hardcore的黑客可以想要使用移植版本(/usr/port/x11/mplayer)。

6.8 Cygwin

你必须到MPlayer的目录下,拷贝或者symlinketc/cygwin-inttypes.h/usr/include/inttypes.h来使 MPlayer顺利编译。否则,它将报告找不到intypes.h

附录A -- 邮件列表

有一些关于MPlayer的公开的邮件列表。用户能在下列的地址完成订阅:

注意:在列表上的语言必须是英语,除非另有明确说明。请不要使用其它语言发送信息!

注意:http://www.mplayerhq.hu/cgi-bin/htsearch有可供检索的邮件列表文档。

附录B -- 如何报告bug

附录C -- 已知bug

特殊的系统或CPU相关的bug或问题:

各种各样A-V同步和其它音频问题:

一般的音频延迟或者急跳声音(对所有或者大部分文件存在): 特定的某一个或一些文件的音频延迟/不同步: 完全没有声音: 完全没有图画(全灰/全绿窗口):

视频输出问题:

首先注意: -fs -vm和-zoom选项只是推荐,(目前)不是所有驱动器都支持。因此,如果它不起作用那不是bug。 只有少数驱动支持缩放,对x11或dga不要指望这个。

OSD与字幕闪烁:
-- x11驱动器: 抱歉,它现在不能被修正
-- xv驱动器: 使用-double选项

使用mga_vid时的绿色图象(-vo mga/-vo xmga):
-- mga-vid没有正确检测你的显卡的显存大小,使用mga_ram_size选项重新载入

附录D - MPlayer skin的格式

附录E - 开发者的痛楚