2014.12.21:古くなった内容を全面的に修正

VirtualDubModに色空間YV12なAviSynthファイルを読み込むと、

などのエラーが表示され、プレビューできない場合の対処方法。

エラーの具体例
VirtualDubModでYV12ファイルが読めないの図
▲クリックで拡大

原因

VirtualDubModは内部にYV12コーデックを持っていないために発生する症状です。
「YV12処理できるVFW(Avi)コーデック」をインストールすれば解決します。
ただし、VirtualDubModで正常処理できるコーデックは古いものばかりになります。

解決策

以下のいずれか一つを行えば、通常は解決します。

  • Xvid 1.2.1または Xvid 1.2.2 をインストールする。
    (Koepi 氏のこのページ左サイドXvid-1.2.1-VAQなど)
  • Xvid 1.3をインストールする
    ただしインストール時に、以下のオプションを有効にする必要がある。
    Xvid 1.3系
    ▲クリックで拡大
    ※PC環境によっては、これでもYV12フォーマットの動画は読めない場合があります。
     Xvid 1.2系の方が安定して読み込めます。
  • 古いDivXをインストールする。
    Codec 8.4 にDivX Ver6.8 が含まれています。
    ※最新のDivXにはVFWコーデックは含まれなくなりました。
  • 他のVirtualDub系のツールを使う。
    YV12コーデックを内包しています。日本語化はされていませんが、ショートカットの配置がほぼ同じな「VirtualDub APNG Mod」が個人的にはオススメ。
  • FFDshowのデコーダーを使ってみる
    試した時のメモを失ってしまったので詳細は省略。
    (けっこう面倒だった & 他の再生用途と上手く共存できなかったのですぐにやめた)

解決策は以上です。
以下、補足やその他のチェックポイントなどを記載しています。

補足

  • 上記で上手く作動しない場合は、コーデックのインストールの際に Administratorでログインしインストールを実行してみる。
  • Xvid 1.2をインストール → Xvid 1.3を上書きインストールという手順でも上手く行った。
  • その他のYV12コーデックは、マルチスレッドに対応したものが少なく、オススメなモノは非常に少ない。(Helix YUV Codecs v1.3 は2スレッド処理可能)
  • Xvidもデコード時は1~2CPUしか使用せず、Adobe Premiere等でAviファイルを読み込む時に非常に処理が重くなります。
  • DivXは4コアのマルチスレッドに対応しており、Adobe Premiereなど他ツールでデコードに使用した場合も比較的高速に読み込みしてくれます。

その他

以下はVirtualDubModでMpeg2ファイルを使う際の定番Tipsです。
こちらも併せてチェックしてみましょう。

  • AviSynth用のVFAPIが正しくインストールされているか確認する
    • DGIndexがインストールされているか確認する
      (DGIndexを起動してツールバー>HelpでVFAPIプラグインにチェックが入っていればOK(グレーアウトしてても大丈夫)
    • まるも製作所VFAPIをダウンロードし、m2vconf.exeを実行してみる

 

反省点

  • Windows7 RC時代、Lame MP3、Huffyuv、Win7Codecsなどのコーデック類は、Administratorでログインしなければ正しくインストール出来ない事は確認していた。(参考:x64 Windows7にHuffyuv、Lame MP3をインストール)
  • 旧PC(Core i7 920マシン)+Windows7 で環境構築した時は、コーデック類は全てAdministratorからインストールしていた。
  • 今回のPC環境構築時、「あれれ?AdministratorでログインしなくてもLame MP3、Huffyuv、Win7Codecsが正しくインストール出来るぞ?いつからこんなに便利になったんだ?」てな感じでコーデック類を全部一般ユーザーでログオンしてインストール。。。これが敗因でした...orz

 

解決してしまえば「あらあら、この手の情報はWindows7 RC版を導入した頃に、自分で口が酸っぱくなるぐらい書いていたじゃないですか」てなオチでした。
「殆ど不具合出ないし、他サイトにはこんな情報殆ど無いし、そこまでこだわる必要は無いだろ」って気持ちで手抜きしながら環境構築したらこのザマです。