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 閱讀(4230) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 青河县| 慈溪市| 绥德县| 苍梧县| 双牌县| 屯门区| 东城区| 浠水县| 宁南县| 山阳县| 包头市| 原平市| 上栗县| 朝阳县| 垣曲县| 新民市| 永济市| 札达县| 揭东县| 安远县| 无锡市| 新巴尔虎左旗| 临武县| 招远市| 沙田区| 思南县| 洮南市| 色达县| 无极县| 宾川县| 静安区| 黄梅县| 景东| 海安县| 丹巴县| 固安县| 怀来县| 抚远县| 灵丘县| 乳源| 唐山市|