Vincent.Chan‘s Blog

常用链接

统计

积分与排名

网站

最新评论

在windows上用源代码编译安装MPlayer【转载】

照例,一楼说点废话,没耐心的XD们直接上二楼吧。happy.gif

1、本文遵循GPL/LGPL协议,欢迎自由转载,但请注明作者出处。

2、本文首发赢政。由于在那里被问到了几个MPlayer的问题,上网查了一下,发现关于Windows版MPlayer的文章较少,即使是官方中文文档(http://www.mplayerhq.hu/DOCS/HTML/zh/documentation.html),也侧重于Linux平台的安装使用。于是结合自己的使用经验写了一篇Windows平台下使用源代码编译MPlayer的帖子,在文章末尾简略的提了一下MPlayer命令行及GUI的使用。见笑了。

3、 Mplayer一段时间以来一直称得上Linux平台媒体播放软件的王者,其Windows移植版同样出色。但是最近Mplayer的日子过得挺尴尬。先 是在Linux(KDE)平台上被媒体播放器的新贵Kaffeine 一通穷追猛打,然后又和自己的子项目FFmpeg一起惹上了莫名其妙的版权官司。(http://www.mplayerhq.hu/homepage/index.html)虽然目前Mplayer 开发工作仍在正常进行,但前途依然是个未知数。作为一个Mplayer 的忠实拥护者,我只能默默地祈祷它一路走好!

4、本文主要参考文档:http://www4.mplayerhq.hu/MPlayer/releases/...MinGW-Howto.txt
5、我的机器是NorthWood的赛扬2.0,winxp sp2 ,从编译过程来讲,A贩们的U和其他windows操作系统应该大同小异。

6、时间仓促,错漏难免,敬请批评指正,谢谢! smile.gif
一、一般在Windows平台使用MPlayer的人大都会选择 KK编译版,相当出色和好用的版本,那么为什么还要费时费力地从源代码编译安装MPlayer?嘿嘿,我想有几个理由吧:

1、 命令行下执行MPlayer.exe你会发现,Mplayer的windows发行版默认都只是针对MMX和MMX2指令集进行的编译(如图),而它的源 代码还支持SSE,SSE2,3DNOW!和3dnow-dsp!指令集,如果你有一颗比较新的CPU,通过编译源代码加入对以上几个指令集的支持,以达 到更好的效果和更低的资源占用,是一件比较爽的事情。
2、自己编译的MPlayer可以自定义一些性能选项。比如说,默认的MPlayer并不支持2GB以上的单个文件,这就是为什么有人使用MPlayer播放HDTV影片其效果相当糟糕的原因。 你可以通过自己编译加上对它的支持。

3、MPlayer每天都会根据前一天的工作发布一个CVS的完整源代码包,只要你喜欢,每天你都可以编译一个最新的版本——你可以品尝到MPlayer最新的性能——当然,也可能包括最新的bug

4、通过编译安装,除了打造完全适合自己机器的软件外,还能多学一点电脑知识。

5、好玩。

如果以上五个理由没有打动你,那你就不要编译安装了,老老实实的下载上面提到的KK版,也是相当好用的。
 
二、安装前的准备工作

1、别看我们说是在windows下编译安装MPlayer,但是win自身并不提供相关工具。我们还需要安装两个软件,去 http://www.mingw.org/download.shtml 下载MinGW-3.2.0-rc-3.exe和MSYS-1.0.10.exe ,首先双击安装MinGW-3.2.0-rc-3.exe,这个和普通的win程序安装没什么区别,一路next就可以搞定;然后双击安装MSYS- 1.0.10.exe,这个在安装结束的时候会弹出对话框:"Do you wish to continue with the post install? [yn ]"选y后,又会弹出一个"Do you have MinGW installed? [yn ]" 也是选y,然后让你给出MinGW的安装路径,如果是默认的话应当填C:/mingw(注意用“/”而不是“\”)安装结束后会在桌面生成一个MSYS的 图标,双击即可执行。

MinGW 和MSYS究竟是干什么用的?呵呵,我一直都把它们理解为Linux部分工具软件和库+shell命令行的Windows移植版。为了写这篇文章专门搜了 一下,原来MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称。——反正就你能看见的部分来说,它就是一个类Unix/Linux的命令行式的软件编译环境。

2、下载dx7的头文件(http://www.mplayerhq.hu/MPlayer/releases/w.../dx7headers.tgz
解压后把里面的全部文件复制到(c:\mingw\include)

三、开始下载安装一些MPlayer编译所依赖的软件和lib等东东

1、freetype(OSD字幕用)

软件主页:http://www.gnu.org/software/libiconv/

需要文件:libiconv-1.9.1.tar.gz

这个文件和下面提到的文件在windows下都可以使用WinRAR解压。解压后把libiconv-1.9.1目录放在,比如说C盘下面,然后双击打开MSYS,输入

cd C:\ libiconv-1.9.1

注:打开libiconv-1.9.1目录,也可以按需要指定其他目录(下同)。回车,然后输入:

./configure --prefix=/mingw --disable-shared

注:配置代码命令,其中--prefix=c:/mingw为指定目录命令, --disable-shared为取消共享。回车,等待执行完毕后,输入:

make

注:编译命令。回车,等待执行完毕后,输入:

make install

注:编译安装命令。

等待执行完毕后,如果一切顺利,没有报错。那么到此就算完成了一个软件的安装。与下面的各个步骤大同小异,下面我就写的简单一些了。
 
2、freetype2
软件主页:http://sourceforge.net/project/showfiles.php?group_id=3157
需要文件:freetype-2.1.9.tar.bz2
同上一样,解压,然后
cd freetype-2.1.9
make 注:这个软件不需要./configure
make install
原文有错,应该要./configure

3、zlib
软件主页:http://www.gzip.org/zlib/
需要文件:zlib-1.2.2.tar.bz2
解压
cd zlib-1.2.1
make
make install

4、libpng
软件主页:http://sourceforge.net/project/showfiles.php?group_id=5624
所需文件:libpng-1.2.8-config.tar.gz
解压
cd libpng-1.2.8-config
./configure --prefix=c:/mingw --disable-shared
make
make install

5、libjpeg
软件主页:http://www.ijg.org/
所需文件:jpegsrc.v6b.tar.gz
解压
cd jpeg-6b
./configure --prefix=/mingw/ --enable-static
make
cp .libs/libjpeg.a c:/mingw/lib/
cp jpeglib.h jconfig.h jmorecfg.h c:/mingw/include/

6、libregif
软件主页:http://armory.nicewarrior.org/projects/libregif/
所需文件:libregif 4.1.6
解压
cd libregif-4.1.5
./configure --prefix=/mingw
make
make install

7、nasm
软件主页:http://sourceforge.net/project/showfiles.php?group_id=6208
所需文件:nasm-0.98.39.tar.bz2
解压
cd nasm-0.98.38
./configure --prefix=/mingw
make
mkdir c:/mingw/man/man1
make install

8、lame
软件主页:http://lame.sourceforge.net/download/download.html
所需文件:lame3.96.1.tar.gz
解压
cd lame-3.96.1
./configure --prefix=/mingw --disable-shared --disable-decoder
make
make install

9、xvid
软件主页:http://www.xvid.org/downloads.html
所需文件:xvidcore-1.0.3.tar.bz2 (http://downloads.xvid.org/downloads/)
这个软件最新的1.1beta版从我的机子上跑的情况来看,似乎对原来版本的兼容性有点问题,大家还是用旧的1.0.3版本的吧。
解压
cd xvidcore-1.0.3/build/generic
./configure --prefix=c:/mingw --disable-shared
make
make install
mv c:/mingw/lib/xvidcore.a c:/mingw/lib/libxvidcore.a

10、x264
软件主页:http://subversion.tigris.org/servlets/Proj...ist?folderID=91
所需文件:svn-win32-1.1.4.zip
解压后将 \bin 文件夹内的所有文件复制到C:\mingw\bin文件夹内。
原文错误,svn只是代码管理工具.x264下载地址:
下载后解压,然后
./configure --prefix=/mingw
make
make install

11、live
下载地址:http://www.live555.com/liveMedia/public/
所需文件:live555-latest.tar.gz
解压
cd live
genMakefiles mingw
make

12、RealCodecs

下载附件中的文件(已分卷),将其解压到某个路径备用。

至此,依赖软件和库文件的配置安装结束。
 
四、编译安装MPlayer

1、下载源代码包

首先去http://www.mplayerhq.hu/homepage/design7/dload.html 下载MPlayer的源代码包,依据你的个人喜好,你可以下载正式发行的源码版本,比如MPlayer v1.0pre6a source,也可以下载每天更新的CVS版本。

然后去http://www4.mplayerhq.hu/homepage/design7/codecs.html 下载那个名叫Windows all的解码器包。

2、两个包全部解压

3、用cd命令进入MPlayer源码的目录

4、./configure --help

注:执行这一步可以得到该软件支持的./configure的附加条件,可以根据自己的机器情况选用。

其 中有些条件是默认支持的,比如说,sse2,3dnow!等指令集的自动检测/支持,real及win32媒体文件的支持,流媒体的支持等等,你可以在附 加条件中忽略它们。(有的时候,某些条件未必能够监测得出来。你可以注意一下下一步的 ./configure 后的执行输出,里面包含了所有的条件执行信息,如果有没有认出的,你可以手动指定。)

5、下面就是./configure步骤了,这是我的配置,你可以根据自己的情况更改

./configure --prefix=D:/MPlayer --enable-win32 --enable-real --enable-live --enable-directx --enable-dshow --with-codecsdir=D:/MPlayer/codecs --with-win32libdir=D:/MPlayer/codecs --with-reallibdir=D:/MPlayer/realcodec --with-livelibdir=D:/MPlayer/codecs --enable-static --enable-largefiles --disable-mencoder
其中:
--prefix=D:/MPlayerr 为自定义Mplayer的安装路径。
--with-codecsdir=D:/MPlayer/codecs 我把下载的那个/windows-all-20050115 的解码包解压到D:/MPlayer/codecs,这个命令是指定它的路径。(下面的win32也指向这个路径就行)
--with-reallibdir=D:/MPlayer/realcodec 记得上面第12步中我们解压备用的那个RealCodecs吗?在这里指定它的路径。
--with-livelibdir=D:/MPlayer/live 上面第11步中我们编译的那个live文件的路径。
--enable-largefiles 支持2GB以上的单个文件——这恐怕对于HDTV爱好者来说是至关重要的。
--enable-directx 和 --enable-dshow 这两项实际上是“自动监测”的,但是有一次在我的机器上没有认出来,还是写一下吧。happy.gif
--enable-static 是必须的,请注意一下。
--disable-mencoder mencoder这东东我用不到,disable了。
注意:如果你想将编译好的MPlayer.exe能够运行在不同的机器上,可以加上 --enable-runtime-cpudetection 选项;如果只是用在自己的机器和系统上,那就不要加这个。

请注意一下 ./configure 以后的输出结果,在其中可能就能找到下次需要改进的地方。
原文太多罗唆,精简如下:
./configure --prefix=D:/MPlayer --enable-win32 --enable-real --enable-live --enable-directx --enable-dshow --with-codecsdir=codecs --with-livelibdir=live --enable-static --enable-largefiles --disable-mencoder

6、make

如果你是1.0G以下的CPU,你大可以去午睡一会儿了。需要比较长的时间。

7、make install

好了,大功告成。去D:\MPlayer下看看,在bin文件夹下就可以找到Mplayer.exe了。
 
将bin下的东西拷到/d/Mplayer下.lib下的 东西也要拷出来.删除codecs,live之外的文件夹.(usr,man之类).如果对命令行有兴趣,将/d/mplayer加入系统path.我是 没有兴趣的,所以我用了mpui.直接拷到/d/mplayer就好了.这个mplayer占用内存是少.我的播放DVD用了12M.加上MPUI一共 17M.WMP可是占了30多M呢.微软的东东从来都是吃内存的大户
 
五、MPlayer的使用

1、命令行方式

上述我们编译好的Mplayer.exe是一个命令行的应用程序——事实上官方的windows realse也是命令行版本的。这个在Windows的命令提示符里面可以运行,好在Windows的命令提示符支持拖动,我们也就不用费力的一个字符一个字符的输入了。

如图,是Mplayer播放文件的正确命令,注意mplayer.exe和媒体文件路径之间有空格键。具体使用及控制键请参阅上面提到的官方文档。
2、图形界面方式。
世界各地的软件编写者们为MPlayer编写了大量的GUI,其中windows平台的也为数不少。你可以在这里查到它们的列表:http://www.mplayerhq.hu/homepage/design7/projects.html

其中,比较优秀的有:

(1)WinMPLauncher (http://chameleon.gazellevillage.com/~twerp...MPLauncher.html

我 一直用这个,使用简单,功能强劲,而且资源占用几乎可以忽略不计。缺点是没有进度条和播控按钮。如图。使用方法:解压后双击 WinMPLauncher.exe,选择我们的MPlayer.exe所在路径,确定后即可使用它作为前端来调用MPlayer.exe播放文件了。

(2)mplgui
http://www.mplayerhq.hu/homepage/design7/projects.html

这个图形界面的优点是功能全, 它支持皮肤、拖动、进度条、一些基本图形控制按钮,列表播放等。但是我只找到了一种方法打开文件——拖动,而且没有打开URL的控制项。使用方法和上面的那个大同小异。不再赘述。

(3)MPlayerWIN(http://www.chronix.org/projects/mplayerwin/

有不少性能选项,也还可以。

(4)MPlayer interface(http://home.freeuk.com/tom.nealon/mplayer.html

总体上介绍的第1、3、4基本上是同类的——单纯的GUI,但是综合性能上来讲还是第一个比较强。

(5)MPUI(http://www-user.tu-chemnitz.de/~mfie/index.php?software=mpui

最好的一定要留在最后说。 这个图形界面功能是最全的,但同时也是占用资源最高的。下载后只将里面的MPUI.exe和autorun.inf两个文件解压到你的MPlayer目录,双击MPUI.exe即可使用。

还有很多,就不一一列出了,大家可以自己尝试,选出自己喜欢的。

如图是自己编译好的MPlayer,使用WinMPLauncher 界面播放mms流媒体时的截屏。但是mplayer播放的图像抓不下来哪位大虾知道怎么抓告诉一声,谢了!
原文地址 http://forums.mozine.cn/index.php?showtopic=124&mode=threaded

posted on 2008-04-02 21:38 Vincent.Chen 阅读(4015) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: