Debian のパッケージ
2010/6/8 追記:Debian lenny に ffmpeg をインストールする話はコッチでしてます。etch とは違う方法でインストールしました。
Sarge の PowerPC では自分でビルドするしかなかった ffmpeg、i386 ではパッケージが用意されている! というわけで簡単にインストールができた。超簡単にさっくりと apt-get でインストール!
paraches@debian:~$ sudo apt-get install ffmpeg パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています... 完了 以下のパッケージが新たにインストールされます: ffmpeg アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 1 個。 182kB のアーカイブを取得する必要があります。 展開後に追加で 631kB のディスク容量が消費されます。 取得:1 http://cdn.debian.or.jp etch/main ffmpeg 0.cvs20060823-8 [182kB] 182kB を 0s で取得しました (405kB/s) 未選択パッケージ ffmpeg を選択しています。 (データベースを読み込んでいます ... 現在 90047 個のファイルとディレクトリがインストールされています。) (.../ffmpeg_0.cvs20060823-8_i386.deb から) ffmpeg を展開しています... ffmpeg (0.cvs20060823-8) を設定しています ... paraches@debian:~$
スーパー簡単!
で、どんな設定でビルドされてるのか確認すると…
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2004 Fabrice Bellard configuration: --enable-gpl --enable-pp --enable-pthreads --enable-vorbis --enable-libogg --enable-a52 --enable-dts --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr libavutil version: 0d.49.0.0 libavcodec version: 0d.51.11.0 libavformat version: 0d.50.5.0 built on Mar 26 2007 15:50:40, gcc: 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) usage: ffmpeg [[infile options] -i infile]... {[outfile options] outfile}... Hyper fast Audio and Video encoder <省略>
あれれ? h264 無いじゃん! lame も無いよ! 結局は自分でビルドする必要があるのか…
というわけで、あちこち彷徨った結果なぜかココを参考にビルドしてインストールした。
svc から最新版をビルド
まずは /etc/apt/sources.list に以下の2行を加える。
deb http://www.debian-multimedia.org etch main deb-src http://www.debian-multimedia.org etch main
で、apt-get update をしてみたら…
debian:/home/paraches# apt-get update 無視 cdrom://[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 NETINST Binary-1 20070820-20:21] etch Release.gpg <省略> 5727B を 2s で取得しました (2829B/s) パッケージリストを読み込んでいます... 完了 W: GPG error: http://debian-multimedia.org etch Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 07DC563D1F41B907 W: これらの問題を解決するためには apt-get update を実行する必要があるかもしれません
何か怪しいメッセージが!
何? 公開鍵が利用できない??? というわけでココを参考に解決策を…。
debian:/home/paraches# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 07DC563D1F41B907 gpg: requesting key 1F41B907 from hkp server wwwkeys.eu.pgp.net gpg: /root/.gnupg/trustdb.gpg: trustdb created gpg: key 1F41B907: public key "Christian Marillat <marillat@debian.org>" imported gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1 debian:/home/paraches# gpg --armor --export 07DC563D1F41B907 | apt-key add - OK debian:/home/paraches#
今度こそ apt-get update 成功?
debian:/home/paraches# apt-get update 無視 cdrom://[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 NETINST Binary-1 20070820-20:21] etch Release.gpg <省略> 192B を 5s で取得しました (36B/s) パッケージリストを読み込んでいます... 完了 debian:/home/paraches#
良かった、良かった。
次はパッケージに関係あるものをインストールする。
paraches@debian:/etc/apt$ sudo apt-get build-dep ffmpeg パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています... 完了 注意、liba52-dev の代わりに liba52-0.7.4-dev を選択します 以下のパッケージが新たにインストールされます: ccache dpatch liba52-0.7.4-dev libdts-dev libfaac-dev libfaac0 libfaad-dev libfaad0 libfreetype6-dev libgl1-mesa-dev libglu1-mesa-dev libglu1-xorg-dev libgsm1-dev libimlib2 libimlib2-dev libjpeg62-dev liblame-dev liblame0 libltdl3 libltdl3-dev libogg-dev libpng12-dev libsdl1.2-dev libtheora-dev libtiff4-dev libtiffxx0c2 libungif4-dev libungif4g libvorbis-dev libx11-dev libx264-54 libx264-dev libxau-dev libxdmcp-dev libxext-dev libxv-dev libxvidcore4 libxvidcore4-dev libxvmc-dev mesa-common-dev texi2html x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-video-dev x11proto-xext-dev xtrans-dev アップグレード: 0 個、新規インストール: 47 個、削除: 0 個、保留: 1 個。 8590kB のアーカイブを取得する必要があります。 展開後に追加で 31.7MB のディスク容量が消費されます。 続行しますか [Y/n]? <省略> libsdl1.2-dev (1.2.11-8) を設定しています ... paraches@debian:/etc/apt$
かなりの量のパッケージがインストールされた。見ると libx264 とか liblame とかちゃんと入ってる。
次に subversion のインストール。
paraches@debian:~/myTest/ffmpeg$ sudo apt-get install subversion パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています... 完了 以下の特別パッケージがインストールされます: libneon26 libsvn1 提案パッケージ: subversion-tools db4.4-util 以下のパッケージが新たにインストールされます: libneon26 libsvn1 subversion アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 1 個。 1739kB のアーカイブを取得する必要があります。 展開後に追加で 5014kB のディスク容量が消費されます。 続行しますか [Y/n]? <省略> subversion (1.4.2dfsg1-2) を設定しています ... paraches@debian:~/myTest/ffmpeg$ cd ..
ホームディレクトリに svc フォルダを作ってそこでソースファイルをゲットする
paraches@debian:~$ mkdir svn paraches@debian:~$ cd svn paraches@debian:~/svn$ ls paraches@debian:~/svn$ svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg A ffmpeg/configure A ffmpeg/Doxyfile <省略> U ffmpeg/libswscale 外部項目 (リビジョン 25563) をチェックアウトしました。 リビジョン 11364 をチェックアウトしました。 paraches@debian:~/svn$
なんだかすごくたくさん落ちてきたぞ…
svc フォルダの中にできた ffmpeg フォルダに入っていよいよ ./configure する。
paraches@debian:~/svn/ffmpeg$ ./configure --enable-libmp3lame --enable-libtheora --enable-liba52 --enable-libx264 --enable-libgsm --enable-pp --enable-libxvid --enable-libfaac --enable-pthreads --enable-libvorbis --enable-libfaad --enable-gpl --enable-x11grab install prefix /usr/local source path /home/paraches/svn/ffmpeg C compiler gcc <省略> oss_muxer Creating config.mak and config.h... paraches@debian:~/svn/ffmpeg$
./configure 無事終了!
次はいよいよ make。
paraches@debian:~/svn/ffmpeg$ make gcc -fPIC -fomit-frame-pointer -pthread -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -O3 -I"/home/paraches/svn/ffmpeg" -I"/home/paraches/svn/ffmpeg" -I"/home/paraches/svn/ffmpeg"/libavutil -I"/home/paraches/svn/ffmpeg"/libavcodec -I"/home/paraches/svn/ffmpeg"/libavformat -I"/home/paraches/svn/ffmpeg"/libswscale -I"/home/paraches/svn/ffmpeg"/libavdevice -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -DHAVE_AV_CONFIG_H `imlib2-config --cflags` `freetype-config --cflags` -MM vhook/fish.c vhook/null.c vhook/watermark.c vhook/drawtext.c vhook/imlib2.c vhook/ppm.c | sed 's,^\([a-z]\),vhook/\1,' > .vhookdep "/home/paraches/svn/ffmpeg"/version.sh "/home/paraches/svn/ffmpeg" <省略> pod2man --section=1 --center=" " --release=" " doc/ffserver.pod > doc/ffserver.1 rm doc/ffserver.pod doc/ffmpeg.pod doc/ffplay.pod paraches@debian:~/svn/ffmpeg$
make も何事も無く終了!
で、インストール
paraches@debian:~/svn/ffmpeg$ sudo make install make -C libavutil install-libs <省略> install -d "/usr/local/share/man/man1" install -m 644 doc/ffmpeg.1 doc/ffplay.1 doc/ffserver.1 "/usr/local/share/man/man1" paraches@debian:~/svn/ffmpeg$
無事インストール終了。
でもこれで終了ってわけじゃないみたい。何やら /etc/ld.so.conf ファイルの中に /usr/local/lib が書かれていないといけないらしい。しかも、/usr/lib よりも前に。とりあえずは最初に書けば良いみたい。でも、/etc/ld.so.conf の中身は他のファイルを読んでるよ?
paraches@debian:~$ sudo cat /etc/ld.so.conf include /etc/ld.so.conf.d/*.conf paraches@debian:~$
んじゃ、その読み込む前に書けば良いのね。
paraches@debian:~$ sudo cat /etc/ld.so.conf /usr/local/lib include /etc/ld.so.conf.d/*.conf paraches@debian:~$
で、アップデート。
paraches@debian:~/svn/ffmpeg$ sudo ldconfig -v ldconfig: Can't stat /lib64: No such file or directory /usr/local/lib: /lib/i486-linux-gnu: /usr/lib/i486-linux-gnu: /lib: <省略> libutil.so.1 -> libutil-2.3.6.so libresolv.so.2 -> libresolv-2.3.6.so paraches@debian:~/svn/ffmpeg$
最後にバージョンの確認。
paraches@debian:~/svn/ffmpeg$ ffmpeg -version FFmpeg version SVN-r11364, Copyright (c) 2000-2007 Fabrice Bellard, et al. configuration: --enable-libmp3lame --enable-libtheora --enable-liba52 --enable-libx264 --enable-libgsm --enable-pp --enable-libxvid --enable-libfaac --enable-pthreads --enable-libvorbis --enable-libfaad --enable-gpl --enable-x11grab libavutil version: 49.6.0 libavcodec version: 51.49.0 libavformat version: 52.3.0 built on Jan 1 2008 02:07:21, gcc: 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) FFmpeg SVN-r11364 libavutil 3212800 libavcodec 3354880 libavformat 3408640 paraches@debian:~/svn/ffmpeg$
最新版の ffmpeg がインストールできた!
しかし、ビルドの時間が元旦の午前2時って…駄目人間じゃん…