エックスサーバーでのffmpegコンパイルは、基本的に
Compile FFmpeg for Ubuntu, Debian, or Mintの手順で行えます。
コンパイル時の注意点
- ffmpegのコンパイルは、ffmpeg_sources、ffmpeg_build、binという3つのディレクトリが必要になりますが、これらのディレクトリの場所は、書き込み可能なディレクトリに設定する必要があります。
- libfdk-aacはコンパイルでエラーが発生したので、buildから除いています。
サンプルスクリプト
#!/bin/bash
# install directory
FFDIR=/home/user/katsuwo/tmp
# create directories
mkdir -p $FFDIR/ffmpeg_sources
mkdir -p $FFDIR/bin
# NASM
cd $FFDIR/ffmpeg_sources
wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2
tar xjvf nasm-2.14.02.tar.bz2
cd nasm-2.14.02
./autogen.sh
PATH="$FFDIR/bin:$PATH" ./configure --prefix="$FFDIR/ffmpeg_build" --bindir="$FFDIR/bin"
make
make install
# libx264
cd $FFDIR/ffmpeg_sources
git clone --depth 1 https://code.videolan.org/videolan/x264.git
cd x264
PATH="$FFDIR/bin:$PATH" PKG_CONFIG_PATH="$FFDIR/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$FFDIR/ffmpeg_build" --bindir="$FFDIR/bin" --enable-static --enable-pic
PATH="$FFDIR/bin:$PATH" make
make install
# libmp3lame
cd $FFDIR/ffmpeg_sources
wget -O lame-3.100.tar.gz https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar xzvf lame-3.100.tar.gz
cd lame-3.100
PATH="$FFDIR/bin:$PATH" ./configure --prefix="$FFDIR/ffmpeg_build" --bindir="$FFDIR/bin" --disable-shared --enable-nasm
PATH="$FFDIR/bin:$PATH" make
make install
# ffmpeg
cd $FFDIR/ffmpeg_sources
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$FFDIR/bin:$PATH" PKG_CONFIG_PATH="$FFDIR/ffmpeg_build/lib/pkgconfig" ./configure
--prefix="$FFDIR/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$FFDIR/ffmpeg_build/include" \
--extra-ldflags="-L$FFDIR/ffmpeg_build/lib" \
--extra-libs="-lpthread -lm" \
--bindir="$FFDIR/bin" \
--enable-gpl \
--enable-libmp3lame \
--enable-libx264 \
--enable-nonfree
PATH="$FFDIR/bin:$PATH" make
make install
hash -r
ffmpegのバイナリ
コンパイル後、binディレクトリにffmpegが生成されます。