AVIファイルが表示されない

 AVIファイルを再生すると,動画が表示されず,音だけ出ます。何か設定をしないとだめなのでしょうか?



 たいていのAVIファイルには動画用データと音声用データが別々に収納されているのですが,再生環境が動画用の圧縮形式に対応できていないため,音声だけが再生されるのでしょう。
 圧縮形式(CODEC:コーデック)は,音声がWAVEファイルと同等のPCM形式であることがほとんどなのに対して,動画のほうは有名なものだけでもCinepakや各種バージョンのIndeo,各種MotionJPEG,DVのType-1/2など多くの種類があり,かつ標準状態のWindowsではこれらの一部しか対応していないためです(現時点で対応しているコーデックは,表1の方法で調べられます)。また,動画の圧縮形式にはキャプチャーカードなどのハードウェアに依存したものも多く,キャプチャーカードのない環境では再生できない場合もあります。


 表1 使用可能な動画用CODECの調べ方
Windows 98 コントロールパネルの[マルチメディア]を開いて[デバイス]タブをクリックし,ツリー表示の[ビデオ圧縮Codecs]を展開する
Windows Me コントロールパネルの[サウンドとマルチメディア]を開いて[デバイス]タブをクリックし,ツリー表示の[ビデオ圧縮Codecs]を展開する
Windows NT/4.0 コントロールパネルの[マルチメディア]を開いて[デバイス]タブをクリックし,ツリー表示の[ビデオ圧縮CODEC]を展開する
Windows 2000/XP コントロールパネルの[サウンドとマルチメディア]を開き,[ハードウェア]タブをクリックする。[デバイス]リストの中から[ビデオCODEC]を選択して[プロパティ]ボタンをクリックする


 うまく再生できないAVIファイルのプロパティを開き,[詳細]タブをクリックして画面2のように[ビデオ形式]の部分に[不明なフォーマット]と表示されるようなら,間違いなく動画用の圧縮形式に対応できていないので映像が表示できない状態です。
 AVIファイルの作者と連絡が取れる場合は,どのようなコーデックを使用しているのかを聞いて,そのコーデックを入手してインストールすることで再生できるようになるのですが,連絡が取れない場合は自分で使用コーデックを調べる必要があります。
 AVIファイルは使用コーデックの情報などを持っているので,例えば,TAGA Nayuta氏のShowRiffというプログラム(http://www.tsg.ne.jp/GANA/S/showriff/)を使ってコーデックを調べます。プログラムを入手したら,コマンドプロンプトで「showriff test.avi > test.txt」のように実行してAVIファイルの情報をテキストファイルに書き出します。その中から,ビデオの圧縮形式は「fccHandler = 'IV50' (0x30355649)」「biCompression = 'IV50' (0x30355649)」というように読み取れます。
 コーデックが何なのか目星がついたら,表2を参考にコーデックを入手してインストールすれば,AVIファイルのプロパティの表示で対応ビデオコーデック名が表示されるようになり(画面3),映像も見られるようになります。
 なお,MotionJPEGに関しては,ファイルによってはプロパティでのビデオコーデック表示が[不明なフォーマット]となっているままでも再生可能なのですが,表2のPICVideo MotionJPEGやカノープスMotionJPEG再生ドライバなどをインストールしておくほうが確実に再生可能です。
 さて,一般的なコーデックのAVIファイルの場合はこの方法で見られるようになるのですが,前述したキャプチャーカードなどに固有のコーデックが使われている場合には,コーデックを入手してインストールするという方法が取れません。カノープスのDV製品で使われている参照AVI(http://www.canopus.co.jp/download/dvplayback.htm)のように,メーカーが再生専用のドライバを用意してくれているケースはまれで,たいていは特定のハードウェアがないと再生できないので,AVIファイルを作った人に頼んで一般的なコーデックに変換してもらう必要があります。もちろん,自分の持っているマシンのうち片方でしか再生できないといった場合も同じですので,ビデオコーデックの変換方法も知っておく価値はあります。
 ビデオコーデックを変換したいときに必要になるのは,一般的なコーデック用の圧縮に対応したドライバで,表2のコーデックのうちカノープスの再生専用のドライバ以外は,再生だけでなく圧縮にも対応しています(PICVideo MotionJPEGはダウンロードしたコーデックをインストールするだけでは圧縮時にロゴが入る仕様になっているため,非商用のユーザー登録を行ってから使用します)。
 例としてASUSTeK COMPUTERのテレビ入力付きビデオカード「V3800 Deluxe」でASUS Live!を使い,ASUS Video形式でキャプチャーしたAVIファイルをIndeo R5.11にコーデック変換してみます。表2のIV50のURLをアクセスしてページ上部の「PRODUCTS」をクリックします。ジャンプしたページの左端のメニューにある[INDEO]をクリックし,メニューが展開されたら「Download」をクリックします。ページ下のほうの「Select Your Download」で「Indeo Video 3.2,4.5,5.11,and Indeo Audio 2.5 Codecs」を選択して[Next]ボタンをクリックし,名前とメールアドレスを入力してダウンロードします。ダウンロードしたiv5setup.exeを実行し,インストーラの指示に従ってインストールすれば,コーデックの準備は完了です。


 表2 インターネットで入手できる主なビデオコーデック
AVIファイル表記 コーデック名 入手先URL
HFYU Huffyuv http://math.berkeley.edu/‾benrg/huffyuv.html
IV50 Indeo R5.11 http://www.ligos.com/
MJPG MotionJPEG PICVideo Motion JPEG
(http://www.jpg.com/video/mjpeg.htm)
カノープスMotion JPEG再生ドライバ
(http://www.canopus.co.jp/download/mjpegplayback.htm)  など
ZLIB LCL http://www.geocities.co.jp/Playtown-Denei/2837/LRC.htm


 次にコーデック変換に使うソフトを用意します。この作業には,「AviUtl」というフリーソフトウェアが便利です(http://ruriruri.zone.ne.jp/aviutl/)。AviUtlを起動して変換するAVIファイルを開き,[ファイル]メニューから[AVI出力]を実行します。ファイル保存のダイアログが出るので,ファイル名を入力してから[ビデオ圧縮]ボタンをクリックします。ビデオコーデックの一覧から「Lingos Indeo Video 5.11」を選択して[OK]ボタンをクリックし(画面4),ファイルダイアログに戻って[保存]ボタンをクリックすれば,Indeo R5.11版のAVIファイルを作成できます。(渋谷 隆)


 (画面3)V3800 Deluxeを使った環境にASUS Live!というキャプチャーユーティリティをインストールすると,一般的ではない「ASUS ASV2 Video CODEC」などのビデオコーデックが追加される。こういった特殊なコーデックは対応したハードウェアがインストールされた環境でないと再生できない


 (画面4)AVIファイルのプロパティの[詳細]タブをクリックすると,AVIファイルで使われている音声とビデオの圧縮形式が表示される。ビデオ形式が[不明なフォーマット]になっている場合は正しく再生できない可能性がある


 (画面5)PICVideo Motion JPEGをインストールしてからAVIファイルのプロパティで確認すると,ビデオ形式が[不明なフォーマット]ではなく[PVMJPG]と表示されるようになる


 (画面6)AviUtlを使ってビデオコーデックの変換を行う設定をしているところ。人に渡したりするときには,一般的なコーデックに変換する必要がある