以下内容主要来自MPlayer的DOCS,希望能对大家安装使用MPlayer有帮助。如果写的有错请大家见谅。
MPlayer是基本上基于GPL协议的。但有些非GPL的代码所以不能用binary包发布。依据法律,MPlayer不能够做成rpm包发布。所以大家一定要使用source来编译,当然不能用rpm包发布还因为MPlayer在编译是针对机器的具体配置做了很多优化。所以在一台机器上编 译的MPlayer不一定能在另 外的机器上运行(不过他们正在研究实时监测cpu的代码,下个版本应该就可以了)。
MPlayer能播放的文件:MPEG,VOB,AVI,VIVO,ASF/WMV,QT/MOV,FLI, RM,NuppelVideo,yuv4mpeg,FILM,RoQ文件.可以看VCD,SVCD,DVD,3ivx和Divx,而且最新的 MPlayer还可以播放WMA的音乐文件。此外MPlayer还支持硬件MPEG解码,比如DVB和DXR3/Hollywood+(要另外下支持代码),支持 AC3的声音格式。可以放10种字幕文件(vobsub文件要有.ifo文件,美中不足)。
MPlayer的安装:
MPlayer的安装其实很简单,如果你不想要divx,DVD播放,也不想要DXR3和Hollywood的支持,这两个我觉得非重点,最后再说。只要有两个包:MPlayer的源代码包(MPlayer-********.tar.bz2)和win32解码器的包(win32codec.zip), 如果是CVS版本但希望支持divx只要到divx.com去下一个divx4linux装一下(release版本,有libavcodec速度更快所以不要,cvs版本里面没有,要自己去下),另外,大家最介意的一点就是MPlayer不推荐用redhat自带的gcc2.96编译,也不推荐用gcc3.x.x,最理想的是2.95.3和2.95.4。原因是因为2.96不接受MMX和3DNOW的代码。当然也可以用--disabel-gcc-checking跳过。另外 egcs编译器因为没有测试。可能也要用这个参数。
现在检查一下,你有了MPlayer的包,win32解码器的包。divx4linux装了。gcc2.95.3/4 也有了。下面就可以安装了。
先把win32codec.zip解压缩到/usr/lib/win32下面,然后在编译MPlayer源码。否则就没 有avi的支持了编译源码没什么好说的,就是configure,make,make install,如果希望 有图形界面的话,在configure是加 --enable-gui,另外还要到mplayer的网页上去下一个skin,解压缩放在.mplayer/Skin下 面。make install结束之后安装就完成了。0.5的MPlayer还要把codecs.conf拷到.mplayer下 面,0.60版的可以自己完成
MPlayer的配置和运行:
编译完了之后只要运行mplayer最简单的方法就是 mplayer 文件名,(如果你用的是 NVidia的显卡,可以装驱动。那样可以直接运行,如果不装驱动。还有两种选择,下面会说明)当然配置一下会更好:
如果要看字幕(vobsub除外),必须把字体安装到.mplayer/font下面,中文字体在172.8可 以找到,当然也可以自己作,不过好像有点复杂,具体可以看DOCS的内容还有172.8的中 文字体下面的说明编辑.mplayer下面的config文件(不记得MPlayer安装时候是不是创建这个文件,如果没有 的话自己建吧),在里面可以添加
skin=newskin,newskin用你在MPlayer下的skin的名字代替,然后用gmplayer命令就可以看到图形界面, 除非你下的skin是default,否则不设这一项直接用gmplayer是会出错的。这时候要用 gmplayer -skin newskin,这跟上面的设置等价的。
unicode=1
这是看中文字幕必备,看英文字幕也没有妨碍,所以写到config里面。
vaa_nodr=1
如果你用的CVS版本,或者我想将来可能也要用,这是禁止直接写屏的选项。在我的 Nvidia Vanta下面如果没有这一项,显示时间,字幕等等会很不清晰,以前的版本没有问 题。可以不要这个选项。
aop= list=extrastereo
这是使用立体声增强的插件的命令。效果就跟xmms里面的那个效果一样,默认参数是2.5 。可以自己设定。如果你有四声道的声卡,还可以用surround取代extrastereo,那是环 绕立体声。但如果你没有那种声卡用这个参数会无法发声。
另外还有一些不固定的参数,可以在运行mplayer/gmplayer是选用(他们都可以添加到 config下面,config下面的命令也可以变成参数)
-bps/-nobps
这是最重要的参数,这是两种图像和声音同步的方式。如果你播放avi(只有avi文件会有 问题)时如果发现声音图像不同步可以试试这两个选项。
-vo ***
-ao ***
这是设定音频和视频的输出的选项,正常情况下没有什么用,当如果你的机器是nvidia的 显卡有没有装驱动可以用 -vo sdl,就可以播放视频文件了。就是装了驱动。也可以试试这个选项。sdl会自动用nvidia 的库而且显示效果比直接用x11好(拖动窗口是不会有蓝色出现,按f就可以全屏,c可以在 能用的分辨率中切换)或者还有 -vo dga 和 -vo sdl:dga 这是用dga(Direct Graphics Access)显示,但这种方式需要root权限,而且只能全屏播放,所以不推荐。具体可以看 DOCS里的内容
此外如果你有svgalib,用-vo svga可以不进X看avi文件,当然由于没有显卡驱动,你的 cpu最好非常快(我的nvidia显卡不会配svgalib,所以也没有试过,不知道非常快是什么 概念),而且一定用全屏播放
-fm -vm -zoom
据说是全屏命令,我一直用图形界面和sdl,没有试过这个命令
-vcd
-dvd
放影碟时用的命令。我没有光驱,所以没有尝试过
-ss
这是命令行下面设定从什么地方开始放的命令。timepos的格式就是多少秒或者hh:mm:ss ,当看vobsub的电影是有用。
-sub
指定字幕文件,vobsub字幕无效,而且mplayer会自动搜索当前目录下面的同名文件作为 字幕。
-vobsub -vobsubid
这是看vobsub字幕的命令。目前只有cvs版本才有。name是字幕文件的位置+名字,不带 后缀。但是后缀名一定要是小写,否则不认(如果你愿意可以修改一下vobsub.c,做个贡 献),一定要.idx,.ifo,.sub三个文件都有。我一直没有明白windows下面的vobsub2.09 怎么能不要.ifo。所以如 果没有.ifo的话只能去找别的字幕了。id是设定播放的语言。好像没有必然规律。反正试 试看,从0到40,一般0不是英语就是汉语。很快就能找到中文字幕了。
播放中还有些常用的功能键
/, 降低音量
*, 提高音量
左右方向键, 前进或后退10s
上下方向键, 前进或后退1min
o, 调整字幕显示方式
f, 全屏(0.60版只有sdl有效,cvs版本全部有效)
还有很多别的功能键可以看DOCS
使用经验
1.播放媒体文件时候非常慢。
如果你没有oss或者alsa的话装一个试试。速度比内核的驱动会有明显的提高。或者用 -ao sdl试试,可能会有效果。如果确认不是声卡的问题,那就看看你的显卡设置。或者你 的机器实在太慢了(pII 400以上都应该可以)。
2.播放vobsub字幕的时候很慢,但如果不用字幕就正常 没有什么好办法,好像vobsub.c写的有点问题。具体我也不太明白。但我有个歪招,就是 改一下spudec.c,把ANTIALIASING_ALGORITHM的设定值改为0,总共可以设三个值:0,1 ,2。是控制字幕的显示质量的。数字越大质量越高。不过我看0和1没有什么差别。如果 你的机器很牛应该没问题 。
3.播放rm文件
虽然DOCS里面说能够播放。当只是开放编码格式的rm文件,不幸的是现在大部分rm文件都 不是。大家还是再装一个realplay吧。
4.字幕显示在电影画面上
用sdl播放可以把字幕调整到画面下方,如果可能的话。
5.无法使用sdl 升级,redhat自带的sdl好像版本低了点。