link もっと前
   2013年 3月 13日 -
      2013年 3月 13日  
link もっと後

link 未来から過去へ表示(*)
link 過去から未来へ表示

日々

link permalink

ffmpeg ビルドふたたび

以前(2009年 5月 22日の日記参照)ビルドした ffmpeg がいい加減古くなってきたので、再びビルドしました。

もう 4年も経っているので、少なからず configure のオプションが変わっていたり、以前は使えたライブラリが使えなくなっていたりしていたので、使用するライブラリを変えました。

以下、今回ビルドしたソフトおよびライブラリです。前回からの変化点には★をつけています。

★yasm
アセンブラ:コーデックではないです。ffmpeg をビルドする際に Debian の Stable パッケージより新しい yasm が必要となります。ffmpeg のアセンブラコードを無効化する(./configure --disable-asm でできるが、速度が犠牲になる)か、yasm の新しいパッケージを持ってくるか、いっそ yasm を独自にビルドしまっても良いです。
libogg
Ogg:コンテナ、つまり動画、音声を入れる箱のことです。フリーのフォーマットです。
libx264
MPEG-4 Advanced Video Codec/H.264:動画、いわゆる AVC とか H.264 と呼ばれます。ワンセグや Blu-ray に用いられます。
libxvidcore
Xvid:動画、MPEG-4 ベースのフリーのコーデックです。H.264 が出るまでは DivX と争っていた気がします。対応しているプレーヤは見かけません。
★libvpx
VP8, VP9:動画、On2 Technologies 開発でしたが、Google に買収され WebM 規格(コンテナ Matroska, 動画 VP8, 音声 Vorbis)としてフリーで提供されているコーデックです。サービスでは YouTube が採用し、ブラウザは Google Chrome が対応しているなど、Google の仲間達がよく使っています。
libtheora
Theora:動画、MPEG-4 ベースの On2 VP3 をベースとしたフリーのコーデックです。VP3 の後継コーデック VP6 は Flash Video のコーデックとして有名ですが、Theora はあまり有名とは言えないかな…。
libvorbis
Vorbis:音声、フリーなコーデックです。音質、圧縮率ともに MP3 より優れていると評判でしたが、他の音声コーデックがぞろぞろ出てきて、存在感が薄くなりました。
★libopencore-amrnb
3G AMR-Narrowband:音声、狭帯域向けのコーデックです。i モーションの音声に使われます。以前対応していた amr-nb, amr-wb ライブラリのサポートが無くなり、こちらのライブラリになりました。何でだろ?
★libopencore-amrwb
3G AMR-Wideband:音声、AMR-Narrowband の広帯域版です。何に使われているか知りません。
libmp3lame
MPEG-1 Audio Layer 3:音声、いわゆる MP3 です。各所で使われています。
★libfaac
MPEG-2 Advanced Audio Codec:音声、いわゆる AAC です。DVD の音声、iTunes の音声として有名です。ffmpeg が AAC のデコードに対応したせいか、libfaad のサポートがなくなりました。
★libaacplus
MPEG-4 High Efficiency Advanced Audio Codec:音声、いわゆる HE-AAC です。iTunes で使っています。着うたでも使ってたっけ?低域部分を AAC で、高域部分を Spectral Band Replication でコードします。v2 では Parametric Stereo も使います。

ビルド手順は下記の通りです。ソースコードアーカイブへの URL は日記を書いた時点のものであり、いつ変わるかわかりませんので、ビルドの際は URL をご自分で今一度ご確認下さい。

ffmpeg のビルド(Debian 6.0.7 Squeeze にて)
export PATH=/home/katsuhiro/usr/bin:$PATH


git clone https://github.com/yasm/yasm.git yasm
cd yasm
automake --add-missing
autoreconf
./configure --prefix=/home/katsuhiro/usr
make
make install


git clone git://git.videolan.org/x264.git x264
cd x264
./configure --prefix=/home/katsuhiro/usr \
 --enable-shared \
 --enable-pic
make
make install


wget http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
tar xzvf xvidcore-1.3.2.tar.gz
mv xvidcore xvidcore-1.3.2
cd xvidcore-1.3.2/build/generic/
./configure --prefix=/home/katsuhiro/usr
make
make install


git clone  http://git.chromium.org/webm/libvpx.git libvpx
cd libvpx
./configure --prefix=/home/katsuhiro/usr \
 --enable-shared
make
make install


wget http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz
tar xzvf libogg-1.3.0.tar.gz
cd libogg-1.3.0
./configure --prefix=/home/katsuhiro/usr \
 --enable-shared
make
make install


wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
tar xzvf libvorbis-1.3.3.tar.gz
cd libvorbis-1.3.3
./configure --prefix=/home/katsuhiro/usr \
 --enable-shared \
 --with-ogg=/home/katsuhiro/usr \
 --with-vorbis=/home/katsuhiro/usr
make
make install


wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2
tar xjvf libtheora-1.1.1.tar.bz2
cd libtheora-1.1.1
./configure --prefix=/home/katsuhiro/usr \
 --with-ogg=/home/katsuhiro/usr \
 --enable-shared
make
make install


wget http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz
tar xzvf opencore-amr-0.1.3.tar.gz
cd opencore-amr-0.1.3
./configure --prefix=/home/katsuhiro/usr \
 --enable-shared
make
make install


wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar xzvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --prefix=/home/katsuhiro/usr
make install


wget http://downloads.sourceforge.net/project/faac/faac-src/faac-1.28/faac-1.28.tar.gz
tar xzvf faac-1.28.tar.gz
cd faac-1.28
./configure --prefix=/home/katsuhiro/usr \
 --enable-shared
sed '126d' ./common/mp4v2/mpeg4ip.h > ./common/mp4v2/mpeg4ip.h_new
mv ./common/mp4v2/mpeg4ip.h_new ./common/mp4v2/mpeg4ip.h
make
make install


wget http://217.20.164.161/~tipok/aacplus/libaacplus-2.0.2.tar.gz
tar xzvf libaacplus-2.0.2.tar.gz
cd libaacplus-2.0.2
./autogen.sh
./configure --prefix=/home/katsuhiro/usr
make
make install


git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
./configure --prefix=/home/katsuhiro/usr \
 --enable-nonfree --enable-gpl \
 --enable-version3 \
 --enable-pthreads --enable-shared \
 --extra-cflags="-I/home/katsuhiro/usr/include" \
 --extra-libs="-L/home/katsuhiro/usr/lib" \
 --enable-libx264 --enable-libxvid \
 --enable-libvpx \
 --enable-libopencore-amrnb --enable-libopencore-amrwb \
 --enable-libtheora --enable-libvorbis \
 --enable-libmp3lame \
 --enable-libfaac --enable-libaacplus

============================================================

$ ffmpeg -version
ffmpeg version N-50843-gacbd14b
built on Mar 13 2013 21:38:21 with gcc 4.4.5 (Debian 4.4.5-8)
configuration: --prefix=/home/katsuhiro/usr --enable-nonfree --enable-gpl --enable-version3 --enable-pthreads --enable-shared --extra-cflags=-I/home/katsuhiro/usr/include --extra-libs=-L/home/katsuhiro/usr/lib --enable-libx264 --enable-libxvid --enable-libvpx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-libfaac --enable-libaacplus
libavutil      52. 19.100 / 52. 19.100
libavcodec     55.  0.100 / 55.  0.100
libavformat    55.  0.100 / 55.  0.100
libavdevice    54.  4.100 / 54.  4.100
libavfilter     3. 45.101 /  3. 45.101
libswscale      2.  2.100 /  2.  2.100
libswresample   0. 17.102 /  0. 17.102
libpostproc    52.  2.100 / 52.  2.100
[編集者: すずき]
[更新: 2013年 3月 13日 22:27]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
   2013年 3月 13日 -
      2013年 3月 13日  
link もっと後

管理用メニュー

link 記事を新規作成

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDF ファイル RSS 1.0
QR コード QR コード

最終更新: 11/14 02:08

カレンダー

<2013>
<<<03>>>
-----12
3456789
10111213141516
17181920212223
24252627282930
31------

最近のコメント 5件

  • link 18年10月12日
    すずき 「なるほど!\n京急、京成はヤバそうですね...」
    (更新:10/15 23:02)
  • link 18年10月12日
    ちかふみ 「閉会式直後の出国ラッシュ対策のためだそう...」
    (更新:10/15 20:43)
  • link 18年10月12日
    すずき 「あー、なるほど!閉会式の次にくっつけたん...」
    (更新:10/14 15:44)
  • link 18年10月12日
    hdk 「2020年の東京オリンピックが8月9日ま...」
    (更新:10/14 10:45)
  • link 18年09月07日
    すずき 「ありがとう!\nこちらこそ、楽しみにして...」
    (更新:09/11 19:30)

最近の記事 3件

link もっとみる
  • link 18年11月13日
    すずき 「[お気に入りのマンガ] Kindle Fire HD は大量の本を...」
    (更新:11/14 02:08)
  • link 18年11月10日
    すずき 「[ROCK64 の I2S が動かない] 先日(2018年 7月 ...」
    (更新:11/14 01:53)
  • link 18年11月11日
    すずき 「[linux-next で動かない ROCK64 の I2S] 昨...」
    (更新:11/14 01:52)

こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報