ffmpeg on CentOS
はじめに
公式のインストールガイドを参考に、余計なオプション入れてないffmpegをビルドしよう(x264とfdk_aac)
Git
yumのパッケージが古いので自分でビルドする
git 依存関係の解決
sudo yum install curl-devel expat-devel gcc gettext-devel make openssl-devel zlib-devel perl-ExtUtils-MakeMaker
Gitのダウンロード
wget https://www.kernel.org/pub/software/scm/git/git-x.x.x.tar.gz
展開してビルド、インストール
tar -zxf git-x.x.x.tar.gz
cd git-x.x.x
make prefix=/usr/local all
sudo make prefix=/usr/local install
nasmリポジトリの追加
sudo curl -o /etc/yum.repos.d/nasm.repo http://www.nasm.us/nasm.repo
sudo yum update
ffmpeg 依存関係の解決
sudo yum install autoconf automake cmake freetype-devel gcc-c++ libtool nasm pkgconfig
変更点
ビルド
ダウンロード用のディレクトリを切る
mkdir ffmpeg_sources
yasm
cd ~/ffmpeg_sources
git clone --depth 1 git://github.com/yasm/yasm.git
cd yasm
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
sudo make install
make distclean
x264
cd ~/ffmpeg_sources
git clone --depth 1 git://git.videolan.org/x264
cd x264
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
sudo make install
make distclean
fdk_aac
cd ~/ffmpeg_sources
git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
sudo make install
make distclean
ffmpegのダウンロードと展開
cd ~/ffmpeg_sources
git clone --depth 1 git://source.ffmpeg.org/ffmpeg
cd ffmpeg
ffmpegビルド設定
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
./configure --prefix="$HOME/ffmpeg_build" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--bindir="$HOME/bin" \
--pkg-config-flags="--static" \
--enable-gpl \
--enable-nonfree \
--enable-libfdk-aac \
--enable-libx264
staticなバイナリにする場合の設定
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig/"
./configure --prefix="$HOME/ffmpeg_build" \
--disable-ffserver \
--enable-version3 \
--arch=x86_64 \
--extra-cflags="-I$HOME/ffmpeg_build/include -static" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib -static" \
--bindir="$HOME/bin" \
--pkg-config-flags="--Bstatic" \
--enable-gpl \
--enable-nonfree \
--enable-libfdk-aac \
--enable-libx264 \
--enable-static \
--disable-shared
ビルド
make
sudo make install
make distclean
shellのハッシュ更新
hash -r