照例,一樓說點廢話,沒耐心的XD們直接上二樓吧。
1、本文遵循GPL/LGPL協(xié)議,歡迎自由轉(zhuǎn)載,但請注明作者出處。
2、本文首發(fā)贏政。由于在那里被問到了幾個MPlayer的問題,上網(wǎng)查了一下,發(fā)現(xiàn)關(guān)于Windows版MPlayer的文章較少,即使是官方中文文檔(
http://www.mplayerhq.hu/DOCS/HTML/zh/documentation.html),也側(cè)重于Linux平臺的安裝使用。于是結(jié)合自己的使用經(jīng)驗寫了一篇Windows平臺下使用源代碼編譯MPlayer的帖子,在文章末尾簡略的提了一下MPlayer命令行及GUI的使用。見笑了。
3、
Mplayer一段時間以來一直稱得上Linux平臺媒體播放軟件的王者,其Windows移植版同樣出色。但是最近Mplayer的日子過得挺尷尬。先
是在Linux(KDE)平臺上被媒體播放器的新貴Kaffeine 一通窮追猛打,然后又和自己的子項目FFmpeg一起惹上了莫名其妙的版權(quán)官司。(
http://www.mplayerhq.hu/homepage/index.html)雖然目前Mplayer 開發(fā)工作仍在正常進(jìn)行,但前途依然是個未知數(shù)。作為一個Mplayer 的忠實擁護(hù)者,我只能默默地祈禱它一路走好!
4、本文主要參考文檔:
http://www4.mplayerhq.hu/MPlayer/releases/...MinGW-Howto.txt
5、我的機(jī)器是NorthWood的賽揚(yáng)2.0,winxp sp2 ,從編譯過程來講,A販們的U和其他windows操作系統(tǒng)應(yīng)該大同小異。
6、時間倉促,錯漏難免,敬請批評指正,謝謝!
一、一般在Windows平臺使用MPlayer的人大都會選擇 KK編譯版,相當(dāng)出色和好用的版本,那么為什么還要費時費力地從源代碼編譯安裝MPlayer?嘿嘿,我想有幾個理由吧:
1、
命令行下執(zhí)行MPlayer.exe你會發(fā)現(xiàn),Mplayer的windows發(fā)行版默認(rèn)都只是針對MMX和MMX2指令集進(jìn)行的編譯(如圖),而它的源
代碼還支持SSE,SSE2,3DNOW!和3dnow-dsp!指令集,如果你有一顆比較新的CPU,通過編譯源代碼加入對以上幾個指令集的支持,以達(dá)
到更好的效果和更低的資源占用,是一件比較爽的事情。
2、自己編譯的MPlayer可以自定義一些性能選項。比如說,默認(rèn)的MPlayer并不支持2GB以上的單個文件,這就是為什么有人使用MPlayer播放HDTV影片其效果相當(dāng)糟糕的原因。 你可以通過自己編譯加上對它的支持。
3、MPlayer每天都會根據(jù)前一天的工作發(fā)布一個CVS的完整源代碼包,只要你喜歡,每天你都可以編譯一個最新的版本——你可以品嘗到MPlayer最新的性能——當(dāng)然,也可能包括最新的bug
4、通過編譯安裝,除了打造完全適合自己機(jī)器的軟件外,還能多學(xué)一點電腦知識。
5、好玩。
如果以上五個理由沒有打動你,那你就不要編譯安裝了,老老實實的下載上面提到的KK版,也是相當(dāng)好用的。
二、安裝前的準(zhǔn)備工作
1、別看我們說是在windows下編譯安裝MPlayer,但是win自身并不提供相關(guān)工具。我們還需要安裝兩個軟件,去
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程序安裝沒什么區(qū)別,一路next就可以搞定;然后雙擊安裝MSYS-
1.0.10.exe,這個在安裝結(jié)束的時候會彈出對話框:"Do you wish to continue with the post
install? [yn ]"選y后,又會彈出一個"Do you have MinGW installed? [yn ]"
也是選y,然后讓你給出MinGW的安裝路徑,如果是默認(rèn)的話應(yīng)當(dāng)填C:/mingw(注意用“/”而不是“\”)安裝結(jié)束后會在桌面生成一個MSYS的
圖標(biāo),雙擊即可執(zhí)行。
MinGW
和MSYS究竟是干什么用的?呵呵,我一直都把它們理解為Linux部分工具軟件和庫+shell命令行的Windows移植版。為了寫這篇文章專門搜了
一下,原來MinGW是指只用自由軟件來生成純粹的Win32可執(zhí)行文件的編譯環(huán)境,它是Minimalist GNU on
Windows的略稱。——反正就你能看見的部分來說,它就是一個類Unix/Linux的命令行式的軟件編譯環(huán)境。
2、下載dx7的頭文件(
http://www.mplayerhq.hu/MPlayer/releases/w.../dx7headers.tgz)
解壓后把里面的全部文件復(fù)制到(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目錄,也可以按需要指定其他目錄(下同)?;剀嚕缓筝斎耄?br />
./configure --prefix=/mingw --disable-shared
注:配置代碼命令,其中--prefix=c:/mingw為指定目錄命令, --disable-shared為取消共享?;剀?,等待執(zhí)行完畢后,輸入:
make
注:編譯命令?;剀嚕却龍?zhí)行完畢后,輸入:
make install
注:編譯安裝命令。
等待執(zhí)行完畢后,如果一切順利,沒有報錯。那么到此就算完成了一個軟件的安裝。與下面的各個步驟大同小異,下面我就寫的簡單一些了。
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
原文有錯,應(yīng)該要./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版從我的機(jī)子上跑的情況來看,似乎對原來版本的兼容性有點問題,大家還是用舊的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 文件夾內(nèi)的所有文件復(fù)制到C:\mingw\bin文件夾內(nèi)。
原文錯誤,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
下載附件中的文件(已分卷),將其解壓到某個路徑備用。
至此,依賴軟件和庫文件的配置安裝結(jié)束。
四、編譯安裝MPlayer
1、下載源代碼包
首先去
http://www.mplayerhq.hu/homepage/design7/dload.html 下載MPlayer的源代碼包,依據(jù)你的個人喜好,你可以下載正式發(fā)行的源碼版本,比如MPlayer v1.0pre6a source,也可以下載每天更新的CVS版本。
然后去
http://www4.mplayerhq.hu/homepage/design7/codecs.html 下載那個名叫Windows all的解碼器包。
2、兩個包全部解壓
3、用cd命令進(jìn)入MPlayer源碼的目錄
4、./configure --help
注:執(zhí)行這一步可以得到該軟件支持的./configure的附加條件,可以根據(jù)自己的機(jī)器情況選用。
其
中有些條件是默認(rèn)支持的,比如說,sse2,3dnow!等指令集的自動檢測/支持,real及win32媒體文件的支持,流媒體的支持等等,你可以在附
加條件中忽略它們。(有的時候,某些條件未必能夠監(jiān)測得出來。你可以注意一下下一步的 ./configure
后的執(zhí)行輸出,里面包含了所有的條件執(zhí)行信息,如果有沒有認(rèn)出的,你可以手動指定。)
5、下面就是./configure步驟了,這是我的配置,你可以根據(jù)自己的情況更改
./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愛好者來說是至關(guān)重要的。
--enable-directx 和 --enable-dshow 這兩項實際上是“自動監(jiān)測”的,但是有一次在我的機(jī)器上沒有認(rèn)出來,還是寫一下吧。

--enable-static 是必須的,請注意一下。
--disable-mencoder mencoder這東東我用不到,disable了。
注意:如果你想將編譯好的MPlayer.exe能夠運(yùn)行在不同的機(jī)器上,可以加上 --enable-runtime-cpudetection 選項;如果只是用在自己的機(jī)器和系統(tǒng)上,那就不要加這個。
請注意一下 ./configure 以后的輸出結(jié)果,在其中可能就能找到下次需要改進(jìn)的地方。
原文太多羅唆,精簡如下:
./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加入系統(tǒng)path.我是
沒有興趣的,所以我用了mpui.直接拷到/d/mplayer就好了.這個mplayer占用內(nèi)存是少.我的播放DVD用了12M.加上MPUI一共
17M.WMP可是占了30多M呢.微軟的東東從來都是吃內(nèi)存的大戶
五、MPlayer的使用
1、命令行方式
上述我們編譯好的Mplayer.exe是一個命令行的應(yīng)用程序——事實上官方的windows realse也是命令行版本的。這個在Windows的命令提示符里面可以運(yùn)行,好在Windows的命令提示符支持拖動,我們也就不用費力的一個字符一個字符的輸入了。
如圖,是Mplayer播放文件的正確命令,注意mplayer.exe和媒體文件路徑之間有空格鍵。具體使用及控制鍵請參閱上面提到的官方文檔。
2、圖形界面方式。
世界各地的軟件編寫者們?yōu)镸Player編寫了大量的GUI,其中windows平臺的也為數(shù)不少。你可以在這里查到它們的列表:
http://www.mplayerhq.hu/homepage/design7/projects.html
其中,比較優(yōu)秀的有:
(1)WinMPLauncher (
http://chameleon.gazellevillage.com/~twerp...MPLauncher.html)
我
一直用這個,使用簡單,功能強(qiáng)勁,而且資源占用幾乎可以忽略不計。缺點是沒有進(jìn)度條和播控按鈕。如圖。使用方法:解壓后雙擊
WinMPLauncher.exe,選擇我們的MPlayer.exe所在路徑,確定后即可使用它作為前端來調(diào)用MPlayer.exe播放文件了。
(2)mplgui
(
http://www.mplayerhq.hu/homepage/design7/projects.html)
這個圖形界面的優(yōu)點是功能全, 它支持皮膚、拖動、進(jìn)度條、一些基本圖形控制按鈕,列表播放等。但是我只找到了一種方法打開文件——拖動,而且沒有打開URL的控制項。使用方法和上面的那個大同小異。不再贅述。
(3)MPlayerWIN(
http://www.chronix.org/projects/mplayerwin/)
有不少性能選項,也還可以。
(4)MPlayer interface(
http://home.freeuk.com/tom.nealon/mplayer.html)
總體上介紹的第1、3、4基本上是同類的——單純的GUI,但是綜合性能上來講還是第一個比較強(qiáng)。
(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