TMPGEnc Video Mastering Works 5 体験版 part2
TMPGEnc Video Mastering Works 5体験版いじってみたの続き。
本題のエンコードの設定についてですな。
x264のオプションとの対応関係を書いてるけど、全部正しいか確認したわけではないので、個人的な「これのことじゃないかな」ってぐらいの推定であることに注意してください。まあ、よくわからないときはMediaInfo使って確認したりしたので、あっているとは思うけど。
本題のエンコードの設定についてですな。
x264のオプションとの対応関係を書いてるけど、全部正しいか確認したわけではないので、個人的な「これのことじゃないかな」ってぐらいの推定であることに注意してください。まあ、よくわからないときはMediaInfo使って確認したりしたので、あっているとは思うけど。
とりあえず、MP4(AVC)出力を選択。
こんな画面が出る。
クリックで拡大
このままではx264の詳細設定はできない。
で、ここがわかりにくいんだけど、上で赤く丸を付けたMPEG出力へ移行をクリックすると、x264の詳細設定ができるようになる。
まずは映像設定タブ。
基本的な設定ができる。
クリックで拡大
映像エンコーダにはx264、プロファイルはHighを選択。
パフォーマンスのところがx264の--presetにあたり、ここを変更すると、詳細設定のほうに反映されるようになっているようだ。
レート調整モードのところで、エンコード品質を決定できる。
CBR(固定ビットレート)の設定はこんな感じ。
クリックで拡大
つづいて、VBR(平均ビットレート)はこんな感じ。
クリックで拡大
x264でいうところの --bitrate の設定だろう。--2passとかもできる。
で、一番重要なVBR(品質固定)
x264だと--crfの設定になる。
ちょっと値のとり方が違っていて、TVMW5の品質はx264と異なり、大きいほど高画質になる。次のような計算式でcrfに変換される。何回か違う品質で出力してみた結果による推定。
(crfの値) = (-1 × (TVMW5の品質) ÷ 2) + 51
つまり品質50だと--crf 26、品質62で --crf 20となる。
品質100にしても--crf は 1 なので、--crf 0とかはできない。
最大ビットレートは--vbv-maxrateとして設定される。
まあ音声の設定はおいとくとして、次にGOP設定タブ。
x264との対応関係は
最大参照フレーム数
--ref
GOPの標準フレーム数
--keyint
GOP内でのBピクチャ数
--bframes
シーンチェンジを検出する
チェック外せば--no-scenecut
シーンチェンジ検出感度
--scenecut
で、次に詳細設定タブ。ここがx264の詳細設定。
長い…
【詳細設定】
【MP4オプション】
ストリーミング向けで出力する
必要ならばBaseline Low-Complexity プロファイル情報を出力する
【特殊設定】
キーフレーム設定を情報ファイルに出力する
色差チャンネルにローパスフィルタを適用する
【映像の設定】
ビデオフォーマット
---videoformat
原色
--colorprim
転送特性
--transfer
マトリックス係数
--colormatrix
VBVバッファ初期充填率
--vbv-init
Pピクチャの相対品質
--ipratio
Bピクチャの相対品質
--pbratio
【動き検索の設定】
動き検索タイプ
--me
動き検索範囲
--merange
【MPEG4 AVCの詳細設定】
スライス数
--slices
8x8トランスフォーム許可
--8x8dct
制約付きイントラ予測
--constrained-intra
最小クォンタイザ値
--qpmin
最大クォンタイザ値
--qpmax
色差QPオフセット
--chroma-qp-offset
量子化行列
--cqm
デブロッキングフィルタモード
デブロッキングフィルタ Alpha係数
デブロッキングフィルタ Beta係数
--deblock
ダイレクトモード予測
--direct
重み付け予測モード (Pピクチャ)
--weightp
重み付け予測モード (Bピクチャ)
--weightb
許可するマクロブロックモード
--partitions
【x264の詳細】
スライスをスレッドで処理する
--slice-threads
決定論的処理を行う
--deterministic
視覚心理最適化を行う
--psy
動き検索で色差を考慮する
--chroma-me
混合参照を行う
--mixed-ref
高速 P-skip 処理を行う
--fast-pskip
DCT係数削減を行う
--dct-decimate
マクロブロックツリー最適化を行う
--mbtree
Bフレーム ピラミッドモード
--b-pyramid
適応Bフレーム挿入
--b-adapt
適応Bフレーム挿入の傾向
--b-bias
サブピクセル動き予測モード
--subme
レート歪み最適化による量子化
--trellis
視覚的心理適応QPのモード
--aq-mode
分散ってのはVAQですね。
視覚的心理適応QP強度
--aq-strength
視覚的心理最適化のRD強度
視覚的心理最適化のTrellis強度
--psy-rd
スレッドの先行検査フレーム数
--sync-lookahead
動きベクトル最大長
--mvrange
動きベクトルスレッド間バッファ
--mvrange-thread
ビットレート変動の許容度
--ratetol
レートコントロールの先行検査フレーム数
--rc-lookahead
イントラ量子化デッドゾーン
--deadzone-intra
インター量子化デッドゾーン
--deadzone-inter
QPカーブコンプレッション
--qcomp
QP事前カーブコンプレッション
--cplxblur
QP事後カーブコンプレッション
--qblur
ノイズ除去
--nr
まあ、ざっとこんなもんかな…
(2010.12.23追記)
途中までこちら>>にあるx264の詳細設定を見ながら書いていたため、イントラリフレッシュ(--intra-refresh)があるようなことを書いていましたが、体験版では削られていました。設定できないようです。間違ったこと書いててすまん。
あとは、エンコード開始するだけ。
エンコード中の様子。
クリックで拡大
「x264エンコーダ有効」
タスクマネージャを見ると、本体とは別にプロセスが起動してエンコードしている様子がわかる。残念なのは32bitだということ。64bitならもっと速いのに…
CPU使用率を見ると、x264のマルチスレッド対応の良さが発揮されている。
フィルタはインターレース解除(24fps化)しかかけていないということもあるだろうけど。
クリックで拡大
出力されたmp4をMediaInfoで覗くと、エンコード設定を見ることができる。わからなかったオプションの対応関係はこれを使って調べた。
念のために書いとくと、上のスクリーンショットからは多少変更してエンコードしたものなので、meがumhになってたりする。
クリックで拡大
もちろん、x264を使っているから、画質はよく、圧縮率も高い。
とりあえず、こんなもんで。
TMPEGEncのいいところは、簡単に動画を取り込むことができて、プレビューが高速なところ。以前はH.264エンコードが残念で、x264vfwとか使ってたりしたけど、x264が使えるとなるとかなり強力な動画編集・変換のソフトウェアといえると思う。x264の細かいところまで設定できて、いいかなと。
ただ、--min-keyintとか見当たらないけど。どこいった。
私はNVIDIAのGPUを持っていないので、CUDAによるH.264エンコードは試せないし、CUDAによるフィルタリングも試せない。たいていGPUによるH.264エンコードって残念なのが多い(x264と比べると画質の割にやたら容量食ったりする)ので、まあそれはおいといて、CUDAによるフィルタリング + x264によるH.264エンコードっていうのは高速化という点では期待できるのかなと思う。
あとは、体験版だとできないけど、TMPEGEncはバッチ処理ができて、それを自動的に並列でいくつかのバッチを走らせることができるから、効率よくエンコードできるはず。
フィルタは…どうなんだろ。よくわからないけど。
残念なのは、さっきも言ったけど、64bitではない点。もっと速くなるのになー。
こんな感じで、売り物だけあって相当優秀なんだけど、個人的には、Aviutlの自動フィールドシフトとか、色域変換とか、ロゴ消しとか、エッジレベル調整とかが気に入ってるし、FAWとかも使うしで、結局Aviutl使うと思う。
試用期間は2週間なので、いろいろ遊んでみようと思う。
x264以外のH.264エンコーダとかも使えるみたいだし。
こんな画面が出る。
クリックで拡大
このままではx264の詳細設定はできない。
で、ここがわかりにくいんだけど、上で赤く丸を付けたMPEG出力へ移行をクリックすると、x264の詳細設定ができるようになる。
まずは映像設定タブ。
基本的な設定ができる。
クリックで拡大
映像エンコーダにはx264、プロファイルはHighを選択。
パフォーマンスのところがx264の--presetにあたり、ここを変更すると、詳細設定のほうに反映されるようになっているようだ。
レート調整モードのところで、エンコード品質を決定できる。
CBR(固定ビットレート)の設定はこんな感じ。
クリックで拡大
つづいて、VBR(平均ビットレート)はこんな感じ。
クリックで拡大
x264でいうところの --bitrate の設定だろう。--2passとかもできる。
で、一番重要なVBR(品質固定)
x264だと--crfの設定になる。
ちょっと値のとり方が違っていて、TVMW5の品質はx264と異なり、大きいほど高画質になる。次のような計算式でcrfに変換される。何回か違う品質で出力してみた結果による推定。
(crfの値) = (-1 × (TVMW5の品質) ÷ 2) + 51
つまり品質50だと--crf 26、品質62で --crf 20となる。
品質100にしても--crf は 1 なので、--crf 0とかはできない。
最大ビットレートは--vbv-maxrateとして設定される。
まあ音声の設定はおいとくとして、次にGOP設定タブ。
x264との対応関係は
最大参照フレーム数
--ref
GOPの標準フレーム数
--keyint
GOP内でのBピクチャ数
--bframes
シーンチェンジを検出する
チェック外せば--no-scenecut
シーンチェンジ検出感度
--scenecut
で、次に詳細設定タブ。ここがx264の詳細設定。
長い…
【詳細設定】
【MP4オプション】
ストリーミング向けで出力する
必要ならばBaseline Low-Complexity プロファイル情報を出力する
【特殊設定】
キーフレーム設定を情報ファイルに出力する
色差チャンネルにローパスフィルタを適用する
【映像の設定】
ビデオフォーマット
---videoformat
原色
--colorprim
転送特性
--transfer
マトリックス係数
--colormatrix
VBVバッファ初期充填率
--vbv-init
Pピクチャの相対品質
--ipratio
Bピクチャの相対品質
--pbratio
【動き検索の設定】
動き検索タイプ
--me
動き検索範囲
--merange
【MPEG4 AVCの詳細設定】
スライス数
--slices
8x8トランスフォーム許可
--8x8dct
制約付きイントラ予測
--constrained-intra
最小クォンタイザ値
--qpmin
最大クォンタイザ値
--qpmax
色差QPオフセット
--chroma-qp-offset
量子化行列
--cqm
デブロッキングフィルタモード
デブロッキングフィルタ Alpha係数
デブロッキングフィルタ Beta係数
--deblock
ダイレクトモード予測
--direct
重み付け予測モード (Pピクチャ)
--weightp
重み付け予測モード (Bピクチャ)
--weightb
許可するマクロブロックモード
--partitions
【x264の詳細】
スライスをスレッドで処理する
--slice-threads
決定論的処理を行う
--deterministic
視覚心理最適化を行う
--psy
動き検索で色差を考慮する
--chroma-me
混合参照を行う
--mixed-ref
高速 P-skip 処理を行う
--fast-pskip
DCT係数削減を行う
--dct-decimate
マクロブロックツリー最適化を行う
--mbtree
Bフレーム ピラミッドモード
--b-pyramid
適応Bフレーム挿入
--b-adapt
適応Bフレーム挿入の傾向
--b-bias
サブピクセル動き予測モード
--subme
レート歪み最適化による量子化
--trellis
視覚的心理適応QPのモード
--aq-mode
分散ってのはVAQですね。
視覚的心理適応QP強度
--aq-strength
視覚的心理最適化のRD強度
視覚的心理最適化のTrellis強度
--psy-rd
スレッドの先行検査フレーム数
--sync-lookahead
動きベクトル最大長
--mvrange
動きベクトルスレッド間バッファ
--mvrange-thread
ビットレート変動の許容度
--ratetol
レートコントロールの先行検査フレーム数
--rc-lookahead
イントラ量子化デッドゾーン
--deadzone-intra
インター量子化デッドゾーン
--deadzone-inter
QPカーブコンプレッション
--qcomp
QP事前カーブコンプレッション
--cplxblur
QP事後カーブコンプレッション
--qblur
ノイズ除去
--nr
まあ、ざっとこんなもんかな…
(2010.12.23追記)
途中までこちら>>にあるx264の詳細設定を見ながら書いていたため、イントラリフレッシュ(--intra-refresh)があるようなことを書いていましたが、体験版では削られていました。設定できないようです。間違ったこと書いててすまん。
あとは、エンコード開始するだけ。
エンコード中の様子。
クリックで拡大
「x264エンコーダ有効」
タスクマネージャを見ると、本体とは別にプロセスが起動してエンコードしている様子がわかる。残念なのは32bitだということ。64bitならもっと速いのに…
CPU使用率を見ると、x264のマルチスレッド対応の良さが発揮されている。
フィルタはインターレース解除(24fps化)しかかけていないということもあるだろうけど。
クリックで拡大
出力されたmp4をMediaInfoで覗くと、エンコード設定を見ることができる。わからなかったオプションの対応関係はこれを使って調べた。
念のために書いとくと、上のスクリーンショットからは多少変更してエンコードしたものなので、meがumhになってたりする。
クリックで拡大
もちろん、x264を使っているから、画質はよく、圧縮率も高い。
とりあえず、こんなもんで。
TMPEGEncのいいところは、簡単に動画を取り込むことができて、プレビューが高速なところ。以前はH.264エンコードが残念で、x264vfwとか使ってたりしたけど、x264が使えるとなるとかなり強力な動画編集・変換のソフトウェアといえると思う。x264の細かいところまで設定できて、いいかなと。
ただ、--min-keyintとか見当たらないけど。どこいった。
私はNVIDIAのGPUを持っていないので、CUDAによるH.264エンコードは試せないし、CUDAによるフィルタリングも試せない。たいていGPUによるH.264エンコードって残念なのが多い(x264と比べると画質の割にやたら容量食ったりする)ので、まあそれはおいといて、CUDAによるフィルタリング + x264によるH.264エンコードっていうのは高速化という点では期待できるのかなと思う。
あとは、体験版だとできないけど、TMPEGEncはバッチ処理ができて、それを自動的に並列でいくつかのバッチを走らせることができるから、効率よくエンコードできるはず。
フィルタは…どうなんだろ。よくわからないけど。
残念なのは、さっきも言ったけど、64bitではない点。もっと速くなるのになー。
こんな感じで、売り物だけあって相当優秀なんだけど、個人的には、Aviutlの自動フィールドシフトとか、色域変換とか、ロゴ消しとか、エッジレベル調整とかが気に入ってるし、FAWとかも使うしで、結局Aviutl使うと思う。
試用期間は2週間なので、いろいろ遊んでみようと思う。
x264以外のH.264エンコーダとかも使えるみたいだし。