OS には OSMC を使用しているため、raspbian で動かしてる環境とは少々違っています。
OSMC はメディアプレイヤーなので開発に関わるようなものなどは元々入っていないため、それらの導入作業も含まれています。
試行錯誤中のメモをちょっと訂正しただけなので見辛いです。
基本他サイトのコピペ+修正です。
mkdir ~/ffmpeg
mkdir ~/ffmpeg/build
mkdir ~/ffmpeg/src
sudo apt-get update
sudo apt-get install -y autoconf automake build-essential libass-dev libfreetype6-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb-shm0-dev libxcb-xfixes0-dev libxcb1-dev pkg-config texinfo zlib1g-dev
sudo apt-get install git
# raspberry pi userland ライブラリ (OSMC の人のみ実行)
cd ~/ffmpeg
mkdir raspberrypi
cd raspberrypi
git clone --depth 1
https://github.com/raspberrypi/userland.git
cd userland
./buildme
# motion-mmal 用
# たぶんカメラ関係なので使わなければ必要無いかも
sudo apt-get install -y libavcodec-dev libavcodec56 libavformat-dev libavformat56 libavutil-dev libavutil54 libc6-dev libjpeg-dev libmysqlclient-dev libmysqlclient18 libpq-dev libpq5
sudo apt-get install motion
sudo apt-get remove motion
#これはたぶん必要無い
#sudo apt-get install libplayer-dev libplayer2
# ffplay コンパイル用 (エラー)
sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-mixer-dev
# make install の時にエラーとなる。 エラー内容は以下の通り
# strip:ffplay: File format not recognized
# Makefile:127: recipe for target 'ffplay' failed
# make: *** [ffplay] Error 1
sudo apt-get -y install yasm cmake mercurial cmake-curses-gui
# libmp3lame
sudo apt-get -y install libmp3lame-dev
# libopus
sudo apt-get -y install libopus-dev
# x264
sudo apt-get -y install libx264-dev
# x265
cd ~/ffmpeg/src
hg clone
https://bitbucket.org/multicoreware/x265
cd ~/ffmpeg/src/x265/build/arm-linux
chmod +x make-Makefiles.bash
./make-Makefiles.bash
# GUI が立ち上がるので [c] を押して処理が終わったら続けて [g] を押す。
make
make install
# libfdk-aac
cd ~/ffmpeg/src
wget -O fdk-aac.tar.gz
https://github.com/mstorsjo/fdk-aac/tarball/master
tar xzvf fdk-aac.tar.gz
cd mstorsjo-fdk-aac*
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg/build" --disable-shared
make
make install
#make distclean
# libvpx
cd ~/ffmpeg/src
#wget
https://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-1.6.1.tar.bz2
#tar xjvf libvpx-1.6.1.tar.bz2
#cd libvpx-1.6.1
mkdir libvpx
cd libvpx
wget -O libvpx.tar.gz
https://chromium.googlesource.com/webm/libvpx/+archive/master.tar.gz
tar xzvf libvpx.tar.gz
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg/build" --disable-examples --disable-unit-tests
PATH="$HOME/bin:$PATH" make
make install
make clean
# なんでここだけ 「PATH="$HOME/bin:$PATH"」 が必要なんでしょう?
# fixed motion-mmal
# これは別にダウンロードしなくても OK
cd ~/ffmpeg/src
mkdir motion-mmal-fix
cd motion-mmal-fix
wget
https://www.dropbox.com/s/6ruqgv1h65zufr6/motion-mmal-lowflyerUK-20151114.tar.gz
tar zxvf motion-mmal-lowflyerUK-20151114.tar.gz
./motion -c motion-mmalcam-both.conf
# ffmpeg
cd ~/ffmpeg/src
wget
http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
./configure --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg/build/include" --extra-ldflags="-L$HOME/ffmpeg/build/lib" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-libx265 --enable-omx-rpi --enable-omx --enable-mmal
make -j4
# make はうちでは 50 分かかりました
sudo make install
sudo make distclean
hash -r
sudo nano /etc/ld.so.conf
# 最後の行に以下の 1 行を追加
/usr/local/lib
#ライブラリ更新
sudo ldconfig
# ffmpeg では h264_omx が止まってしまうので libav で試す
mkdir libav
cd libav
git clone git://github.com/libav/libav
#./configure --prefix="$HOME/ffmpeg/build" --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfaac --enable-libx264 --enable-omx-rpi --enable-mmal
# どうしても libfdk-aac が見つからないと言われるので、とりあえず libfdk-aac は諦める
./configure --prefix="$HOME/ffmpeg/build" --enable-gpl --enable-nonfree --enable-libfaac --enable-libx264 --enable-omx-rpi --enable-mmal
make -j4
# h264_omx があるか確認する。
./avconv -codecs | grep 264
# エンコードテスト
./avconv -y -i test.ts -c:v h264_omx -c:a aac -b:v 6M -b:a 160k test_h264_omx.mp4
// 試行錯誤はここまで
結果、avconv も ffmpeg も Raspberry Pi 2 B ではエンコード途中で止まる。
映像 6Mbps だと 180 フレームあたりで、3Mbps だと 2600 フレームあたりで止まる。 SD カード上でもネットワーク上でも変わらず。
ちなみに 3Mbps だと 27fps、6Mbps だと 21fps ほどでエンコード出来てる。 速い。 きっちり動かないのが残念。
RaspberryPi 3 あたりで試してみたい。