Linux下編譯安裝ffmpeg(修改-簡單複雜最終版本-)

Linux下編譯安裝ffmpeg(修改-簡單複雜最終版本)


目前自己使用的ubuntu下ffmpeg編譯安裝的最終版本(14.04/16.04環境下都可以)

  1. 安裝前置依賴
sudo apt-get install autoconf automake build-essential libass-dev libfreetype6-dev  libtheora-dev libtool libvorbis-dev pkg-config texinfo zlib1g-dev unzip cmake yasm libx264-dev libmp3lame-dev libopus-dev libsdl1.2-dev libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev libfaac* libopenjpeg * libv4l-dev libvpx-dev libssl-dev

這裏的libfaac* libopenjpeg*以我的理解是可以改爲libfaac-dev libopenjpeg-dev的,但我還沒有去試驗,下次遇到的話在試驗一下。

2.正常的從官網下載ffmpeg源碼,這是官網下載地址:(https://ffmpeg.org/download.html)
3. 解壓進入目錄文件
4. 配置Makefile編譯選項

./configure --prefix=/usr/local/ffmpeg/ --enable-shared --enable-gray --enable-version3 --enable-nonfree --enable-gpl --enable-avresample --enable-libfaac --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-openssl --enable-x11grab –enable-zlib

5.編譯安裝

make
sudo make install

6.爲了後續麻煩這裏配置一下共享目錄問題(在編譯c文件後執行出現的問題,發現是共享目錄問題,現在不記得具體錯誤描述了,就直接寫了),輸入下面命令:
sudo vim /etc/ld.so.conf
在最後添加一行即可。
/usr/local/ffmpeg/lib
保存退出後執行
sudo ldconfig
7.到這裏基本上就結束了,爲了方面可以在/etc/profile文件中將ffmpeg命令添加進PATH中(我這是對所有用戶可用,具體可以另行喜好設置)
sudo vim /etc/profile
找到export行,在下面一行添加
export PATH=/usr/local/ffmpeg/bin/:$PATH
保存後執行
source /etc/profile
現在就可以在當前bash終端中正常使用ffmpegle了。
重啓後就可以正常使用了,建議重啓。


具體安裝的環境:Ubuntu14.04下安裝ffmpeg-3.1.3

  1. 第一遍是使用的網上教程,沒有安裝yasm,安裝到最後也沒有成功,或者是我當時理解不夠。重新安裝時是先安裝了yasm;
sudo apt-get install yasm

2.正常的從官網下載ffmpeg源碼,這是官網下載地址:(https://ffmpeg.org/download.html)
3. 解壓進入目錄文件
4. 配置Makefile編譯選項

./configure --enable-shared --prefix=/usr/local/ffmpeg

5.編譯安裝

make
sudo make install

6.爲了後續麻煩這裏配置一下共享目錄問題(在編譯c文件後執行出現的問題,發現是共享目錄問題,現在不記得具體錯誤描述了,就直接寫了),輸入下面命令:
sudo vim /etc/ld.so.conf
在最後添加一行即可。
/usr/local/ffmpeg/lib
保存退出後執行
sudo ldconfig
7.到這裏基本上就結束了,爲了方面可以在/etc/profile文件中將ffmpeg命令添加進PATH中(我這是對所有用戶可用,具體可以另行喜好設置)
sudo vim /etc/profile
找到export行,在下面一行添加
export PATH=/usr/local/ffmpeg/bin/:$PATH
保存後執行
source /etc/profile
現在就可以在當前bash終端中正常使用ffmpegle了。
重啓後就可以正常使用了,建議重啓。


上面是我之前編譯安裝的比較簡單的一個方法,但最近由於項目需要,需要通過ffmpeg錄製音頻,之前安裝的版本就無能爲力了,所以重新安裝了一下,做個記錄,應該算是最全的安裝了。

首先說一下卸載的問題,因爲是編譯安裝的,所以沒有用命令去remove,而是直接將/usr/local/ffmpeg直接刪除的。

首先安裝以下軟件包:

sudo apt-get install autoconf automake build-essential libass-dev libfreetype6-dev  libtheora-dev libtool libvorbis-dev pkg-config texinfo zlib1g-dev unzip cmake yasm libx264-dev libmp3lame-dev libopus-dev libsdl1.2-dev libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev

接下來需要下載並編譯的是x265,fdk-aac,vpx和ffmpeg本身。

爲了和之前版本一致,所以也是安裝在/usr/local/ffmpeg,首先添加兩個目錄:

cd /usr/local
sudo mkdir ffmpeg
sudo mkdir ffmpeg_source

然後,把源碼包下載到/opt/ffmpeg_sources/目錄下。

因爲不採用snapshot版本,所以我們可以直接下載某個穩定版源碼。下載地址如下:

x265: https://bitbucket.org/multicoreware/x265/downloads/x265_1.9.tar.gz

fdk-aac: https://github.com/mstorsjo/fdk-aac/archive/v0.1.4.zip

vpx: http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-1.5.0.tar.bz2

ffmpeg: http://ffmpeg.org/releases/ffmpeg-3.1.3.tar.bz2

編譯x265

依次執行以下命令:

cd /usr/local/ffmpeg_sources
tar -zxvf x265_1.9.tar.gz
cd x265_1.9/build/linux
PATH="/usr/local/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="/usr/local/ffmpeg" -DENABLE_SHARED:bool=off ../../source
make
sudo make install
make distclean

編譯fdk-aac

依次執行以下命令:

cd /usr/local/ffmpeg_sources
unzip fdk-aac-0.1.4.zip
cd fdk-aac-0.1.4
autoreconf -fiv
./configure --prefix="/usr/local/ffmpeg" --disable-shared
make
sudo make install
make distclean

編譯vp8/vp9

依次執行以下命令:

cd /usr/local/ffmpeg_sources
tar -xjvf libvpx-1.5.0.tar.bz2
cd libvpx-1.5.0
PATH="/usr/local/bin:$PATH" ./configure --prefix="/usr/local/ffmpeg" --disable-examples --disable-unit-tests
PATH="/usr/local/bin:$PATH" make
sudo make install
make clean

編譯ffmpeg

最後一步就是編譯FFmpeg了:
進入目錄,解壓源碼。
配置Makefile文件

PATH="/usr/local/bin:$PATH" PKG_CONFIG_PATH="/usr/local/ffmpeg/lib/pkgconfig"  ./configure \
  --prefix="/usr/local/ffmpeg" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I/usr/local/ffmpeg/include" \
  --extra-ldflags="-L/usr/local/ffmpeg/lib" \
  --bindir="/usr/local/bin" \
  --enable-gpl \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libtheora \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree
PATH="/usr/local/bin:$PATH" make
sudo make install
make distclean
hash -r

和上面一樣,在配置以下環境

6.爲了後續麻煩這裏配置一下共享目錄問題(在編譯c文件後執行出現的問題,發現是共享目錄問題,現在不記得具體錯誤描述了,就直接寫了),輸入下面命令:
sudo vim /etc/ld.so.conf
在最後添加一行即可。
/usr/local/ffmpeg/lib
保存退出後執行
sudo ldconfig
7.到這裏基本上就結束了,爲了方面可以在/etc/profile文件中將ffmpeg命令添加進PATH中(我這是對所有用戶可用,具體可以另行喜好設置)
sudo vim /etc/profile
找到export行,在下面一行添加
export PATH=/usr/local/ffmpeg/bin/:$PATH
保存後執行
source /etc/profile
現在就可以在當前bash終端中正常使用ffmpegle了。
重啓後就可以正常使用了,建議重啓。


附一個參考鏈接:

www.liaoxuefeng.com/article/001456198314370db046cbe5e5a45388bf3ade4bc2c5cb0000

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章