2011年4月24日日曜日

[Mac] ffmpegをコンパイル

というわけでやってみたのでメモっとく。
とは言っても今回は関連ライブラリはパッケージソフト使ったので手間的にはかかってない。

事前に用意するもの

Homebrew : MacPortsとかyumとかfinkとかの仲間。
Rubyで書かれた手順(Formula)にしたがって、いろんなライブラリをダウンロード&コンパイルしてくれたうえで、/usr/localにシンボリックリンクを貼ってくれる。
portと違って「すでにあるライブラリ」があれば使ってくれるところと、Formulaの修正が簡単なところがイイ!

ffmpeg:バイナリで配っていることもあるけれど、自分でやるとコンパクトになってよい。



外部ライブラリをインストール
ffmpegはその気になればいろんなファイル形式に対応させることができるが、まぁ普段使うのくらいでいいよね。
ちなみに選べる外部ライブラリは
./configure --help
で調べることが出来る。

今回は以下に対応させます
ーーーー
ammb,amrwb : 着うたとかに使われているらしい。
vpx:グーグル先生作のWebM用
dirac:mkvやaviによく使われるらしい
xvid:xvid用
x264:H.264用
faac:aac形式用
lame:mp3用

pkg-config:ffmpegをコンパイルするのに必要
ーーーー

前回はすべて自分でコンパイルしたけれども、今回はHomeBrewで入れます。

ちなみに、あるかどうか探したいのがあったら
brew search aac
とかやれば見つかります

というわけでインストール
brew install pkg-config
brew install opencore-amr
brew install libvpx
brew install dirac
brew install xvid
brew install x264
brew install faac
brew install lame
おわり

コンパイルオプションを考える
準備はできたので、あとはオプションを考える

上でインストールしたライブラリを使う+ドキュメントはイラネ+ストリーミングもサーバもプレイヤーもイラネ

というオプションが以下
--disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --enable-libopencore-amrnb --enable-version3  --enable-libopencore-amrwb --enable-libdirac --enable-libfaac --enable-nonfree --enable-libmp3lame  --enable-libvpx --enable-libx264 --enable-gpl --enable-libxvid


configureしてmakeとinstall
./configure --disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --enable-libopencore-amrnb --enable-version3  --enable-libopencore-amrwb --enable-libdirac --enable-libfaac --enable-nonfree --enable-libmp3lame  --enable-libvpx --enable-libx264 --enable-gpl --enable-libxvid
make
sudo make install




おわり。


あとは適当になんか変換してみるテスト
ffmpeg -i test.flv -vn -acodec libmp3lame test.mp3


以上! いやぁ今回は楽したわ
ちなみに、OpenCVなどのffmpegを使うライブラリをユニバーサルバイナリで作りたい人はffmpegもユニバーサルにする必要があり、つまりfaacとかもユニバーサルにする必要があります。
そうゆうひとは「brew install」の前に「brew edit」でFormulaを書き換えないとだめなんだけどそのへんは長くなるので省略。

0 comments:

コメントを投稿