1 ストリーム指定子

オプションには、例えばビットレートやコーデックのように、ストリームごとに適用されるものがあります。 ストリーム指定子は与えられたオプションがどのストリームに属するかを正確に指定するために使われます。

ストリーム指定子は文字列で、コロンによって区切られた省略可能なオプションの名前を追加されます。 例えば -codec:a:1 ac3 というオプションは a:1 というストリーム指定子を含み、 これは2番目の音声ストリームに対応します。したがってこのオプションは2番目の音声ストリームの ac3 コーデックを選択します。

ストリーム指定子はいくつかのストリームにマッチし、その場合それら全てにそのオプションは 適用されます。例えば -b:a 128k でのストリーム指定子は全ての音声ストリームに マッチします。

空のストリーム指定子は全てのストリームにマッチし、例えば -codec copy あるいは -codec: copy は再エンコーディングすることなしに全てのストリームをコピーします。

可能なストリーム指定子の形は以下のとおりです:

stream_index

このインデックスを持つストリームにマッチします。例えば -threads:1 4 は 2番目のストリームのスレッドカウントを4に設定します。

stream_type[:stream_index]

stream_type は次のいずれかです: 映像のための ’v’、音声のための ’a’、 字幕のための ’s’、データのための ’d’、アタッチメントのための’t’。 stream_index が与えられていれば、その種類のストリーム番号 stream_index のものにマッチします。 さもなくばその種類の全てのストリームにマッチします。

p:program_id[:stream_index]

stream_index が与えられていれば、id program_id を持つプログラムの ストリーム番号 stream_index のものにマッチします。さもなくば そのプログラムの全てのストリームにマッチします。

2 一般的なオプション

これらのオプションは av* ツールの間で共有されます。

-L

ライセンスを表示します。

-h, -?, -help, --help [arg]

ヘルプを表示します。省略可能なパラメーターで特定の項目についての ヘルプを表示するように指定できます。

arg に可能な値は:

decoder=decoder_name

decoder_name という名前のデコーダーについての詳細な情報を表示します。 全てのデコーダーの一覧を取得するには ‘-decoders’ オプションを使ってください。

encoder=encoder_name

encoder_name という名前のエンコーダーについての詳細な情報を表示します。 全てのエンコーダーの一覧を取得するには ‘-encoders’ オプションを使ってください。

demuxer=demuxer_name

demuxer_name という名前のデミュクサーについての詳細な情報を表示します。 全てのミュクサーおよびデミュクサーの一覧を取得するには ‘-formats’ オプションを使ってください。

muxer=muxer_name

muxer_name という名前のミュクサーについての詳細な情報を表示します。 全てのミュクサーおよびデミュクサーの一覧を取得するには ‘-formats’ オプションを使ってください。

-version

バージョンを表示します。

-formats

利用可能なフォーマットを表示します。

フォーマット名の前にあるフィールドは次のような意味があります:

D

デコーディングが利用できる

E

エンコーディングが利用できる

-codecs

libavcodec に認識される全てのコーデックを表示します。

この文書では’コーデック’という用語はより正確にはメディアビットストリーム形式 とよぶべきものの短縮名であることに注意してください。

-decoders

利用可能なデコーダーを表示します。

-encoders

利用可能なエンコーダーを表示します。

-bsfs

利用可能な bitstream フィルターを表示します。

-protocols

利用可能なプロトコルを表示します。

-filters

利用可能な libavfilter フィルターを表示します。

-pix_fmts

利用可能な pixel フォーマットを表示します。

-sample_fmts

利用可能なサンプルフォーマットを表示します。

-loglevel loglevel | -v loglevel

そのライブラリで使用されるログの冗長さを設定します。 loglevel は以下の値の1つを含んだ数値または文字列:

quiet
panic
fatal
error
warning
info
verbose
debug

既定ではプログラムは標準エラー出力にログを出力し、端末が色付けに 対応していれば、エラーと警告に印をつけるように色が使われます。 ログの色付けは環境変数 AV_LOG_FORCE_NOCOLOR または NO_COLOR をセットすることで無効にでき、 また環境変数 AV_LOG_FORCE_COLOR をセットすることで強制できます。 環境変数 NO_COLOR の利用は非推奨で、今後の Libav のバージョンでは なくなる予定です。

3 AVOptions

これらのオプションは libavformat、libavdevice および libavcodec によって 直接提供されています。利用できる AVOptions の一覧を見るには、‘-help’ オプションを使ってください。これらは2つのカテゴリーに分けられます:

generic

これらのオプションはどのコンテナ、コーデック、またはデバイスでも設定できます。 Generic オプションはコンテナ/デバイスについては AVFormatContext オプションの 下に、コーデックについては AVCodecContext オプションの下にあります。

private

これらのオプションは特定のコンテナ、デバイス、またはコーデック専用のものです。 Private オプションは対応するコンテナ/デバイス/コーデックの下にあります。

例えば既定の ID3v2.4 の代わりに ID3v2.3 ヘッダを MP3 ファイルに書き込むには、 MP3 ミュクサーの ‘id3v2_version’ という private オプションを使って ください:

avconv -i input.flac -id3v2_version 3 out.mp3

全てのコーデックの AVOptions は明らかにストリームごとなので、ここには ストリーム指定子のチャプターの説明が適用されます。

注意として、‘-nooption’ 構文はブール値の AVOptions では使えないので、 ‘-option 0’/‘-option 1’ を使ってください。

注意2として、v/a/s をオプション名の前に付けてストリームごとの AVOption を 指定するという、従来の文書化されていない方法は、現在非推奨で近いうちに削除されます。