Ubuntu 7.04 feistyのffmpegは特許などの関係で問題のありそうなコーデックのエンコーダは全てOFFにされた状態で配布されており、素のままではmp3も再生しか出来ません。これでは使いものにならないためパッケージをリコンパイルしてmp3,aac,h264などを使えるようにしてみたのでメモ。
検索してみるとsvnの最新版を使っておられたりしているようですが、個人的にパッケージ管理から大きく外れると後で面倒になるので出来ればリコンパイルでなんとかならないかと思ったところ
このあたりを参考に、ついでに使っているCPU向けにちょっと最適化もいれてやってみました。
上のブログのやりかたとほぼそのままですがAMRパッチは無しで。7.04ではlibx264-dev関係を追加
準備
まずはいろいろとインストール。
apt-get install quilt libsdl1.2-dev libogg-dev libvorbis-dev liba52-dev libdts-dev libimlib2-dev texi2html libraw1394-dev libdc1394-13-dev libtheora-dev libgsm1-dev liblame-dev libxvidcore4-dev libfaac-dev libfaad2-dev libx264-dev
apt-get install pentium-builder
実害はないですが警告がうざいのでpentium-builderをgcc4.1向けに修正。pentium builderは単なるgcc/g++のラッパーでDEBIAN_BUILDARCH変数の値を-march, -mcpuにセットして本物のgccを起動するだけのものです。お手軽にathlon64とかpentium4とかに最適化できます。
$ sudo vi /usr/bin/builder-c++
2つのファイルの中から-mcpuとあるところを-mtuneと修正。
コンパイル&インストール
どこかにビルド専用ディレクトリを作成して
$ cd ffmpeg-0.cvs20060823
$ sudo bash
# DEBIAN_BUILDARCH=pentium-m DEB_BUILD_OPTIONS=”risky” \ dpkg-buildpackage
# cd ..
# dpkg -i *.deb
以上でh264(x264)/aac(faad2/faac)/mp3(lame)/xvid等に対応したpentium-m(centrino)向けのffmpegが出来上がります。 おんなじ手順でついでにx264もpentium-m向けにリコンパイルしてみました。気持ち速くなったようなならないような。
使うには
ffmpeg -i hoge.flv -vcodec h264 -acodec aac -sameq hoge.avi
という感じ。
もともとrpmな人なのでこれで正しいのかはまだ少し自信がない。パッケージマネージャがアップデートしろとか宣いますが本当に新しいのが出るまでは無視で。
2008/2/18 追記: Gutsyならこちらでやる方が楽です
medibuntuを追加してみたら (blog@browncat.org)