0から始めるDebianでのffmpegインストール
とりあえずエンコードもできているようなので書く。
ほぼなにも入れてない状態のDebianから始めることを前提。
コンパイルに必要なパッケージのインストール
$ sudo aptitude install gcc g++ bzip2 unzip subversion git-core make automake libtool libtheora-dev pkg-config
Gitの初期設定
gitコマンドを打つとなんかでてくるので
とりあえずEnterを押したあと
$ sudo update-alternatives --config git
を入力。
選択肢が1と2と出てくるので2を選択。
これでGitは使えるようになる。
次にyasmを入れる。
$ wget http://www.tortall.net/projects/yasm/releases/yasm-0.7.2.tar.gz tar zxvf yasm-0.7.2.tar.gz cd yasm-0.7.2 ./configure && make && sudo make install
Makefileを以下のように作成。
エンコードとかしないよ!という人は
configureのオプションに--disable-ffserverや--disable-ffplayを追加してもいいかも。
修正 09/01/29
ライブラリの指定がMac用でdylibとなっていたのでsoに修正しました。
all: ffmpeg-repos /usr/local/lib/libfaad.so /usr/local/lib/liba52.la /usr/local/lib/libdirac_decoder.so /usr/local/lib/libfaac.so /usr/local/lib/libgsm.a /usr/local/lib/libamrnb.so /usr/local/lib/libamrwb.so /usr/local/lib/libmp3lame.so /usr/local/lib/libx264.a /usr/local/lib/libnut.a /usr/local/lib/libtheora.so /usr/local/lib/libvorbis.so /usr/local/lib/libxvidcore.4.so cd ffmpeg-repos && PKG_CONFIG_PATH=/usr/local/lib/pkgconfig sh configure --enable-shared --enable-gpl --enable-nonfree --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-libamr-nb --enable-libamr-wb --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-decoder=libx264 --enable-encoder=libx264 && make && sudo make install # ffmpeg-repos ffmpeg-repos: svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg-repos # faad2 faad2-2.6.1.tar.gz: wget http://downloads.sourceforge.net/faac/faad2-2.6.1.tar.gz faad2: faad2-2.6.1.tar.gz tar xvfz faad2-2.6.1.tar.gz /usr/local/lib/libfaad.so: faad2 cd faad2 && ./bootstrap && ./configure && make && sudo make install # liba52 a52dec-0.7.4.tar.gz: wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz a52dec-0.7.4: a52dec-0.7.4.tar.gz tar xvfz a52dec-0.7.4.tar.gz /usr/local/lib/liba52.la: a52dec-0.7.4 cd a52dec-0.7.4 && ./configure && make && sudo make install # libdirac dirac-1.0.0.tar.gz: wget http://downloads.sourceforge.net/dirac/dirac-1.0.0.tar.gz dirac-1.0.0: dirac-1.0.0.tar.gz tar xvfz dirac-1.0.0.tar.gz /usr/local/lib/libdirac_decoder.so: dirac-1.0.0 cd dirac-1.0.0 && ./configure && make && sudo make install # faac2 faac-1.26.tar.gz: wget http://downloads.sourceforge.net/faac/faac-1.26.tar.gz faac: faac-1.26.tar.gz tar xvfz faac-1.26.tar.gz /usr/local/lib/libfaac.so: faac cd faac && ./bootstrap && ./configure && make && sudo make install # libgsm gsm-1.0.12.tar.gz: wget http://kbs.cs.tu-berlin.de/~jutta/gsm/gsm-1.0.12.tar.gz gsm-1.0-pl12: gsm-1.0.12.tar.gz tar xvfz gsm-1.0.12.tar.gz /usr/local/lib/libgsm.a: gsm-1.0-pl12 cd gsm-1.0-pl12 && make && sudo cp lib/libgsm.a /usr/local/lib/ && sudo cp inc/gsm.h /usr/local/include/ # libamrnb amrnb-7.0.0.2.tar.bz2: wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2 amrnb-7.0.0.2: amrnb-7.0.0.2.tar.bz2 tar jxf amrnb-7.0.0.2.tar.bz2 /usr/local/lib/libamrnb.so: amrnb-7.0.0.2 cd amrnb-7.0.0.2 && ./configure && make && sudo make install # libamrwb amrwb-7.0.0.3.tar.bz2: wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2 amrwb-7.0.0.3: amrwb-7.0.0.3.tar.bz2 tar jxf amrwb-7.0.0.3.tar.bz2 /usr/local/lib/libamrwb.so: amrwb-7.0.0.3 cd amrwb-7.0.0.3 && ./configure && make && sudo make install # libmp3lame lame-398-2.tar.gz: wget http://downloads.sourceforge.net/lame/lame-398-2.tar.gz lame-398-2: lame-398-2.tar.gz tar xzf lame-398-2.tar.gz /usr/local/lib/libmp3lame.so: lame-398-2 cd lame-398-2 && ./configure && make && sudo make install # libx264 x264: git clone git://git.videolan.org/x264.git /usr/local/lib/libx264.a: x264 cd x264 && ./configure --enable-shared && make && sudo make install # libnut libnut: svn co svn://svn.mplayerhq.hu/nut/src/trunk libnut /usr/local/lib/libnut.a: libnut cd libnut && make && sudo make install # libogg libogg-1.1.3.tar.gz: wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz libogg-1.1.3: libogg-1.1.3.tar.gz tar xvf libogg-1.1.3.tar.gz /usr/local/lib/libogg.so: libogg-1.1.3 cd libogg-1.1.3 && ./configure && make && sudo make install # libtheora theora: svn co http://svn.xiph.org/trunk/theora theora /usr/local/lib/libtheora.so: theora /usr/local/lib/libogg.so cd theora && ./autogen.sh && ./configure && make && sudo make install # libvorbis libvorbis-1.2.0.tar.gz: wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.tar.gz libvorbis-1.2.0: libvorbis-1.2.0.tar.gz tar xvfz libvorbis-1.2.0.tar.gz /usr/local/lib/libvorbis.so: libvorbis-1.2.0 cd libvorbis-1.2.0 && ./configure && make && sudo make install # libxvid xvidcore-1.2.1.tar.gz: wget http://downloads.xvid.org/downloads/xvidcore-1.2.1.tar.gz xvidcore-1.2.1: xvidcore-1.2.1.tar.gz tar xvf xvidcore-1.2.1.tar.gz /usr/local/lib/libxvidcore.4.so: xvidcore-1.2.1 cd xvidcore/build/generic && ./bootstrap.sh && ./configure --disable-assembly && make && sudo make install
makeを実行
/etc/ld.so.confの一番下に
/usr/local/lib
を追加。
$ sudo /sbin/ldconfig
でインストールしたライブラリを適用。
ffmpegを実行すれば
$ ffmpeg FFmpeg version SVN-r16142, Copyright (c) 2000-2008 Fabrice Bellard, et al. configuration: --enable-shared --enable-gpl --enable-nonfree --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-libamr-nb --enable-libamr-wb --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-decoder=libx264 --enable-encoder=libx264 libavutil 49.12. 0 / 49.12. 0 libavcodec 52. 6. 3 / 52. 6. 3 libavformat 52.23. 1 / 52.23. 1 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 1. 0 / 0. 1. 0 libswscale 0. 6. 1 / 0. 6. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Dec 16 2008 11:02:36, gcc: 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) At least one output file must be specified
こんな感じになってるはず。
まあffmpegとか頻繁にソースが変わってるので明日には使えなくなってるかもしれませんね。
あと、同様に実行しても同じ結果になるとは限らないので要注意。