歡迎您光臨本站 註冊首頁

自己動手,親自編譯最完美的 MPlayer

←手機掃碼閱讀     火星人 @ 2014-03-23 , reply:0


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