Strategy 論文系統 V1.0 Start process MPlayer 是 linux 中強大的萬能播放器,但是 MPlayer 官方只製作了 FC 系列的 rpm 包 ,而且 FC 每出一個新版本,官方就會少出一個舊版本的 rpm 包。 但是,可能你使用的 OS 不是 FC 系列,甚至,你還可能使用著 windows, 那麼?如何才能給你的電腦裝上 MPlayer 這一強大的多媒體播放器呢? 下面,筆者就為大家詳細講述最全面的關於 MPlayer 編譯的技術。 PART 1 創建編譯環境 { 你得有一個類 unix 的環境: 至少一個 gcc,一個 shell (推薦bash或ash),一個 make,一套 binutils —— 這是最基本的條件; 另外最好還有一系列自動化工具,比如 automake, autoconf,libtool 等等;以及一系列的 shell 程序,比如 cp 啦等等。為了能解壓縮,你得有一個能解壓縮原代碼包的工具,比如 winrar,7zip 或者命令行上的 gzip 等。 其他軟體:GTK+,GIMP,lame 等。
如果你使用 Linux,並且在安裝時選擇了包含上述內容的軟體包,就 ok 了。要想檢測是否有上述內容,請用 rpm ,瀏覽文件系統或「查找」的方法確認是否裝有上述內容。如果沒有,可以使用各種方法安裝。請繼續閱讀 PART 2。 如果你使用 其他 UNIX,那麼你需要按照你的系統的方式安裝好上述軟體包,並閱讀 PART 2。 如果你使用 Windows, 那麼你需要安裝一個 Cygwin 或者 MinGW: <1.>如果你下載並選擇安裝 cygwin,那麼你需要下載其 setup.exe,並進行漫長的等待,以便 setup.exe能從網路下載並安裝好整個開發環境,cygwin 能提供一個 shell 環境,完整的 linux 基本庫,Qt/Gtk庫,以及許多命令行下的軟體,它雖然效率不高,編譯出來的程序運行起來也比較慢,但是它的環境比較完整,更像 linux。一旦安裝好,你需要確認哪些需要的東西已經安裝,以便在後面的步驟中省略其安裝過程。 <2.>如果你選擇下載並安裝 MinGW,那麼至少下面這些軟體包據信是必須的 :mingw-runtime, w32api,binutils , gcc, MSYS, msysDTK。另外筆者認為 mingw32-make 軟體包對於編譯過程也必不可少。安裝過程如下:MSYS -> mingw-runtime -> w32api -> gcc -> mingw32-make -> binutils -> MSYS -> msysDTK。MSYS 共進行兩次安裝,第一次安裝問要否配置的時候,鍵入 n。然後接下來的東西通通都是解壓縮后把裡面的 bin 啊 include 啊 那些東東拷貝到 MSYS 安裝目錄下的 mingw 目錄里。第二次安裝MSYS的時候一定要選是,並輸入 mingw 目錄的位置,msysDTK 一定要與 MSYS 安裝目錄相同。 }; PART 2 安裝gtk和qt庫(qt庫是非必須的) { 如果你使用 Linux,這個非常好解決。安裝系統的時候通通選上。這兩個大東西筆者也不會編譯安裝,相信你在安裝系統的時候已經安裝了桌面。如果安裝了gnome,那麼一定會有gtk庫;如果安裝了kde,那麼一定有qt庫。並且安裝時一定要記得選擇 gtk-devel 系列軟體包,以及 qt-devel 系列軟體包。 如果你使用 Windows,也不是那麼難解決的,你可以到奇趣科技網站下載開放源代碼版的 qt 開發庫安裝程序(一個超過50兆的巨大安裝程序文件)。gtk 確實有些困難,因為截止發稿為止,官方也沒有出版 Windows 版的,不過筆者從非官方渠道弄到一個 gtk 開發庫安裝程序,還是最新版的呢! Windows 版的 QT 庫的安裝說明請看 PART 5。 }; PART 3 安裝各種支持功能 { 如果你讀完本節覺得你的系統中已裝有下述各功能,便不必安裝 若沒有請往下讀: 1e,下載 DirectX 7 的頭文件: http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/dx7headers.tgz 然後拷貝到 include 目錄里去 在 Linux 里嘛。。。是被 path 的 include 在 Windows 里嘛,應該是 mingw/include 當然,你也可以使用 wine 的頭文件 :) 接下來我們講怎麼從源代碼安裝各種支持功能, 你得先把這些軟體源代碼包找到並下載回來... 喜歡 rpm, apt 或 ports 的請飄過... 2e,安裝ogg(egg是雞蛋,估計ogg是鵝蛋:)),vorbis 和 theora 這三個軟體都可以從 xiph.org 找到 先安裝鵝蛋: 解壓縮 libogg-X.X.X.tar.gz cd libogg-X.X.X ./configure --prefix=c:/mingw --disable-shared make make install 然後安裝 vorbis 解壓縮 libvorbis-X.X.X.tar.gz cd libvorbis-X.X.X ./configure --prefix=c:/mingw --disable-shared make make install 解下來安裝 theora 解壓縮 libtheora-X.X.X.tar.gz cd libtheora-X.X.X ./configure --disable-encode --prefix=C:/mingw --disable-shared make make install 3e,安裝 freetype 解壓縮 libiconv-X.X.X.tar.gz cd libiconv-X.X.X ./configure --prefix=c:/mingw --disable-shared make make install 解壓縮 freetype-X.X.X.tar.bz2 cd freetype-X.X.X ./configure --prefix=c:/mingw --disable-shared make make install 4e,安裝 zlib, libregif, libpng, libjpeg 先安裝 zib 解壓縮 zlib-X.X.X.tar.gz cd zlib-X.X.X ./configure --prefix=c:/mingw make make install 再安裝 libpng 解壓縮 libpng-X.X.X-config.tar.gz cd libpng-X.X.X-config ./configure --prefix=c:/mingw --disable-shared make 再安裝 libjpeg 解壓縮 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/ make install 最後,安裝 libregif 解壓縮 libregif-X.X.X.tar.gz cd libregif-X.X.X ./configure --prefix=c:/mingw make make install 5e, 安裝 lame, xvid 及 x264 首先得安裝一個彙編語言(如果你系統上已經安裝,那就絕對不要重複安裝) 下載地址http://sourceforge.net/project/showfiles.php?group_id=6208 解壓縮 nasm-X.X.X.tar.gz cd nasm-X.X.X ./configure --prefix=c:/mingw make mkdir c:/mingw/man/man1 make install 然後安裝 lame 解壓縮 lame-X.X.X.tar.gz cd lame-X.X.X ./configure --prefix=c:/mingw --disable-shared --disable-decoder make make install 可惡的 lame 弄了半天都弄不好 5555 其實不裝也可以的 win32codecs 裡帶 mp3 解碼的... 再安裝 xvid 解壓縮 xvidcore-X.X.X.tar.gz cd xvidcore-X.X.X/build/generic ./configure --prefix=c:/mingw --disable-shared make make install mv c:/mingw/lib/xvidcore.a c:/mingw/lib/libxvidcore.a x264 得從 svn 下載,俺也不會...不過如果你下載下來了可以: cd x264 ./configure --prefix=/mingw --enable-avis-input --enable-pthread make make install 6e,安裝 live 軟體包 網上的文章通通都是廢物... 按天下文章一大抄的那篇文章根本找不到 live 庫了 悄悄告訴你這個庫可以從下列地址下載到: http://live555.com/liveMedia/public/live555-latest.tar.gz http://live555.com/liveMedia/public/live.2007.05.24.tar.gz 一個叫live555,一個叫live2007 安裝方法: ./genMakefiles find . -name 'Makefile' -exec fix-makefile {} \; gmake 或 make 然後把 live 目錄拷貝到任何地方(譬如 /usr/lib/live 或 /usr/lib) windows上的有官方的編譯方法: 比較複雜,就不再講述了。 7e,安裝 libdvdcss 庫包 請注意,使用該庫包在某些國家或地區是違反著作權法的 :( 安裝方法不再詳述 要看「全區 DVD」,請自己編譯安裝該庫包, Linux 用戶比較爽,可以有 rpm 包直接裝... }; PART 4 編譯 MPlayer { 終於可以開始編譯 MPlayer 了,好激動... 你需要先下載一個 MPlayer 的源代碼包,官方最新版本的就行 當然你想當小白鼠試驗試驗cvs版、svn版的也行哦... 首先,應該下載一些解碼包到 win32 (win32codecs)或 codecs (linux all)目錄里, 呃 ... 官方那麼多庫包,下載哪個捏? 根據你的用途選擇吧! 反正筆者一直用自己組合的解碼庫包。 [如果你決定使用下面方括弧里的 configure 命令行,請在 MPlayer 目錄下新建一個 release 目錄,並在其下面新建一個 codecs 目錄,將解碼包放到這個 codecs 目錄里] 再解壓縮這個源代碼包, 然後cd進去 敲下面的命令 ./configure --enable-runtime-cpudetection --enable-static --enable-win32 --enable-real --enable-directx --enable-dshow --enable-largefiles --enable-gui --enable-freetype --enable-qtx-codecs --enable-qtx --enable-menu --enable-live --enable-vorbis --enable-xvid --language=zh_CN 方括弧:[p.s 如果你不介意的話(或者你在 Windows 上編譯的話)不妨使用下面的 configure 命令行,使用該命令行會在 當前目錄下的 /release 目錄里生成你想要的東西: ./configure --prefix=./release --enable-runtime-cpudetection --enable-static --enable-win32 --enable-real --enable-directx --enable-dshow --with-codecsdir=./release/codecs --with-win32libdir=./release/codecs --with-reallibdir=./release/codecs --with-livelibdir=./release/codecs --enable-largefiles --enable-gui --enable-freetype --enable-qtx-codecs --enable-qtx --enable-menu --enable-live --enable-vorbis --enable-xvid --language=zh_CN] make 這個時候,如果你運氣足夠好的話...MPlayer 就已經編譯好了,在該生成二進位軟體的地方應該已經生成了二進位文件。 如果你在 Linux 上安裝,或者你的 Cygwin 或 MinGW 需要長期使用,那麼你不妨來個 make install,安裝該軟體。[如果使用方括弧里的 configure 命令行,就會安裝到當前目錄下的 release 子目錄里,所以推薦 Windows 用戶使用方括弧里的命令行] 如果你不是上述情況,你需要自己提取編譯生成物,製作壓縮包。或者使用配置時生成的文件來製作 rpm 軟體包。或者使用方括弧里的命令行,並把所有文件集中到一齊,製作壓縮包或手工打制 rpm 軟體包。 }; PART 5 編譯前端 { 如果你覺得 MPlayer 自己的 GUI 不夠美觀或不夠好用。 如果你是在 Windows 下編譯(極有可能由於某些原因無法編譯出 GUI) 這時候,你需要編譯一個前端。 這裡介紹一個很優秀的前端 —— smplayer (下簡稱:smp),這個軟體每天會更新一個版本,功能十分強大,是筆者見過的最強大的 MPlayer 前端。 哈哈...前面安裝 QT 庫就是為了編譯它 :) 現分為兩個部分介紹如何編譯: LINUX systèm: QT3:smp 是在 QT3 環境下開發的,自然兼容性相當好,編譯極為容易: 首先你得確保已經裝了 QT3 開發庫,其名為 qt3-devel 或 libqt3-dev 解壓縮下載的 smp 源代碼壓縮包並改名為 smp 然後依次執行下列各條指令,不要打括弧及其中的中文: cd smp make (如果這一步出錯了,那一定是 QTDIR 變數沒有設定為它應該指向的位置) make install (這一步將把 smp 安裝到 /usr/local) LINUX systèm QT4:首先你得確保已經裝了 QT4 開發庫,其名為 qt4-devel 或 libqt4-dev 有些 Linux 發行版有單獨的 QT3 支持軟體包,你最好把他們也裝上。 執行下列命令,不包括括弧及其中的中文: make prep make (如果這一步出錯了,那一定是 QT3 里的 qmake 被 QT4 里的 qmake 代替,請使用 make QMAKE=qmake-qt4 或 make QMAKE=/usr/share/qt4/bin/qmake 這一步里的 make) make install (這一步將把 smp 安裝到 /usr/local) QT3 和 QT4 的區別:使用 QT4 ,可以顯示系統拖盤圖標。 而在 QT3 下,除非你使用 kde 支持來編譯,否則不能顯示系統拖盤圖標。(如果你使用 QT3 和 kde, 請使用 make KDE_SUPPORT=1 代替 make 來編譯。) (注意:第一次啟動時由於要搜索字體會較慢,打開后,進入首選項的對話框,把 mplayer 執行文件地址指向 mplayer 二進位可執行文件) WINDOWS systèm 在安裝 QT 時,會問你關於 MinGW 的問題,選擇已經安裝 MinGW 並導航到安裝目錄。 依次打開 開始 -> 應用程序 -> Qt by Trolltech v4.2.3 (Opensource) and select Qt 4.2.3 Command Prompt. 在打開的命令提示符里,執行 cd c:\smp\src\ conv2qt4.bat 等提示符再次出現時,執行 make 完成後smp源代碼目錄的 release 子目錄里會出現名曰 smplayer.exe 的文件,然後通過運行找出缺的庫文件,並將這些庫文件分別從 mingw 和 qt/bin 目錄里拷貝到 release 目錄里。 然後把 release 目錄里的所有文件拷貝到 mplayer 目錄( mplayer.exe 所在目錄)里,一個完美的 mplayer 就製作出來啦 (注意:第一次啟動時由於要搜索字體會較慢,打開后,進入首選項的對話框,把 mplayer 執行文件地址改為 ./mplayer.exe) }; END 測試環境: Fedora Core 7 (僅部分測試) Microsoft Windows 2000 SP2 (僅部分測試) 按照本文章做,你應該知道自己在做什麼 使用本文造成的一切後果讀者自負,作者皆不承擔任何責任及連帶責任.
[火星人
]
自己動手,親自編譯最完美的 MPlayer 已經有274 次圍觀
本文地址: http://coctec.com/docs/linux/show-post-124298.html