LoginSignup
20
18

More than 5 years have passed since last update.

FFmpeg:コーデック増し増しインストール

Last updated at Posted at 2015-01-06

FFmpeg コーデック増し増しインストール

2015/01/07 版 初校

FFmpeg を使うか使わないかわからない、意味もよくわからず、コーデック増し増しでインストールしてみました。
最後に見返してみて、有名どころの Xvid が抜けてることに気が付きました。
今後も追加していく予定ですので、ご了承ください。

コーデックのダウンロード先は、基本的に最新バージョンが確認できる画面にしました。
直リンクしてしまうとバージョンアップが追えなくなってしまうので。

インストール方法に関しましては、特に記述がないものは、

# tar.gz の場合
tar xzvf ファイル名-バージョン.tar.gz
# tar.bz2 の場合
tar xjvf ファイル名-バージョン.tar.bz2

# 以下共通
cd ファイル名-バージョン
./configure
make
make install

でインストールできます。

バイナリ系は Fedora の標準リポジトリを基準にしています。
rpmfusion あたりにコーデックはゴロゴロころがっていますが、
わかる方はそっちを利用していただいても大丈夫です。

OpenJPEG ( openjpeg )

J2K videos のエンコード及びデコード。
インストールには、「cmake」が必要。
インストールされていなければ、

yum install cmake

でOK。

cmake .
make
make install

FFmpeg の configure オプションは、
--enable-libopenjpeg

OpenCORE AMR ( opencore-amr )

AMR-NBのデコードとエンコード、
AMR-WB のデコード。

FFmpeg の configure オプションは、
–-enable-libopencore-amrnb
–-enable-libopencore-amrwb

VisualOn AAC encoder library ( vo-aacenc )

VisualOn AAC のエンコード。

FFmpeg の configure オプションは、
-–enable-libvo-aacenc

VisualOn AMR-WB encoder library ( vo-amrwenc )

VisualOn AMR-WB のエンコード。

FFmpeg の configure オプションは、
-–enable-libvo-amrwbenc

Fraunhofer AAC library ( fdk-aac )

Frunhofer AAC のエンコード。

FFmpeg の configure オプションは、
-–enable-libfdk-aac

LAME ( lame )

MP3のエンコード。

FFmpeg の configure オプションは、
–enable-libmp3lame

TwoLAME ( twolame )

MP2 のエンコード。

FFmpeg の configure オプションは、
-–enable-libtwolame

libvpx ( libvpx )

VP8 / VP9 のエンコード。
メジャーなのでパッケージで用意されている可能性が高い。

yum install libvpx libvpx-devel

などでもインストールできる。

FFmpeg の configure オプションは、
-–enable-libvpx

libwavpack ( libwavpack )

WavPack のエンコード。
これもパッケージ化されている可能性が高い。

yum install wavpack wavpack-devel

FFmpeg の configure オプションは、
-–enable-libwavpack

x264 ( x264 )

H.264 のエンコード。

git clone git://git.videolan.org/x264.git
cd x264
./configure --enable-static --enable-shared
make
make install

FFmpeg の configure オプションは、
-–enable-libx264

x265 ( x265 )

HEVC のエンコード。

Mercurial と yasm が必要。

yum install mercutial yasm
hg clone https://bitbucket.org/multicoreware/x265
cd x265/build/linux
./make-Makefiles.bash
make
make instal

./make-Makefiles.bash の途中でメニュー画面みたいなものが表示されるので、1回目は「c」(continure)、2回目は「g」(generate)

FFmpeg の configure オプションは、
-–enable-libx265

libilbc ( libilbc )

iLBC のエンコードとデコード。

git clone https://github.com/TimothyGu/libilbc
cd libilbc
cmake .
make
make install

FFmpeg の configure オプションは、
--enable-libilbc

libzvbi ( zvbi )

DVB teletext ページ と DVB teletext 字幕 抽出のためのVBIデコーダ。

FFmpeg の configure オプションは、
-–enable-libzvbi

AviSynth

なんか面倒くさそうなのと、一生使わなさそうなので、今回はパス。

linwebp ( libwebp )

WebPのエンコード。

すでにインストールされてたので、ソースは探さなかった。

yum install libwebp libwebp-devel

FFmpeg の configure オプションは、
-–enable-libwebp

AAC+ ( libaacplus )

AAC+ のエンコード。

autogen.sh
./configure
make
make install

FFmpeg の configure オプションは、
-–enable-libaacplus

GSM ( libgsm )

GSM のエンコード。

これもパッケージ化されてた。

yum install gsm gsm-devel

FFmpeg の configure オプションは、
-–enable-libgsm

OGG ( libogg )

Ogg のエンコードとデコード。
FFmpeg 自体は単体でも出来るっぽいけど、後述するTheora が依存してるっぽい。

Theora のためにインストール。

Vorbis ( libvorbis )

Vorbis のエンコード。

FFmpeg の configure オプションは、
-–enable-libvorbis

Theora ( libtheora )

Theora のエンコード。

多分、先に Ogg と Vorbis が必要そう。

make の時に、

png2theora.c:(.text+0x251): undefined reference to `png_sizeof'
png2theora.c:(.text+0x277): undefined reference to `png_sizeof'

と怒られたら、
example/png2theora.c の465行目と467行目あたりに、

3*height*width*png_sizeof(*row_data));
height*png_sizeof(*row_pointers));

とあるので、この中の「png_sizeof」を「sizeof」に書きなおして、「make」「make install」

FFmpeg の configure オプションは、
-–enable-libtheora

FFmpeg 本体のインストール

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
./configure \
--enable-gpl \
--enable-nonfree \
--enable-version3 \
--お好みの-オプション \
... \
...
make
make install

「–enable-gpl」「–enable-nonfree」「–enable-version3」は、ライセンス関係です。
FFmpeg とライセンス体系が異なるコーデックをインストールする場合は明示的に指定します。

私は何回も configure を行うことが多いので、簡単なバッチを作ります。
今回のコーデック構成では、

config.sh
./configure \
--enable-gpl \
--enable-nonfree \
--enable-version3 \
--enable-libopenjpeg \
--enable-libopencore-amrnb --enable-libopencore-amrwb \
--enable-libvo-aacenc \
--enable-libvo-amrwbenc \
--enable-libfdk-aac \
--enable-libmp3lame \
--enable-libtwolame \
--enable-libvpx \
--enable-libwavpack \
--enable-libx264 \
--enable-libx265 \
--enable-libilbc \
--enable-libzvbi \
--enable-libwebp \
--enable-libaacplus \
--enable-libgsm \
--enable-libvorbis \
--enable-libtheora

こんな感じです。

なんか、pkg-configがどーたら文句言われても、見えないふりをします。

これでもまだ、FFmpeg の 「./configure –help」でオプションを見ると有効になってないオプションがたんまりとあります。

コーデックを追加したら、この投稿にも追加していきます。

2015年1月3日 Qiitaデビューしました。
2014年以前の記事は、
http://www.mixp.net
へどうぞ。--伊良部

20
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
18