VLC-3.0(3.x) 版本 Linux 環境編譯教程

VLC-3.0(3.x) 版本 Linux 環境編譯教程

盼星星盼月亮,vlc 3.x 版本年初正式發佈了。(Nightly 版本也從 3.x 更新至 4.x)linux

和以往版本同樣,按照 wiki 的教程直接編譯是不可能編譯成功的 :)git

總感受官方教程就特麼是在逗孫子,落後了不知多少個版本github

廢話很少說了,記錄一下編譯過程,筆者的環境是 Ubuntu 16.04 64位。bootstrap

工具安裝

git、automake、libtool等,相信你們都有,沒有的按照以下命令行自行安裝。ubuntu

sudo apt-get update
sudo apt-get install git build-essential pkg-config libtool automake autopoint gettext

注意,安裝完之後檢查一下 gettext 版本。
vlc-3.0 要求 gettext>=0.19.8,可是 ubuntu 官方源只更新到了 0.19.7bash

gettext --version

若是正常會顯示:app

gettext (GNU gettext-runtime) 0.19.8

若是版本小於規定版本,則須要單獨安裝 gettext,以下ide

wget ftp://ftp.gnu.org/gnu/gettext/gettext-0.19.8.tar.xz
tar -Jxvf gettext-0.19.8.tar.xz
cd gettext-0.19.8/
./configure --prefix=/usr
sudo make && sudo make install

安裝完成後再確認一下 gettext,若是仍爲舊版,則按照本機環境修改 "prefix=path" 指定的路徑從新編譯安裝,直到版本正確。工具

下載源代碼

能夠從 官網git 下載,也能夠下載 github 上的鏡像。flex

此處以 GitHub 爲例

git clone https://github.com/videolan/vlc-3.0
cd vlc-3.0/

這裏最好選擇一個打了 tag 版本,即官方發佈版,暗坑相對其餘版本會相對少一些。
筆者編譯時最新的版本是 3.0.1

git tag
git branch -b 3.0.1 3.0.1

按照 Wiki 教程,此處應該執行 ./bootstrap。但實際是新版是不能經過的,須要先安裝 flex 和 bison

sudo apt-get install flex bison

而後運行:

sudo ./bootstrap

命令行顯示:

Successfully bootstrapped

便可繼續開始下一步工做。

安裝第三方依賴庫

1. build-dep 和 vlc

構建依賴包,200多M

sudo apt-get build-dep vlc

2. 舊版 vlc 亂七八糟的依賴包

鬼知道不安能不能過,但安裝了穩過,反正我安了

相比 Wiki_VLC_Contrib Status 有一些刪減和替代(一些失效的庫)。

sudo apt-get install libvorbis-dev libogg-dev libtheora-dev speex libspeex-dev flac libflac-dev x264 libx264-dev a52-0.7.4 liba52-0.7.4-dev mpeg2dec libmpeg2-4-dev faad libfaad-dev faac libfaac-dev lame libmp3lame-dev libavdevice-dev libmad0 libmad0-dev libschroedinger-dev libebml-dev libdca-dev twolame libtwolame-dev libmpcdec-dev libvorbisidec1 libvorbisidec-dev libass-dev libmatroska-dev  libdvbpsi-dev libmodplug1 libmodplug-dev libshout3 libshout3-dev  libdvdread4 libdvdnav4 libdvdnav-dev livemedia-utils liblivemedia-dev libcddb2 libcddb2-dev libcdio13 libcdio-dev libxcb-composite0-dev libcdio-utils vcdimager libvcdinfo0 libvcdinfo-dev libgpg-error0 libgpg-error-dev libgcrypt11-dev gnutls-bin libgnutls-dev libdap-bin libdap-dev libxml2 libxml2-dev libpng12-0 libpng12-dev libjpeg8 libtiff5 libsdl1.2-dev libsdl-image1.2 libsdl-image1.2-dev libc-bin gettext libfreetype6 libfreetype6-dev libfribidi-dev libfribidi0 zlib1g zlib1g-dev libtag1-dev libcaca0 libcaca-dev caca-utils libqt4-dev libportaudio2 libupnp-dev libupnp6 libexpat1 libexpat1-dev yasm libxcb-xv0 libxcb-xv0-dev libx11-xcb1 libx11-xcb-dev liblua5.2-dev libswscale-dev

3. FFMpeg

VLC 要求 libavcodec>=57
官方給的 PPA 上,libavcodec版本是56,版本太低須要源碼安裝。

安裝yasm

sudo apt-get install yasm

從官網 clone 最新的 git 倉庫

git clone https://git.ffmpeg.org/ffmpeg.git
cd ./ffmpeg

指定install目錄爲"./host",指定編譯爲動態庫,開始編譯。

./configure --prefix=host --enable-shared --disable-doc
make && make install

把生成的動態庫文件拷貝到"/usr/bin/"目錄下

cd ./host/lib
sudo cp ./* /usr/bin/

安裝完成,能夠切到host/bin目錄下執行一下"./ffmpeg"確認庫版本。

編譯配置

先安裝 wayland-protocols,否則以後的步驟會失敗。

sudo apt-get install wayland-protocols

./configure,經過 prefix 指定編譯輸出目錄

./configure --prefix=/path/to/vlc_build_dir --enable-run-as-root
sudo make && sudo make install

大功告成,編譯完成以後能夠去剛在指定的編譯輸出目錄 ./bin/vlc 運行 vlc 了。

Windows 編譯先不搞了,涉及到交叉編譯,坑只會更多不會少,等別人踩過一遍再搞。

相關文章
相關標籤/搜索