XviDでビデオ保存
最近のPCにはビデオキャプチャーボードが付属していて、テレビを見たり保存できるようになっています。しかし、ほとんどはMPEG2ファイルで取り込まれるため、膨大なサイズに…。実用レベルの8Mbpsクラス(VAIOの場合は高画質モード)となると、30分も録画すれば1.7GBのディスク容量を消費します。CD-Rには入らないし、DVD-Rにはコスト的につらいサイズです。そこで、ビデオを保存用にもっと圧縮率の高いMPEG4で圧縮し直してしまいましょう。
このページは2002年頃~2003年前半ぐらいまでに使っていた圧縮手法であり、すでに「XviD+OggVorbisでビデオ保存(2003年後半に使っていた手順)」「XviD+午後のこ~だでビデオ保存(2004年に使用していた手順)」を公開済みです。XviD+MP3でもそちらのほうが作業工程が減っていて楽になります。また、このページの情報は、各ソフトが当時とバージョンが異なっていたりすると、紹介している手順通りにしてもうまくいかないかもしれません。
CODECの選択
MPEG4系には何種類かCODECがあります。自分の場合は設定の手軽さと画質を考慮してXviDを選択しました。なにぶん、XviD以外のCODECだと、ビットレート不足時に指定したビットレートを無視し、画質を優先して大きなデータを作成するものが多いので。DivXがその典型でしょうか。ちなみに、XviDは設定しだいで圧縮したファイルがDivXのCODECでも再生できるのも万一の場合に安心。
XviDで圧縮すると、元のMPEG2と比べて20%以下のサイズにまで小さくなることもあります。ディスクの容量節約ができるのは嬉しいのですが、圧縮には恐ろしいまでの時間がかかる点には注意が必要でしょう。長時間に渡るCPUとHDDの酷使は耐久テスト同然。何かあったら…と不安になる人もいるかもしれません。その場合はメーカー製PCを使うか、あきらめてMPEG2のままDVD-RかHDDに保存したほうがよいかも?
DivXのCODECでXviDを再生したい場合は、XviDに付属するAviC(FourCC Changer)を使ってFourCCを「DIVX」「DX50」などに変更しましょう。DivXで再生可能になります。それよりもffdshowを使用することを推奨しますが。
用意するもの
XviDを使用したAVIファイルを作成する場合に必要となるものです。VAIOなど一部のPCはMPx2WAV32GがなくてもTMPGEncだけで処理できるので、その場合はMPx2WAV32Gは用意しなくても構いません。
CODECはアップデートするごとにLoad Defaultsを実行しましょう。引き継ぎがうまくいかないのかとんでもない設定になっていることがあり、気付かずに圧縮を行なうと80MBで済むところが150MBぐらいになることもあります。具体的なファイルサイズが出ているのは一度やってしまったことがあるため……。
XviDやDivXで作成したAVIの再生はffdshowがお薦め。再生する環境に入れておきましょう。
DVD2AVIを使う
AVIUTLで扱えるファイルはAVIファイルかVFAPIプラグイン対応のファイルだけです。MPEG2を読み込むには、DVD2AVIを使うのが便利。さっそくDVD2AVIで変換しましょう。
最初にDVD2AVIで処理したい録画済みMPEG2を開きます。D&Dでも読み込めるので、それが一番手っ取り早いかもしれません。
RXなど2002年冬モデルより前のVAIOの場合はビデオカプセルをMPEG2に変換する必要があります(RZなどの2002年冬モデル以降のVAIOは最初から1つのMPEG2ファイル)。ビデオエクスプローラで処理したいビデオカプセルを右クリックし、「書き出し」で「ビデオカプセルの変換」は「なし」にしてMPEG2ファイルでファイルに出力します。ビデオカプセルと対応するファイルがわかる人は、D:\Giga Pocketの*.SSG(Sony Split MPEG)を連番読み込みでDVD2AVIに読み込ませると書き出しの手間がなくて早いです。
まずはDVD2AVIの映像設定を確認しましょう。
- iDCTアルゴリズム:32-bit SSE2 MMX
- フィールド処理:そのまま
- 色空間指定:YUV 4:2:2
- YUV->RGB変換:テレビ色調
続いて音声設定を確認します。
- 処理対象:トラック1
- 出力形式:分離(AC3, MPA, DTS)
- 48->44.1KHz変換:しない
- 音量正規化:100(チェックする)
設定の確認が済んだら、「ファイル」から「プロジェクトの保存」を行ないます。d2vファイルとmpaファイルに分離されるので、MPx2WAV32Gを使ってmpaファイルをwavファイルに変換してあげましょう。
SONYのVAIOならばmpaファイルのままで大丈夫です(少なくともうちのRX73/RZ72はOK)。AC3で音声を保存しているHDDビデオレコーダーの場合は、音声の出力を「WAVで出力」にします。
音ズレの補正
DVD2AVIで分離された音声ファイルは、「DELAY -???ms」となっています。これは音が映像とどれぐらいずれているかを表記したものです。この音ズレはTMPGEncで補正しましょう。TMPGEncを起動して、wavファイル(VAIOはmpaファイル)を音声部に読み込ませます。ストリームの種類はSystem(Video+Audio)になっていることを確認して、「設定」≫「ビデオ詳細」≫「ソース範囲」で設定を行ないます。音ズレ補正の欄に「DELAY -???ms」と記述された数値を指定しましょう。「DELAY -66ms」ならば「66」です。
VirtualDubを普段使っている人は-66と指定しそうですが、TMPGEncの仕様はVirtualDubと正負が逆なのでマイナスは不要。
設定が済んだら「ファイル」≫「ファイルに出力」≫「WAVEファイル」から音ズレ補正済みの音声ファイルを出力します。この際に気を付けなければならないのは、入力に使った音声データと同じ周波数を指定する必要があることです。異なる周波数にすると音がずれます。
具体的には、VAIOならば「PCM, 48.000 kHz, 16ビット, ステレオ」となっていればOK。
2003年7月末に音整という簡単に音ズレ補正ができるツールが公開されました。これを使うと手間が減って楽です。
AVIUTLでの編集内容
映像と音声のソースが揃ったらAVIUTLで編集を行ないます。ここで行なうのは次のような処理です。ソースによってはもっと色々な処理が必要となるかもしれませんが、たいていはこんな感じです。インターレース解除などの詳細はAVIUTLでビデオ編集をご覧ください。
- インターレースの解除
- 自分の場合はテレビに出力してみることはないので、インターレースは解除を行なっていますが、テレビ出力からテレビに出力してみる場合は解除しない方がよいかもしれません。
- 画面サイズの変更
- 元の映像の比率にあわせましょう。4:3ソースならば640x480に、16:9ソースならば640x360にしています。ハードディスクビデオレコーダーで録画した番組をi.LINKで取り込んだ場合は、16:9ソースを800x450にしてますが……。
- アニメならばフレームレート変更
- 実写は何も考えずに30fpsのままでOK。アニメの場合は24fpsに変換します。最近のものは24fpsと30fpsが混在しているので、その場合は24fps部分と30fps部分を別々に圧縮し、AVI60を使用して24fps部分は5倍に、30fps部分は4倍にして120fpsに変換したほうがよいでしょう。120fpsにしてもファイルサイズはわずかに増えるぐらいでほとんど変化しません。
- なお、AVI60を使うと音声がなくなるので、圧縮時に音声はWaveファイルに出力しておき、120fpsにしたあとに音声を付け加えます。音声をつける際には、ビデオ部分は再圧縮なしで処理を行ないましょう。そしてできあがった音声付きの120fpsデータをAVIUTLの「ファイル」≫「ファイル操作」≫「ファイル連結」で結合します。
- ノイズ除去
- 映像ソースに含まれるノイズを除去するためにノイズ除去フィルターを使います。自分の場合は、アニメならばだいたい強さ256、範囲2、しきい値40ぐらいでの使用です。実写ならノイズ除去は色情報が欠落しやすくなるので使いません。
AVIUTLでの設定
最初に設定を行ない、各設定を処理対象ごとにプロファイル保存しておくとよいでしょう。
ほぼ共通の設定
インターレースの解除は自動24fps、トップフィールド->ボトムフィールド(これはカードによっては逆のもあり)にします。自動24fpsの設定では横縞部分を二重化とドット単位解除にチェックを付けると遅くなるので、基本的にはチェックなし。プレビューでところどころ見てみて、うまく解除されない部分があれば横縞部分を二重化にチェックを付けてみます。特に問題のない限り、しきい値を80、範囲を16にしています。細かい調整はソースによりけりですね。
アニメの場合はソースが30fpsでも自動24fpsで解除したほうがきれいに消えますが、うちの環境ではAVIUTLが0.98dだと落ちるので30fpsものは0.98bを使っています。
24fps化する場合はフレームレートの変更で24fps<-30fpsを選びます。サイズの変更は640x480あるいは指定サイズです。Pentium4の場合は、Lanczos 3-lobed拡大縮小のプラグインをSSE2整数の設定で使ったほうが処理時間は短くなります。
圧縮の設定
これは好みによって異なるでしょう。自分の場合ですと、ビデオ圧縮の設定を「XviD MPEG--4 Codec」にし、設定から1pass-qualityでqualityをアニメで90~92ぐらい、実写で95ぐらいにしています。どうしても指定した容量に納めたい場合のみ2pass処理。ほぼ指定した容量になるXviDの2passはかなり便利です。Advanced Optionsの設定は、「Ultra High」「H.263」「XVID」「300」「1」にしてEnable lumi maskingにチェック。これら以外はデフォルトのままですね。オーディオ圧縮の設定は「MPEG Layer-3」の「56 kBit/s, 24.000 Hz, Stereo」にしています。56kbpsではOPとEDの曲がちょっとつらいかもしれませんが、本編では過剰かもしれないデータ量の割り当てです。
B-Frameはまだ保存用には使ってません。バグがあったら怖いのでもうしばらくは実験をしながら様子見。ちなみに、lumi maskingは画質優先ならば絶対にチェックを付けないこと。目に見えないデータをはしょってサイズを減らすというものですが、目に見えるほどの画質差があります。
当時の設定項目であり、現在のXviDとは大きく異なります。最新バイナリを使う場合はXviD API-4の設定を参照してください。
フィルタ順序
この順序によって処理時間はずいぶん変化します。使用しているフィルタだけ順序を抜き出すと次のような感じです。時間軸のノイズ除去フィルタは、ソースが酷い状態の場合など限られた条件でのみ使用していますけど。
- ノイズ除去(時間軸)フィルタ
- クリッピング
- Lanczos 3-lobed 拡大縮小
- サイズの変更
- ノイズ除去フィルタ
フィルタ使用
- ノイズ除去フィルタ
- ソースの状態によって強さを変えたりします。実写の場合は弱くしないと酷い映像ができあがるので要注意です。
- ノイズ除去(時間軸)フィルタ
- 地上波でノイズが多い場合にだけ使用しています。
- クリッピング
- だいたい左右の8ドットが黒いのでクリッピングしています。自分の場合は、上下にちょっと黒い空きがある場合は画像の拡大が多少発生するのを覚悟してクリッピング実行するほう。再生時に気になっちゃうので。
- Lanczos 3-lobed 拡大縮小
- SSE2整数にして使用します。できあがるAVIファイルサイズは、AVIUTL内蔵のサイズ変更のほうが小さくなりますが、うちだと速度はこちらのほうが上。CD-RやDVD-Rに入れることが前提の場合で、容量が微妙になってきたら使い分けてます。
フィルタのメニューで使用するものにチェックを付けていきます。
AVIUTLで不要部分をカット
圧縮の設定ができたら、不要な部分を取り除きます。AVIUTLの右下にある4つのボタンは、左から1つ前のフレームへ移動、1つ右のフレームへ移動、範囲選択の先頭に指定、範囲選択の末尾を指定なので、不要な部分を範囲選択しましょう。カーソルキーやPageUp,PageDownキーも前後のフレームを参照できるので、それらを使って選択していきます。範囲選択した不要部分を除去するのは、編集から選択範囲のフレーム削除です。必要な部分だけになったら、ファイルからAVI出力を行ないます。ビデオ圧縮とオーディオ圧縮の設定が適切か確認し、ファイル名を指定してAVIファイルの出力を開始しましょう。使うフィルタにもよりますが、Pentium4/2GHzでソースの時間の3~5倍ぐらいの時間が必要です。できあがるのを気長に待ちましょう。
出力結果
これまでにXviDで圧縮したAVIファイルの中から、いくつかをサンプルとしてサイズと時間と番組名を掲載しておくので参考にしてみてください。1pass Qualityなので動きが激しいとサイズが大きくなりますが、だいたい23~24分のアニメであれば200MBに収まっています。音声は特に記述のない限り56kbpsのMP3です。1pass Qualityだと実写はあまり小さくなりません。
B-Frameはどれも未使用です。使うとさらにファイルサイズが小さくなります。
BSデジタルHD放送
1440x1088ソースを800x450で圧縮(Quality:92)※音声は128kbpsのMP3 212,854,784(202MB/0:24:09) まほろまてぃっく~もっと美しいもの~#01.avi
BSデジタルSD放送
720x480ソースを640x360で圧縮(Quality:90)※音声は128kbpsのMP3 1,120,370,688(1.04GB/0:59:56) モーニング娘。THE LIVE.avi
地上波
720x480ソースを640x360で圧縮(Quality:90) 104,986,624(100MB/0:23:29) シスタープリンセス Re Pure#01.avi 93,892,608(89.5MB/0:23:29) シスタープリンセス Re Pure#02.avi
キッズステーション(スカパー!)
720x480ソースを640x480で圧縮(Quality:90) 202,602,728(193MB/0:28:38) こすぷれCOMPLEX#01.avi 179,939,688(171MB/0:29:10) こすぷれCOMPLEX#02.avi 185,042,860(176MB/0:29:56) こすぷれCOMPLEX#03.avi 152,309,002(145MB/0:24:09) 円盤皇女ワるきゅーレ#01.avi 132,455,186(126MB/0:24:09) 円盤皇女ワるきゅーレ#02.avi 155,398,478(148MB/0:24:09) 円盤皇女ワるきゅーレ#03.avi 133,946,440(127MB/0:24:09) 円盤皇女ワるきゅーレ#04.avi 108,819,826(103MB/0:24:09) 円盤皇女ワるきゅーレ#05.avi 153,215,800(146MB/0:24:09) 円盤皇女ワるきゅーレ#06.avi 131,104,768(125MB/0:24:09) 円盤皇女ワるきゅーレ#07.avi 127,162,368(121MB/0:24:09) 円盤皇女ワるきゅーレ#08.avi 110,913,306(105MB/0:24:09) 円盤皇女ワるきゅーレ#09.avi 132,325,064(126MB/0:24:09) 円盤皇女ワるきゅーレ#10.avi 118,564,710(113MB/0:24:09) 円盤皇女ワるきゅーレ#11.avi 121,133,234(115MB/0:23:40) 円盤皇女ワるきゅーレ#12.avi
XviDで圧縮したものは、MPEG2よりもかなりサイズが小さくなって保存しやすくなっているのではないかと思いますが、いかがでしょう?
著作権のある映像は個人的な範囲内でご利用ください。でないと邪魔なテロップが入ったりして、個人的な範囲内で利用している人に迷惑がかかるのよ……。