* ffmpeg [#vdeca0c0]

Linux および Intel Mac でコンパイル(かなり適当)。

あらかじめ

- [[Yasm:http://www.tortall.net/projects/yasm/]]
- [[LAME:http://lame.sourceforge.net/]]
- [[FAAC/FAAD2:http://www.audiocoding.com/downloads.html]]
- [[x264:http://www.videolan.org/developers/x264.html]]

を

 ./configure
 make
 make install

で入れる。
ただし FAAD2 については gcc 4 未満ではエラーになる。
./configure 後 libfaad/Makefile の -iquote を -I に直すと通るようだ。

以上ができたら [[FFmpeg:http://ffmpeg.org/]] を svn または git でゲットしてコンパイル。
次は一例:

 mkdir /usr/local/src/ffmpeg
 cd /usr/local/src/ffmpeg
 svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk
 mkdir compile
 cd compile
 ../trunk/configure --enable-pthreads --enable-libmp3lame --enable-libfaac \
     --enable-libfaad --enable-libx264 --enable-gpl --enable-nonfree
 make
 make install

バージョン/プラットフォームによっては ulong でエラーが起こったような気がするが,適当なところに typedef unsigned long ulong; と書いて無理矢理通した。

Linux で ffmpeg と打ち込んで error while loading shared libraries
というエラーが出るなら,
/etc/ld.so.conf に /usr/local/lib と書き足して /sbin/ldconfig する。

実行例:

 # ヘルプ
 ffmpeg -h

 # フォーマット一覧
 ffmpeg -formats

 # foo.flv から音だけ取り出す
 ffmpeg -i foo.flv -acodec copy foo.mp3

 # DVDをiPhone/iPod touch用にエンコード
 ffmpeg -i /どこか/VTS_01_1.VOB -s qvga -acodec libfaac -vcodec libx264 foo.mp4

 # おもなオプション
 -b 200k    # video bitrate
 -s 640x480 # video size
 -ac 1      # audio channels (mono=1)
 -ar 44100  # audio sampling rate
 -ab 64k    # audio bitrate
 -f mp4     # mpeg4 format

Darwin Streaming Serverでストリーミングするにはさらにヒントを付ける必要がある。
[[Apple’s Darwin Streaming Server On Centos 5.2 - Page 2 | HowtoForge - Linux Howtos and Tutorials:http://www.howtoforge.com/apples-darwin-streaming-server-on-centos-5.2-p2]]
参照。