• mplayer


    在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:mingwinclude)

    三、开始下载安装一些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
    解压后将 in 文件夹内的所有文件复制到C:mingwin文件夹内。
    原文错误,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 阅读(2877) 评论(0)  编辑  收藏

  • 相关阅读:
    流处理 —— Spark Streaming中的Window操作
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.8 提供带注解的限定符元数据
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.7 为自动检测组件提供作用域
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.6 给自动检测组件命名
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.5 在组件中定义bean的元数据
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.4 使用过滤器自定义扫描
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.3 自动检测类和注册bean的定义
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.2 元注解
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.1 @Component和深层的构造型注解
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10 类路径扫描和被管理的组件
  • 原文地址:https://www.cnblogs.com/roland1982/p/3434564.html
Copyright © 2020-2023  润新知