Doc / menc-feat-selecting-codec


Doc / menc-feat-selecting-codec
2010-03-15 (月) 07:26:38更新
カテゴリ[[:]]
原文:http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-selecting-codec.html

13.1. コデックとコンテナフォーマットの指定

エンコードするAudio と video コデックは、それぞれ -oac 、 -ovc オプションで指定する。例えば次のようにタイプしてみよう:

mencoder -ovc help

これであなたのマシンに入っているMEncoderがサポートするビデオコデックのリストが出て来る。 選択肢は以下のとおり:

(*例えばlameはMEncoderをビルドする前に入れておかないと出てこない*)

Audio Codecs:

Audio codec nameDescription
mp3lameVBR, ABR, CBR のMP3エンコードにLAMEを使う
lavclibavcodecの音声コデックを使う(*コデック名はlavcoptsで選択する*)
faacFAAC AAC audio encoder
toolameMPEG Audio Layer 2 encoder
twolameMPEG Audio Layer 2 encoder based on tooLAME
pcmUncompressed PCM audio
copyエンコードしない。単純コピー

Video codecs:

Video codec nameDescription
lavclibavcodecの映像コデックを使う(*コデック名はlavcoptsで選択する*)
xvidXviD, MPEG-4 Advanced Simple Profile (ASP) codec
x264x264, MPEG-4 Advanced Video Coding (AVC), AKA H.264 codec
nuvnuppel video, リアルタイムアプリケーションの中にこれを使うものがある
raw非圧縮ビデオフレーム
copyエンコードしない。単純コピー
frameno3-pass エンコードに使う (非推奨)

出力するコンテナフォーマットは-ofオプションで指定する。

mencoder -of help

これであなたのマシンに入っているMEncoderがサポートするコンテナフォーマットのリストが出て来る。 選択肢は以下のとおり:

Container formats:

Container format nameDescription
lavflibavformatがサポートするコンテナフォーマットを使う(*コンテナ形式はlavfoptsで選択する*)
aviAudio-Video Interleaved
mpegMPEG-1 and MPEG-2 PS
rawvideoraw video stream (no muxing - one video stream only)
rawaudioraw audio stream (no muxing - one audio stream only)

MEncoderのネイティブコンテナはAVI。これはMEncoderがもっともウマく扱えるのはAVIであり、その為に作られたソフトだと言う事。上記の通りほかのコンテナも作れるが、問題があり得る。

libavformat containers:

-of lavfオプションで出力ファイルのmuxにlibavformatを選んだ場合、出力ファイルの拡張子から適切なコンテナフォーマットが決められる。libavformatの format オプションで特定コンテナへの出力を強制できる。

libavformat container nameDescription
mpgMPEG-1 and MPEG-2 PS
asfAdvanced Streaming Format
aviAudio-Video Interleaved
wavWaveform Audio
swfMacromedia Flash
flvMacromedia Flash video
rmRealMedia
auSUN AU
nutNUT open container (試験的実装段階。まだ規格適合性は低い)
movQuickTime
mp4MPEG-4 format
dvSony Digital Video container

上記のとおり、libavformatでかなり多くのコンテナにmuxできる。しかし残念ながらMEncoderはもともとAVI以外のコンテナをサポートする目的では作られていないので、出力結果はかなり悩ましいものになるだろう。audio/video の同期がちゃんとしているか、MPlayer以外のプレイヤでも正しく再生できるか、必ず確認して下さい。

Example:

Macromedia Flash pluginつきのブラウザで再生できるMacromedia Flash videoの作成コマンド例:

mencoder input.avi -o output.flv -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc \
-lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 \
-srate 22050