MPEG系圧縮の比較
いきなり比較してみます. MPEG4以外のCODECは最終出力には向かないものが多いですが, 気になる方は参考リンクのAeternitas Movie などで学習してください.
MPEG1,MPEG2 | MS MPEG4 | DivX MPEG4 | |
ファイルサイズ | 大きい | かなり小さい | さらに小さい |
再生環境 | 軽い, 家電でも可 | やや重い | 異様に重い |
上の表の通りで, 特に問題なのが強調されてるところです. MPEG1/2のファイルサイズは言わずもがなですね. で, 今問題になる再生に必要なCPUパワーは,
MS MPEG4 | DivX MPEG4 | |
VGA(640*480) | 500Mhz | 1Ghz |
QVGA(320*240) | 200Mhz | 500Mhz |
あたりが目安になります. フル画面でコマ落ち無しに再生するにはさらに高性能が必要です.
こぅ, 中途半端は良くないのと, 後述しますがDivXの真価は高解像度(VGA等)で発揮されますので,
- 再生と保存の容易さを望むなら, 320*240ドットで MS MPEG4
- 「できるだけ高画質で保存したいが5Gや10Gバイトのファイルはさすがに困る」 という方は 640*480ドットでDivX系
- 「とにかくサイズが最小になるのがいい」という方は320*240でDivX系
を選ぶのが良いと思います.
CODECバージョンの違い
実は, MS MPEG4にもDivXにも多くのバージョンがあり, 再生するだけの人は単純に新しいものを入れておけば (古いCODECのものも再生できますから) 良いのですが, 自分で動画を作ろうという人は単純に新しければ良いというものではありません.
MS MPEG4バージョンの違い
参考文献の めざせ!あにぺぐに詳しいですが, とにかく大きく分けて MS MPEG4V1, V2, V3の3種類があります. で, 後ろに行くほど圧縮率は高くなるはずだったのですが, V3は画質に問題をかかえながら コロコロと仕様を変えたバージョンが多数あり, 同じV3の間でも互換性の問題が大きかったのと, V2に対してあまりアドバンテージも無く, 最終的にはMicroSoftによって放棄された状態にあります. 最新のWMPでもV3圧縮されたもののみは明示的に再生を拒否されますので, V3は決して使わないことを推奨します.
V2にも多くのバージョンがあったのですが, こちらは普通に最新のものでよいと思います. (古いバージョンでベリノイズバグが無いものがあったという噂も聞きますが, 調べたことが無いのでわかりません) MicroSoftからWindows Media Tools を拾ってくれば普通に新しいものが入るはずです.
結論として, MSMPEG4をを使うならV2で決まり. なのですが, MSMPEG4系CODECでは, ごく稀にベリノイズという謎のノイズが発生します. ビットレート不足によるブロックノイズとは明らかに違う性質をもっており, CODEC内部のDCTのバグと言われています. これを回避し, さらに動きの激しいところにだけ集中的に キーフレームを配置することによって 効率的な画質の向上を図ろうというものが, 出力プラグインm4cです. m4cとの組み合わせ方についてはm4cのつかいかたを見てください.
DivXのバージョンの違い
割れず DivX3系統
かならず Aeternitas Movie に行ってCODEC解説を読んで下さい. わたしはつい最近までDivX撲滅とか言ってたくらいなのでひじょーに知識が浅いです
とにかく, 消費者から見ると, DivX3.11, DivX4.12, DivX5.01, DivX5.02 等のバリエーションがあるように見えるわけですが, その実体はMSのコピー商品の3系統と, OpenDivX派生の4&5系に分けられます.
3.11がMS-MPEGV3をコピーして名前を変えただけというのは だいぶ有名になってきましたが (めざせ!あにぺぐに検証ページあり) 当時はDivX3を信奉した挙句, 「MPEGV3とは!画質ぜんぜん違うよ!最高!」 などと裏ニュースでさらし者にされそうな台詞を吐く人も多かったものです.
現在でもCODECの画質の違いに関しては, 誤情報がきわめて多く流れていますので, 必ず自分で比較検証することをお勧めします.
というわけで, DivX3系は絶対に使わないべきです.
DivX4以降 (OpenDivX系) のバージョン
Div4以降は基本的には全て同じものと思って良いでしょう. 一度使ってみればわかりますが, 3種類のエンコードモードや, 基本的な圧縮パラメータの反映のされ具合などは全て同じです.
違いは付加されたフィルタ (フィルタだけじゃないけど, とにかく特殊機能) オプションや, DivX5proにだけ存在するBフレームの使用などであり, それらの特殊オプションを理解して使っていない限り, バージョンの新しいCODECでエンコードするメリットはありません. たぶん.
DivX4.12とDivX5.01freeに関しては自分である程度比較してみたのですが, 上に書いたような特殊機能が不要な範囲では違いは感じられませんでした.
というわけで, 個人的には今のところ(エンコードは)DivX4.12.
具体的なエンコードオプションの指定は, OpenDivXのページへ.
DivX4以降の再生が重いんだよもん
上に書いたように, OpenDivX系の再生は強力なCPUパワーを必要とします. celeron400〜600程度のノートパソコン等では, VGAサイズでエンコードされたDivX動画をダブルクリックしても, 音声だけが流れて画面は止まったままになる場合が多いでしょう. この場合の対処法を述べます.
まず第一に, DivX5をインストールすると付いてくる DivXプレーヤーを使います. 詳しいことは知りませんが, MediaPlayer6.4と比較しても, DivX動画の再生に関してはDivXプレーヤーの方がはるかにスムーズに動きます. ただし, このプレーヤーは日本語ファイル名を受け付けません. また, 当方では起動しているDivXプレーヤーの窓に aviファイルをドロップしても再生されないという現象が時々発生します. DivXプレーヤーのアイコンにaviファイルをドロップすればOKです.
第二に, DivX CODECのオプションをいじります. 再生中に右ポップアップメニューを出し, Optionsという項目を選ぶと [Playback Quality]と いうスライダーがあります. これをminimumまで下げると相当軽くなります. もちろん品質も下がります.
MediaPlayerで再生する場合でも, やはりMediaPlayerの動画プロパティ欄から CODECオプションが設定できます.
とはいえ, これだけ手を尽くしても, VGA動画はcoppermine 400Mhzのノートの場合で, 秒間5-10fpsの再生がやっとでした.