Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\xxxxx> |
オプション | 説明 |
---|---|
-input | エンコードするファイル名を指定。フォルダを指定した場合、その中にあるものがすべて対象になる。 |
-output | エンコード後のファイル名を指定。-inputがフォルダの場合は、出力フォルダを指定。 |
-loadprofile | プロファイル(.prx)を指定する。プロファイルとは、これ以下のさまざまな設定を1つのファイルにまとめたもので、これを使うとたくさんのオプションをダラダラ入力しなくてもすむ。 |
-a_codec |
音声のコーデックを指定する。 WMA9STD:普通はこれを使っておけばよい。 PCM:一応、非圧縮もある。 |
-a_mode |
音声について、どのモードで圧縮するか指定する。 0:1パスCBR。ネット配信に。 1:2パスCBR。ネット配信に。(高音質) 2:品質ベースVBR。音質固定で変換するので終わるまでファイルサイズが分からない。 3:平均ビットレート指定VBR。ファイルサイズ固定でDVDやCDに焼くときに。 4:平均&ピークビットレート指定VBR。3でビットレート上限を指定できる。 音声コーデックに PCM を指定すると 0 しか選べない。 |
-a_setting |
品質ベース以外では、ビットレート_サンプリングレート_チャンネルを指定。 例:128_48_2 → 128Kbps,48KHz,2ch 品質ベースの場合は、品質_サンプリングレート_チャンネルを指定 例:Q98_48_2 なおここの設定はどんな数字でも受け付けてもらえるわけではなく、-a_formats オプションで実行したときに表示されるリストから選ばなくてはならない。 ビデオカメラの音は48KHzなので、サンプリングレートが48の中から選ぶ方がよいと思われる。 |
-a_peakbitrate |
-a_mode 4 を選んだ場合に、ピークビットレートを指定する。 例:192000 → 192Kbps 平均レートの1.5〜2倍ぐらいでいいと思われる。デフォルトは1.5倍。 |
-a_peakbuffer |
-a_mode 4 を選んだ場合に、音声をバッファする時間 (ミリ秒) を指定する。 例:3000 → 3秒 あまり短いと音飛びの危険があるが、大きいと処理がもたつく(と思われる)。が、映像のバッファのほうが重要なのであまり気にしなくてよい。デフォルトは3秒。 |
-v_codec |
映像のコーデックを指定する。 例:WMV9 : WindowsMediaVideo9 プログレッシブの場合は WMV9 でいいのだが、WindowsMediaPlayer10を入れているとインターレースを使う場合は WindowsMediaVideo9 Advanced Profile を使わなければならない。が、該当する設定値が無い。(下のほうの英文和訳参照。)仕方が無いので WindowsMediaVideo9 Advanced Profile は上記の -loadprofile を使って設定する。 |
-v_mode |
映像について、どのモードで圧縮するか指定する。 0:1パスCBR。ネット配信に。 1:2パスCBR。ネット配信に。(高画質) 2:品質ベースVBR。画質固定で変換するので終わるまでファイルサイズが分からない。 3:平均ビットレート指定VBR。ファイルサイズ固定でDVDやCDに焼くときに。 4:平均&ピークビットレート指定VBR。3でビットレート上限を指定できる。部分的にビットレートが上がり過ぎるのを防止できるが、コマ落ちする危険がある。 映像コーデックに WindowsMediaVideo9 Advanced Profile を使うと、0,1,2 しか指定できなくなる。が、やってみるとわかるが事実上0,2しか使用できない。(下のほうの英文和訳参照。) |
-v_bitrate |
品質ベース以外の場合に、ビットレートを指定。 例:2000000 → 2Mbps |
-v_peakbitrate |
-v_mode 4 を選んだ場合に、ピークビットレートを指定する。 例:5000000 → 5Mbps 平均レートの1.5〜2倍ぐらいでいいと思われる。デフォルトは1.5倍。 |
-v_quality |
-v_mode でCBRを選んだ場合は、映像の滑らかさを 0〜100 の数字で指定する。 例:0 → 1枚1枚の絵が乱れてもコマ落ちなし 例:100 → コマ落ちしても1枚1枚の絵はきれい 個人の好みだが、私はいつも 0 を指定。 -v_mode 2(品質ベース)の場合は、画質を指定する。1,4,8,11,15,18,22,25,29,33,36,40,43,47,50,54,58,61,65,68,72,75,79,83,86,90,93,97,100 から選ぶ。 例:1 → 低画質、ファイルサイズ小 例:100 → 高画質、ファイルサイズ大 95を指定すると93として扱われる。 |
-v_peakbuffer |
-v_mode 4 を選んだ場合に、エンコード時、映像をバッファする時間 (ミリ秒) を指定する。 例:5000 → 5秒 大きいと処理がもたつく気がするが、細かい効果は不明。デフォルトは5秒。 |
-v_buffer |
再生時に映像をあらかじめメモリに格納しておく時間 (ミリ秒) を指定する。 例:5000 → 5秒 あまり短いとコマ落ちの危険があるが、大きいと処理がもたつく(と思われる)。デフォルトは5秒。 |
-v_framerate |
フレームレートを指定する。 例:29.97 → 29.97fps 29.97か59.94かどっちかしか使わないでしょう。 |
-v_keydist |
キーフレーム(MPEGで言うIフレーム)の間隔を指定する。 例:2 → 2秒 デフォルトは10秒。長いほうが画質には有利だが、シークバーで再生位置を指定したとき思った場所から再生が始まらなくてイライラする。 シーンチェンジのときはこの数字にかかわらずキーフレームが入るので、ランダムアクセスしないのならかなり長くしても大丈夫でしょう。 |
-v_preproc |
0:プログレッシブ(デフォルト) 16:インターレース・どっちが先か自動判定 17:トップファーストのインターレース 18:ボトムファーストのインターレース |
-pixelratio |
映像のピクセル縦横比を指定する。映像の縦横比ではないので注意。 例:4 3 → 4:3(1440x1080を映像16:9で表示させるとき) デフォルトは 1 1 。 |
-pixelformat | 入力映像のピクセル形式を指定する。ここではYUY2しか使わない。 ちなみに、出力映像のピクセル形式は、プログレッシブなら4:2:0、インターレースなら4:1:1にされてしまうらしい。 |
-v_performance |
エンコード時のコンピュータのパフォーマンス設定を指定する。0,20,40,60,80,100 から選ぶ。 例:0 → 高速、低画質 例:100 → 低速、高画質 0と100では信じられないほど所要時間が違う。が、数字が小さいと裏で別の処理をしたとき画面が乱れるような気が・・・(未検証)。 ここ一番は100でエンコードしたいが、とてもじゃないが1080iなど時間がかかりすぎてやってられない。 デフォルトは80?(未検証) |
-title -author -copyright -description | タイトル、作成者、著作権情報、概要を " " で囲って記述する。 |
cd C:\Program Files\Windows Media Components\Encoder cscript.exe wmcmd.vbs ナントカカントカ・・・・ cscript.exe wmcmd.vbs ナントカカントカ・・・・ cscript.exe wmcmd.vbs ナントカカントカ・・・・ shutdown -s |
1440x1080 30fps インターレース 映像12Mbps(CBR) 音声128Kbps(CBR) |
---|
cscript.exe wmcmd.vbs -loadprofile profiles\hdv.prx -input d:\sample\hdvsample.avi -output d:\sample\hdvsample.wmv -a_codec WMA9 -a_mode 0 -a_setting 128_48_2 -v_mode 0 -v_bitrate 12000000 -v_quality 0 -v_buffer 3000 -v_framerate 29.97 -v_keydist 10 -v_preproc 17 -pixelratio 4 3 -pixelformat YUY2 -v_performance 80 |
1440x1080 30fps インターレース 映像品質90 音声品質90 |
---|
cscript.exe wmcmd.vbs -loadprofile profiles\hdv.prx -input d:\sample\hdvsample.avi -output d:\sample\hdvsample.wmv -a_codec WMA9 -a_mode 2 -a_setting Q90_48_2 -v_mode 2 -v_quality 90 -v_buffer 3000 -v_framerate 29.97 -v_keydist 10 -v_preproc 17 -pixelratio 4 3 -pixelformat YUY2 -v_performance 80 |
余談ですが手持ちのサンプルは品質97で平均50Mbps、品質90で平均25Mbps、品質70で平均4.7Mbpsになりました。 |
1280x720 30fps プログレッシブ 映像5Mbps(VBR) 音声128Kbps(VBR) |
---|
cscript.exe wmcmd.vbs -input d:\sample\hdvsample.avi -output d:\sample\hdvsample.wmv -a_codec WMA9 -a_mode 3 -a_setting 128_48_2 -v_codec WMV9 -v_mode 3 -v_bitrate 5000000 -v_buffer 3000 -v_framerate 29.97 -v_keydist 10 -pixelratio 1 1 -pixelformat YUY2 -v_performance 100 |
1280x720 30fps プログレッシブ 映像品質90 音声品質90 |
---|
cscript.exe wmcmd.vbs -input d:\sample\hdvsample.avi -output d:\sample\hdvsample.wmv -a_codec WMA9 -a_mode 2 -a_setting Q90_48_2 -v_codec WMV9 -v_mode 2 -v_quality 90 -v_buffer 3000 -v_framerate 29.97 -v_keydist 10 -pixelratio 4 3 -pixelformat YUY2 -v_performance 100 |
1280x720 60fps プログレッシブ 映像5Mbps(VBR) 音声128Kbps(VBR) |
---|
cscript.exe wmcmd.vbs -input d:\sample\hdvsample.avi -output d:\sample\hdvsample.wmv -a_codec WMA9 -a_mode 3 -a_setting 128_48_2 -v_codec WMV9 -v_mode 3 -v_bitrate 5000000 -v_buffer 3000 -v_framerate 59.94 -v_keydist 10 -pixelratio 1 1 -pixelformat YUY2 -v_performance 100 |
Windows Media Video 9 Advanced Profile codec(以下、WMV9AP)は Windows Media Format 9.5 SDK か Windows Media Player 10 と 同時にインストールされる。 WMV9APで追加された項目の設定をするにはレジストリ操作が必要である。 なぜかというと、WMV9AP をインストールしても、 WME9がアップデートされていないのでWME9からは それらの設定項目を操作できないためである。 (訳者注:今後、WME9.5/WME10が登場するということか。) WMV9APで追加された項目の設定をするためのレジストリ項目は 必要に応じてユーザが自分で作る必要がある。 ほとんどのレジストリ設定は、 画質とデータサイズのトレードオフに関するものである。 レジストリ設定はWMV9APを使う全てのプログラムに反映される。 従来のロジックを書き換えてしまうものもあるが、 気に入らない場合はレジストリ設定を削除すれば元に戻る。 以下のレジストリキー以下に、項目を追加する: \\HKEY_CURRENT_USER\Software\Microsoft\Scrunch\WMVideo ■ノイズ除去オプション エンコード時にノイズ除去フィルタをかける。 これを使うと画質が落ちる場合もある。 名:DenoiseOption 型:REG_DWORD 値:0(フィルタを使わない) 1(フィルタを使う) ■高さと幅 ビデオ出力の中間フレームサイズを指定する。 デコード時にはプロファイルで指定したサイズへ展開される。 名:Encoding Height および Encoding Width 型:REG_DWORD 値:0(この設定を使わない) 32〜8192(サイズ指定。32間隔に丸められる) ■エンコード範囲縮小 有効な色の範囲を縮小する度合いを指定する。 データサイズを小さくできるが、画にボケが発生する。 この設定自体が無ければcodecはエンコード時に判定する。 通常はロービットレート時に使用する。 名:Encoding Range Reduction Control 型:REG_DWORD 値:0x0M0m0N0n Mは輝度のエンコード時の縮小幅 mは輝度のデコード時の拡大幅(通常、Mと同じにする) Nは色差のエンコード時の縮小幅 nは色差のデコード時の拡大幅(通常、Nと同じにする) それぞれ0(なし)〜8(最大)を指定する。 例えば 0x00000000 なら色範囲の縮小をしない。 また、 0xFFFFFFFF なら、レジストリ設定自体を無いと解釈する。 ■強制スレッド数 エンコード時のスレッド分割数を指定する。 マルチプロセッサ機などでエンコードする際に効果的。 スレッド分割すると若干の画質低下が起こりうる。 名:Force Num Threads 型:REG_DWORD 値:1,2,4 ■強制エッジノイズ除去 フレームの周辺部のノイズ検出・除去を指定する。 テレビ放送のフレームの最初の21ラインは制御信号であるが、 キャプチャ時に数ライン分ノイズとして残ってしまった場合に修正する。 だがこれが出るのは本来ハードウェアの不具合。 名:Force NoiseEdgeRemoval 型:REG_DWORD 値:0(無効) 1(有効) ■強制ループフィルタ エンコード時にブロックノイズが出ないようにするループフィルタを指定する。 使用すると、マクロブロックのエッジが目立たなくなるが、画質がソフトになる。 名:Force LoopFilter 型:REG_DWORD 値:0(無効) 1(有効) ■強制メディアン エンコード時にメディアンフィルタを指定する。 データサイズを小さくすることができるが、残像が出ることがある。 デフォルトでもフィルタを使うかどうか内部で判定しているが、 この設定を追加すると常にこの値が優先される。 名:Force Median 型:REG_DWORD 値:0(無効) 1(有効) ■先読み 現在のフレームより後のフレームをエンコード前に評価する。 より効果的にエンコードできる。 Windows Media Format SDK の出力オブジェクトでは codec は各サンプルを即時エンコードする。 その結果、この出力オブジェクトを使用するソフトウェア (WMEやWMPも含まれる)では先読み設定は正しく動作しない。 先読みで指定したフレーム数ぶんだけ データユニット拡張がずれてエンコードされる。 名:Lookahead 型:REG_DWORD 値:0〜16 ■Bフレーム数 双方向予想フレーム(Bフレーム)の数を指定する。 デフォルトではBフレームは使用せず、IフレームとPフレームだけを使用する。 Iフレームはフルエンコードされ、 Pフレームは先行するI,Pフレームとの差分をエンコードする。 Bフレームは前後のI,Pフレームとの差分を予測してエンコードする。 Bフレームを使用する第一のメリットは、 フレームで起こったエラーが後続のフレームに伝播しないことである。 指定した数だけ、I,Pフレームのペアの間にBフレームが挿入される。 例えば、Bフレーム指定なしが IPPPPPPPPPPI で、指定2が IBBPBBPBBI である。 Bフレームを挿入すると、Iフレーム間におけるP,Bフレームの数が変わり、 設定したキーフレーム間隔を超過する可能性があることに注意する。 Windows Media Format SDK の出力オブジェクトでは codec は 各サンプルを即時エンコードする。 その結果、この出力オブジェクトを使用するソフトウェア (WMEやWMPも含まれる)ではBフレーム設定は正しく動作しない。 Bフレーム数ぶんだけデータユニット拡張がずれてエンコードされる。 名:NumBFrames 型:REG_DWORD 値:0〜7 ■知覚オプション エンコード時の知覚最適化を行う。 控えめな知覚最適化では、 codec が映像中の重要な部分と重要でない部分を決めて、 重要な部分での品質を重視する。 エンコードするビデオによっては結果にかなりの差がつく。 名:Perceptual Option 型:REG_DWORD 値:0(無効) 1(有効) Windows Media Encoder はWMP10等をインストールしても更新されない。 WMV9APの設定がレジストリ設定の形でしか使えない理由のひとつにはそれがある。 WMP10をインストールすると、WMEのcodecリストにWMV9APが表示される。 WMV9APを使うには、プロファイルで他のcodecのときと同じように ストリームを作成しなければならない。 2パスエンコードは今回サポートされていないことに注意する。