1 デミュクサー

デミュクサーは特定の種類のファイルからマルチメディアストリームを 読むことを可能にする Libav での構成される要素です。

Libav のビルドを構成する際、既定では全ての対応されるデミュクサーが 有効になります。全ての利用可能なデミュクサーを configure オプション "–list-demuxers" を使って一覧できます。

configure オプション "–disable-demuxers" を使って全てのデミュクサーを 無効にできます。そしてオプション "–enable-demuxer=DEMUXER" で 1つのデミュクサーを選択的に有効にでき、オプション "–disable-demuxer=DEMUXER" で1つのデミュクサーを選択的に無効にできます。

ff* ツールの "-formats" オプションは有効になっているデミュクサーの 一覧を表示します。

現在利用可能なデミュクサーのいくつかの説明は以下の通りです。

1.1 image2

画像ファイルデミュクサー。

このデミュクサーはパターンで指定された画像ファイルのリストを読みます。

パターンは文字列 "%d" または "%0Nd" を含めることができ、 これがこのパターンにマッチする各ファイル名の連番を表す文字の位置を 指定します。"%d0Nd" という形が使われた場合、各ファイル名の 番号を表す文字列は0で埋められており、N は番号を表す0で埋められた 桁の総数です。リテラル文字 ’%’ は文字列 "%%" を含むパターンで指定 されます。

このパターンが "%d" または "%0Nd" を含む場合、このパターンによって 指定されたファイル列の最初のファイル名は0から4までの間の番号を含まなければ ならず、後に続く全ての番号は連番でなければなりません。 この制限は取り払われる見込みです。

このパターンにはファイルに含まれる画像の形式によって自動的に決まる 接尾辞を含んでもよいです。

例えばパターン "img-%03d.bmp" は ‘img-001.bmp’, ‘img-002.bmp’, ..., ‘img-010.bmp’, などの形をしたファイル名の列にマッチします; パターン "i%%m%%g-%d.jpg" は ‘i%m%g-1.jpg’, ‘i%m%g-2.jpg’, ..., ‘i%m%g-10.jpg’, などの形をしたファイル名の列にマッチします。

各画像のサイズ、ピクセル形式、および形式は列にある全てのファイルで 同じでなければなりません。

次の例は、秒間10フレームの入力フレームレートとして、ファイル列 ‘img-001.jpeg’, ‘img-002.jpeg’, ..., の画像から映像を作るための ‘avconv’ の使い方です:

avconv -i 'img-%03d.jpeg' -r 10 out.mkv

このパターンは "%d" または "%0Nd" を含む必要はないことに 注意してください。例えば単一の画像ファイル ‘img.jpeg’ を 変換するために次のコマンドが使えます:

avconv -i img.jpeg img.png

1.2 applehttp

Apple HTTP Live Streaming デミュクサー。

このデミュクサーは全ての種類のストリームから全ての AVStreams を取り出します。 id フィールドはそのビットレートに応じたインデックス番号に設定されます。 AVStreams の discard フラグを設定する(avplay では ’a’ または ’v’ を押す) ことによって、呼び出し側が実際に受け取るストリームの種類を決定できます。 ストリームが属する種類の全体のビットレートは "variant_bitrate" と名付け られているメタデータキーで取れます。