Raspbian でffmpegをセルフビルドしてみた

Rapberry Pi 2 のRapbian jessieでffmpegをセルフビルドしてみました。

準備

$ sudo apt-get update
$ sudo apt-get -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev \
  libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \
  libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev
$ sudo apt-get install yasm
$ sudo apt-get install libx264-dev

fdk-aacのビルド

$ mkdir $HOME/work/ffmpeg
$ cd $HOME/work/ffmpeg/
$ wget -O fdk-aac.tar.gz https://github.com/mstorsjo/fdk-aac/tarball/master
$ tar xvzf fdk-aac.tar.gz 
$ cd mstorsjo-fdk-*/
$ autoreconf -fiv
$ ./configure 
$ make -j4
$ sudo make install

ffmpegのビルド

今回はx265は省略。

$ cd $HOME/work/ffmpeg/
$ wget https://www.ffmpeg.org/releases/ffmpeg-2.7.2.tar.xz
$ tar xf ffmpeg-2.7.2.tar.xz 
$ cd ffmpeg-2.7.2/
$ vi myconfig.sh
$ sh myconfig.sh 
$ time make -j4 2>&1 |tee make.log
$ sudo make install

myconfig.shの内容は

./configure \
  --enable-gpl \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libtheora \
  --enable-libvorbis \
  --enable-libx264 \
  --enable-nonfree

ビルドには一時間くらいかかりました。
できたffmpegを実行すると、libfdk-acc.so がみつからないというエラーになってしまいました。これは/usr/local/libに確かにあるのになんでだろう?と少し悩みましたが、これを実行しないと反映されないことを忘れていました。

$ sudo /sbin/ldconfig

これで問題なく起動できるようになりました。

$ ffmpeg -version
ffmpeg version 2.7.2 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (Raspbian 4.9.2-10)
configuration: --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree
libavutil      54. 27.100 / 54. 27.100
libavcodec     56. 41.100 / 56. 41.100
libavformat    56. 36.100 / 56. 36.100
libavdevice    56.  4.100 / 56.  4.100
libavfilter     5. 16.101 /  5. 16.101
libswscale      3.  1.101 /  3.  1.101
libswresample   1.  2.100 /  1.  2.100
libpostproc    53.  3.100 / 53.  3.100

ロスコンパイルする方法はこちら。
CompilationGuide/RaspberryPi