2007/11/01追記:x264cli svn-680に準拠した本記事のアップデートがこちらにあります。
MeGUI | x264cli | MEncoder | 常用値 (MEncoder) |
|
---|---|---|---|---|
![]() |
Deblocking: デコード中のインループ・デブロッキング・フィルタを使用。指定範囲は二つとも -6 から 6の範囲。Deblocking strength はデブロック強度、 Deblocking Threshold はデブロックをかける映像の量を指定する。 | --no-deblock -f, --deblock <alpha:beta> |
(no)deblock deblock=<-6-6>,<-6-6> |
deblock(使用) 0,0 |
Enable PSNR
calculation:
このボックスをチェックすると、x264 はログに PSNR情報をジョブの終了後に書き出す。若干遅くなる。 |
--no-psnr | (no)psnr | psnr(使用) | |
Number of
threads:
マルチコア・システムを持っている場合に、この値を増やしてそのメリットを活かす。複数のフレームを同時に処理できる。マルチスレッド化に伴う画質劣化は
取るに足りない。推奨値は 0。これで x264
はCPUのコア数を検知して最適なスレッド数を使う。このオプションを使うには、MeGUI settingsの Automatically
set
number of threads をdisableにすること。 |
--threads <integer> | threads=<1-16> | 1st,2 2nd,16 参考 |
|
fourCC: AVI
などのコンテナがコデック判定に使う4CCの指定。 |
対応なし | 対応なし | 非使用 | |
AVC profiles:
この設定は、AVCの特定プロファイルに沿った設定をする際の助けとなる。選択されたプロファイルを超えるオプションが指定できなくなる。 |
対応なし | 対応なし | 参考 | |
AVC Level: 特定のAVCレベルに沿ったエンコードをしたい場合に使う。 選択されたレベルでは使えないオプションを指定出来なくするようにはしないので、ツールメニューの "Validate AVC level" でチェックする事。 | --level <string> | level_idc=<10-51> | 参考 |
MeGUI | x264cli | MEncoder | 常用値(MEncoder) | |
---|---|---|---|---|
![]() |
Zones:
Zoneの使い方はこのドキュメントの目的を超えるが、ここでzoneの定義と適用する
Quantizer または重み付けを指定する。 |
--zones | zones | 非使用 |
Custom Commandline Options: x264(cli)の追加コマンドを使いたい場合はここに入力する。x264(cli)に新しい機能が追加されたが、MeGUI のアップデートがまだの際などに使う。 |
MeGUI | x264cli | MEncoder | 常用値 (MEncoder) |
|
---|---|---|---|---|
![]() |
VBV Buffer Size: VBV Bufferの最大サイズ | --vbv-bufsize <integer> | vbv_bufsize=<value> (ABR or two pass) |
未指定(default) |
VBV Maximum Bitrate: Video Buffer Verifierの最大ローカルビットレート | --vbv-maxrate <integer> | vbv_maxrate=<value> (ABR or two pass) |
未指定(default) | |
VBV Initial
Size: VBV bufferのイニシャル占有率。 1.0 = full, 0.0 = empty。 |
--vbv-init <float> | vbv_init=<0.0-1.0> (ABR or two pass) |
未指定(default) | |
Bitrate Variance:
ビットレートの変動範囲。 1.0 = pure VBR, 0.0 = pure CBR |
--ratetol <float> | ratetol=<0.1-100.0> (ABR or two pass) |
4。 番組ごとに地味にサイズが変わる。 |
|
Quantizer
Compression: quantizerの変動範囲。 1.0 = pure CQ, 0.0 = maximum change |
--qcomp <float>か? | qcomp=<0-1> か? (ABR or two pass) |
未指定(default) | |
Temp. Blur
of est. Frame complexity: curve compression(*不詳*)の前にquantizer curveに適用する時間軸ブラーのレベル。時間軸ブラーは量子化程度の一貫性をもたらす。この値を増やすと、映像は真のCQに近づく。 (*適用量子化値の急激な変動を多少滑らかにするものか*) |
--cplxblur <float> | cplx_blur=<0-999> (two pass only) |
未指定(default) | |
Temp. Blur
of Quant after CC: curve compression(*不詳*)の後でquantizer curveに適用する時間軸ブラーのレベル。この値を増やすと、映像はCQに近づく。 |
--qblur <float> | qblur=<0-99> (two pass only) |
未指定(default) | |
Chroma ME:
動き予測の際に、彩度情報も動きの検出に使う |
--no-chroma-me | (no)chroma_me | chroma_me(使用) 要、subq>=5 |
|
ME Range: 動き予測機構が使
う最大捜索範囲(マクロブロックの中で) |
--merange <integer> | me_range=<4-64> | 1st,16 2nd,32 実用範囲16-32程度 |
|
Scene Change Sensitivity:
シーンチェンジと看做すフレーム間の変更をパーセンテージで指定。範囲0-100。-1はシーンチェンジ検出なし。 |
--scenecut <integer> | scenecut=<-1-100> | 実写40(default) アニメ65 |
|
ME Algorithm: 動き予測
に使うサーチアルゴリズムの選択。Exhaustiveはピクセル単位となり、凄まじく遅い。 |
--me <string> | me=<name> | 1st,(turbo) 2nd,umh |
|
Subpixel refinement:
サブピクセル予測に使うアルゴリズムとパーティション決定に使う方式の選択。RDO (Rate Distortion Optimisation)
を選ぶとBフレームにRDOを使う。 |
-m, --subme <integer> | subq=<1-7> | 1st,(turbo) 2nd,7 |
|
Keyframe Interval:
I-frames間の最大間隔 |
I, --keyint <integer> | keyint=<value> | 240または300 | |
Min GOP size: I-frames 間の最小間隔 | -i, --min-keyint <integer> | keyint_min=<1-keyint/2> | 実写,24または30 アニメ1 |
|
Noise reduction: プ リプロセス・ノイズリダクション。0 = disabled。 | --nr <integer> | nr=<0-100000> | 非使用 |
MeGUI | x264cli | MEncoder | 常用値 (MEncoder) |
|
---|---|---|---|---|
![]() |
Quantizers | |||
Minimum Quantizer: x264が使う最大量子化値 | --qpmin <integer> | qp_min=<1-51> (ABR or two pass) |
10 | |
Maximum Quantizer: x264が使う最小量子化値 | --qpmax <integer> | qp_max=<1-51> (ABR or two pass) |
51 | |
Maximum Quantizer Delta: 連続フレーム間における量子化値の最大変動幅 | --qpstep <integer> | qp_step=<1-50> (ABR or two pass) |
実写4 アニメ8 |
|
Credits Quantizer: For use if you set the credit starting point in the preview window. | 不詳 | 不詳 | 不詳 | |
Factor Between I and P frame Quants: IフレームとPフレームの量子化値換算 係数。Iに適用された平均量子化値にここの値を掛けたものがPに適用される。 | --ipratio <float> | ip_factor=<value> | 未指定(default) | |
Factor between P and B frame Quants: P フレームとBフレームの量子化値換算係数。Pに適用された平均量子化値にここの値を掛けたものがBに適用される。 | --pbratio <float> | pb_factor=<value> | 未指定(default) | |
Chroma QP Offset: 輝度に適用する量子化値と彩度に適用する量子化値のオフセット。 | --chroma-qp-offset <integer> | chroma_qp_offset=<-12-12> | 未指定(default) | |
Quant Options | ||||
Trellis: Trellis RDO の適用。最終マクロブロックのみか、常時かを選択。要CABAC | -t, --trellis <integer> | trellis=<0-2> | 2 要CABAC |
|
Number of Reference Frames: 複数参照フレームの最大数。 |
-r, --ref <integer> | frameref=<1-16> | 1st,(turbo) 2nd,4 |
|
Mixed: マクロブロック・パーティション単位で参照フレームを個別に選べるようにする。 |
--mixed-refs | (no)mixed_refs | mixed_refs (使用) |
|
CABAC: 圧縮効率の高い encoding stream syntaxを使う。 | --no-cabac | (no)cabac | cabac(使用) | |
No DCT Decimation: | --no-dct-decimate | (no)dct_decimate | nodct_decimate (非使用) |
|
No Fast P-Skip: スキップ検出の非使用。画質向上 |
--no-fast-pskip | (no)fast_pskip | nofast_pskip (非使用) |
|
Quantization matrix: 使用するカ
スタム量子化マトリクスを指定。You must specify the custom matrix. (*mustの意味不明*) |
--cqm <string> --cqmfile <string> |
cqm=<flat|jvt|<filename>> | JVT | |
Macroblock Options: 各 マクロブロックパーティションの使用可否 | -A, --partitions <string> | partitions=<list> | 1st,(turbo) 2nd,all |
|
B-Frames: | ||||
Number of B-Frames: B-Frames (B-VOPs)の最大連続数 | -b, --bframes <integer> | bframes=<0-16> | 3 | |
Adaptive B-Frames: B-Frames の連続枚数を映像内容に応じて自動調節。 | --no-b-adapt | (no)b_adapt | b_adapt (使用) |
|
B-Pyramid: B-Frames も参照フレームに使う | --b-pyramid | (no)b_pyramid | b_pyramid (使用) |
|
RDO for B-Frames: B-Frames にRDOアルゴリズムを使う | --b-rdo | (no)brdo | brdo(使用) 要subq=6以上 |
|
Weighted Bi-Prediction: B-frames を参照フレームに使うかどうかの精度が高まる | -w, --weightb | (no)weight_b | weight_b (使用) |
|
Bidirection ME: 動き予測の精度最適化に前後両方向の時間軸を使う。 |
--bime | bime | bime (使用) |
|
B-Frame Mode: B-Framesのモーションベクトル予測方式。Autoでフレーム毎に最適な方式を選ぶ。 |
--direct <string> | direct_pred=<name> | auto | |
B-Frame bias: B-Framesの挿入傾向を調整。高い程Bを使う傾向が増える。低い程減る。 |
--b-bias <integer> | b_bias=<-100-100> | 未指定(default) |
コンテナは全てのものを統合するパートです。映像(実際の画像)、オーディオ、その他に必要なものは全てコンテナの中に入れておく必要があります。複数のファイルをZipアーカイブの中に入れるような感じです。
コンテナが必要な理由は次のようなものです:
サブページ「コンテナ(英文試訳)」に様々なコンテナの情報があります。
ビデオストリームには実際に表示される映像データが入っています(ここで"動画ファイル"と言う場合はオーディオとビデオが入ったものを指します。"ビデオストリーム"は映像のみの場合に使います)。ひらたく言うと、圧縮された映像です。
これも Matroska のみの機能。 SSA/ASS字幕をmuxする時に、小洒落たフォントを使いたいがそれが再生されるコンピュータにあるとは限らない、といった事があります。Matroskaファイルのそのフォントをアタッチしてしまえば、vsfilter(デファクトのdirectshow用字幕レンダラ)がそのフォントを使って字幕を再生してくれます。
これが何なのかは説明する必要はないでしょう。フォーマットによりチャプタのスタイルは異なります。以下はMatroskaの例です。
<Chapters>
<EditionEntry>
<EditionUID>1</EditionUID>
<EditionFlagHidden>1</EditionFlagHidden>
<EditionFlagDefault>0</EditionFlagDefault>
<ChapterAtom>
<ChapterUID>1</ChapterUID>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
<ChapterDisplay>
<ChapterString>Part A</ChapterString>
<ChapterLanguage>eng</ChapterLanguage>
</ChapterDisplay>
<ChapterTimeStart>00:00:00.000000000</ChapterTimeStart>
</ChapterAtom>
<ChapterAtom>
<ChapterUID>2</ChapterUID>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
<ChapterDisplay>
<ChapterString>Part B</ChapterString>
<ChapterLanguage>eng</ChapterLanguage>
</ChapterDisplay>
<ChapterTimeStart>00:09:48.000000000</ChapterTimeStart>
</ChapterAtom>
</EditionEntry>
やっかいですね。次はOGG フォーマットのチャプタです:
CHAPTER01=00:00:00.000
CHAPTER01NAME=Chapter 1
非常に簡単です。もちろん、Matroskaのほうが機能が豊富です。ここでは深入りしませんが、オーダード・チャプタについてだけ少し解説しておきます。
再生時に、動画ファイルの一部分として、他のmatroskaファイルを参照するチャプタ。例えば、TVシリーズをエンコードしたとしましょう。まず、全エピソードのオープニングとエンディングをカットしてそれぞれ独立したファイルを2個作ります。次に、本編ファイルにオーダード・チャプタを使えば、再生時にオープニングとエンディングを自動的に再生してくれます。
MKV と MP4コンテナに埋め込める機能。再生時に使うアスペクト(*縦横*)比の値、 anamorphic再生とも言います。例えば、16:9の映画を4:3のアスペクト比でエンコードした場合、MKVにmuxする際に再生時のアスペクトを 16/9と指定してやれば、再生ソフトは自動的にそのアスペクト比にリサイズして再生してくれます。
Layer 2: 別名MP2。かなり稀少。その名称からMP3の方が良いと思う人が多いのだろう。Wikipedia(英文)によると、256kbits以上では MP3 よりも音が良い。
Layer 3: MP3と呼ぶほうが有名。これはオーディオ・フォーマッ トの .avi であり、最も互換性が高い。音質は'平均的'。すなわち、全てのフォーマットのうちでいちばん悪い。しかしファイルはとても小さくなるので、単にビット レートを上げればしあわせになれる。エンコードは LAME (LAME Ain't an MP3 Encoder ~ これは頭文字からつくった名称だから無視していい。LAME は MP3 エンコーダだ)。
AAC、 別名Advanced Audio Coding、別 名MPEG-4 Part 3、別名MPEG-2 Part 7(まぁ、AACでいいだろう)詳細はwikipedia(英文) 。音質はMP3よりも良い。恐らく他のどのコデックより良いだろう。
AACには三種類の 'プロファイル' がある。LC (Low Complexity)、HE (high efficiency)、そして HEv2 (High Effiency version 2)。LC は"ノーマルな"プロファイル。一般的なAACファイルはLCだ。もしも概ね64kbits以下でエンコードするなら(大体の目安。Neroは75- 80kbit程度を使う)、HEにしても良いだろう。このレベルのビットレートではその方が音が良い。同様に、さらに40kbits程度まで下げるなら HEv2を。
ただし、これは理想の話。現実には、作成できるプロファイルに制限のあ るAACエンコーダもある。また、256kbitのAAC-HEv2ファイルを作る理由も無い。そうしたものは256kbitのAAC-LCより音が良い わけでは無く、再生互換性の問題も生じるからだ。再生できるプロファイルに制限のあるデコーダもある(現時点では、まさにiTunes/iPodsだけがHE および HEv2プロファイルをサポートしていない。おそらく将来は対応するだろう。たぶん)。
AACが定義するその他のプロファイルとしては、Main profileとLong Term Prediction (LTP)がある。これらはどちらも非常に面白いのだがツールはほとんど無い。ほぼFAACのみだ。
主なAACエンコーダは三つある(他にもあるがこれらが一般的だ)。
完全にパテントフリーのオーディオコデックで、音質はAACに肉薄する。各所のテストで一等と評価される事もある。'ふつうの'ビッ トレートでは違いはぎりぎり首の差だ。一般的に Ogg Vorbisと呼ばれるが、ここではオーディオコデックのみを指す Vorbisと呼ぶ。というのは他のコンテナで使う事もあるからだ。Oggはコンテナの名前で、一般的にはVorbisはこれに入っている事が多い (.ogg)。Vorbis は、Xiph organizationが他の変なコデックと一緒に開発している。一般的なコデックは一つも無い。
DolbyスタジオによるATSC A/52 規格に準拠したもの。Dolby Digital AC3 は、Dolbyの、基本的にはロシー(*ロスレスの逆*)なオーディオコデックだ。彼らが長年開発している包括的なコデック群のひとつ。DVDと、大半の Digital TV放送でスタンダードに使われている。もしも 音声がAC3 audio のファイルがあったら、通常は音声は素材のままと思って良いだろう。それが望み得る最善の音質だ。しかしながら、ほかのロシーコデックと比べると、非常に 非効率的でディスクスペースを喰う。
DTS (Digital Theater Systems) は極めて高ビットレートのオーディオコデックで、エンコードにおいては先ず使われない。DVD規格の公式コデックだが、対応は必須では無いのでDTSをデ コードできないDVDプレイヤもある。巨大なもの (768 kbps) とむちゃむちゃ巨大なもの (1,536 kbps)の二通りがある。448kbitの 5.1 AC3 の方が768kbitの 5.1 DTSよりも音が良い事に注意。ひらたく云うと、ディスクスペースの無駄でしか無く、これファイルに突っ込むヤツは切腹すベシ。
1
00:00:20,000 --> 00:00:24,400
In connection with a dramatic increase
in crime in certain neighbourhoods,
Style: Default,Arial,40,16777215,16777215,16777215,-2147483640,-1,0,1,1,1,2,30,30,25,0,0
Dialogue: Marked=0,0:25:50.40,0:25:53.06,*Default,Comment,0000,0000,0000,,Kakarrot-o!!
Style: Batou,Century Gothic,28,&H00C0C0C0,&H00000000,&H00000000,&H7F000000,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,0
Dialogue: 0,0:13:00.11,0:13:03.77,Batou,,0000,0000,0000,,Both our faces aren't meant for mirrors.
timestamp: 00:18:40:752, filepos: 0000aa000
<TextSample sampleTime="00:03:35.980" xml:space="preserve">Please excuse me.</TextSample>