下面紀錄 VLC 的編譯過程,
一、程式碼的部份可以使用 Git 下載
git clone git:\\git.videolan.org\vlc.git
二、Ubuntu環境編譯 (Linux 3.2.0-24-generic-pae #37-Ubuntu SMP)
安裝指引(INSTALL)寫得很簡單,執行 ./bootstrap, ./configure, make ,make install 就可以完成了。
實際安裝結果卻發現缺少許多函數庫,此錯誤的經驗摘錄如後:
- 執行 ./bootstrap 會出現 libtoolize 錯誤,此時若直接執行 ./configure,當然會出現錯誤。
configure.ac:419: error: m4_undefine: undefined macro:
AC_DEPLIBS_CHECK_METHOD
configure.ac:419: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: /usr/local/bin/autom4te failed with exit status: 1- 此錯誤是因為缺少 libtool, 解法為 "sudo apt-get install libtool ",接著重新執行 ./bootstrap 便可以正確的產生 configure 檔案。
- 執行./configure ,此時又發生新的錯誤 configure: error: No package 'dbus-1' found, 此問題可以透過安裝 libdbus-1-dev解決。"sudo apt-get install libdbus-1-dev"。
- 但接著又會出現缺少某個函數庫的錯誤,看來這方法是有問題的,應該得換個方法才是。
正確的安裝方式應該是執行 "apt-get build-dep vlc",將相關的函數庫一次全部安裝。
安裝完成之後,後續步驟就跟INSTALL說明的一樣簡單囉
- ./bootstrap
- ./configure
- make (此時程式已經編譯完成,可以直接執行,位置是 vlc/bin/vlc)
- sudo make install
二、Windows 環境編譯 (https://wiki.videolan.org/Win32Compile/)
VideoLAN官方網站建議的方式是在 Linux 環境安裝 MinGW,利用cross compile的方式編譯 Windows 版本的執行檔,再將此執行檔複製到 Windows 系統下執行。
為了簡單起見,當然是直接使用官方的作法囉,步驟整理如下:
1. 首先安裝 Virtual Box,並在Virtual Box安裝Ubuntu,接著下載 minnow (注意:若要編譯最新版的 VLC, Ubuntu 版本需要大於 14.04 才行)
- apt-get install gcc-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64-tools
2.下載程式碼
$ git clone git://git.videolan.org/vlc.git
3. 接著需要安裝下列 package,此部分可透過 "apt-get build-dep vlc" 完成。如果安裝過程有錯誤的話,可能是版本過舊。執行 "sudo apt-get update" 之後在安裝 build-dep 即可
- lua5.1
- all autotools: libtool, automake, autoconf, autopoint, make, gettext
- pkg-config
- git
- subversion
- cmake, cvs if you want to rebuild contribs
- zip [for creating .zip package], p7zip [for .7z package], nsis [for .exe auto-installer].
4. 安裝第三方的library
- $ mkdir -p contrib/win32
- $ cd contrib/win32
- $ ../bootstrap --host=i686-w64-mingw32 --build=x86_64-pc-linux-gnu
- $ make prebuilt
5. 前置作業完成之後,回到VLC的根目錄,執行
- ./bootstrap
- mkdir win32 && cd win32
- ../extras/package/win32/configure.sh --host=i686-w64-mingw32 --build=x86_64-pc-linux-gnu
- make
- make package-win-common
若是編譯最新版本時,出現錯誤,建議參考官方說明文件。
掌握編譯VLC的方法,往後若測試串流媒體時發現不順暢的情況,就可以更改程式,加上log來幫助查找原因囉。
參考資料:
http://wiki.videolan.org/Developers_Corner