AVI

AVIファイルとは

Windows の古い動画コンテナ。ファイルは大きく、スマートフォンで再生できる保証はありません。

AVI とは何か

AVI はコンテナです。誰か別のものが符号化した流れを、中に収めておく外殻です。 長期保存のために使われます。

拡張子は .avi、正式名称は Audio Video Interleave です。ただしどちらも、そのファイルが中に何を持てるかほどには多くを語りません。このページの残りは、その中身についての話です。

AVI はどこから来たのか

Microsoft が 1992 年に公開しました。

これだけ長く読まれ続けてきた形式なら、10 年後に取り出したいものを預けても大丈夫です。

仕様は公開されていますが、公開しているのはそれを所有する会社です

文書があり、それに沿って実装できます。それでも、次の版がどうなるかを決めるのはその会社です。実務上、ファイルが開き続けるにはこれで足ります。安心するには足りません。

古い形式です

今もどこでも開けますし、古いプログラムは今もこれを書き出します。ただ、この形式のまわりで新しいものは何も作られていません。残しておきたいものは移してください。そして今日始める仕事には、これを選ばないでください。

AVI は箱で、コーデックが中身です

中に入っているのはたいていMJPEG、DivX、Xvidです。「なぜ再生できないのか」という質問のほとんどは、この区別に行き着きます。同じ拡張子の 2 つのファイルの中に、まったく違う符号化が入っていることがあり、片方を拒むプレーヤーがもう片方は問題なく再生します。

箱を入れ替えるのが速くて劣化もないのに、コーデックを変えるとそのどちらでもなくなる理由も、これで説明がつきます。同じ流れを別の箱に入れるのは箱を書き直すこと、再エンコードするのは画そのものを書き直すことだからです。

ほかに何を運べるか

AVI ファイルは複数の音声トラックを持てます。

字幕を収める場所はありません。もっと中身の多いコンテナから出てくるとき、真っ先に落ちるのがこれです。

AVI を開けるのは何か

VLCとHandBrakeが読めますし、同じ種類のプログラムならたいてい読めます。

ファイルが開かないとき、形式が悪いことはめったにありません。たいていはプログラムのほうが形式より古いのです。もっと古い形式に変換してしまうのが確実な逃げ道で、このサイトの残りの部分はそのためにあります。

ブラウザーで開く

これを読めるブラウザーはありません。

これを変換するいちばんよくある理由がこれです。形式が悪いのではありません。ファイルを見せたい場所が、それを読めないというだけのことです。

渡すための形式です

AVI は渡すために作られたもので、中で作業するためのものではありません。編集は可能ですが、快適だったためしはありません。賢い道は、元のファイルへ戻ってもう一度書き出すほうを通ります。

この形式でよく起きること

繰り返し挙がる不満はこれです。中身のわりにファイルが大きくなると本来の分野の外では対応がまばら。

どれも、この形式を避ける理由にはなりません。どれかに不意を突かれる前に知っておくべきことがら、というだけです。これは別の主張であり、そして役に立つほうの主張です。

1992年のコンテナ、その年代がすべてを説明する

Microsoft は1992年にVideo for Windowsとともに AVI を発表しました。ウェブ動画もストリーミングも存在しない時代です。映像トラックと音声トラックを並べて格納するだけの箱で、パソコンの黎明期とほぼ同じ年齢を持ちます。

AVI にまつわる大半の難点は、この年代に理由があります。今求められている機能を想定せずに設計されているため、下手なのではなく、そもそも対応する仕組みを持っていないだけです。それでも、できることは単純で確実にこなすので、今も多くのファイルが残っています。

手元のAVIは実際どこから来たか

おおむね3つの出所があります。2000年代までデジタルビデオカメラやカードに記録していたテープ式・初期のデジタルカメラ。録画中に追記しやすかったために選ばれた画面録画やキャプチャーカード。そして同じ時代のダウンロード文化で、DivXやXvidを収めたAVIが動画の標準的なやり取り方法でした。

手元にあるAVIは古く、多くの場合replaceできないものです。カメラで撮った家族の記録や、もう存在しない何かの録画。価値は形式ではなく中身にあります。

中に何が入っているか、なぜ再生できないのか

AVI は録画したソフトが使ったコーデックをそのまま収めており、この年代のコーデック——DivX、Xvid、Motion JPEG、Cinepak、Indeoなど——には問題があります。今のOSはこうしたデコーダーをほとんど持っていません。

そのため、ファイルは開けて再生時間も正しく表示されるのに、映像が真っ黒だったり何も表示されなかったりします。これは破損ではなくデコーダー不足です。独自のデコーダーを内蔵するVLCでは同じファイルが問題なく再生できます。

4文字のコードでコーデックを見分ける

すべてのAVIは、映像コーデックを示す4文字のタグをヘッダーに記録しています。DIVX、XVID、MJPG、DX50、cvidなどです。これを確認するのが、今何を持っているかを知る最速の方法です。

ありふれたタグであれば変換ツールがそのまま対応できますが、聞き慣れないメーカー独自のタグであれば、そのカメラのソフトだけがきちんと読める唯一の手段だったかもしれません。

現代的な音声も可変ビットレートもない

AVIの音声処理は固定ビットレートを前提に設計されています。可変ビットレートの音声を格納することはできますが、それを正しく記述する仕組みがなく、AVIの典型的な失敗——冒頭では音と映像が合っているのに、終わりに近づくほどずれていく現象——を生みます。

このずれは徐々に進むもので、これによって破損したファイルと区別できます。AVIの内部で修復する満足のいく方法はなく、確実な対処は可変ビットレート向けに設計された別のコンテナに変換することです。

まったくできないこと

まともな字幕トラックがなく、AVIの字幕は常に別のSRTファイルとして横に置かれてきました。チャプターもメニューもありません。向きを記録する標準的な場所もなく、横向きで撮影した動画は横向きのままで、物理的に回転させる必要があります。

元の設計にはBフレームの対応もなく、これは現代のコーデックが圧縮効率のために依存する技術です。H.264を無理やり収めるための非公式な拡張が存在するのはこのためで、そうしたファイルの再生が不安定なことがあります。

AVIは見えないところで容量を消費する

AVIはデータの各断片の前に小さなヘッダーを書き込みます。小さなフレームが多い映像では、これが無視できない割合になります。現代のコンテナに収めた同じ内容は、再符号化する前の時点ですでにこのオーバーヘッドの分だけ小さくなります。

20年遅れたコーデックと合わさって、古いAVIは同等のMP4より数倍大きいことがよくあります。カメラの記録を変換すると、同じ画面で見て容量が劇的に減り、見た目も改善するという珍しい結果になります。

古い映像は一度きちんと変換する

保存や視聴、共有のためには H.264 を使う MP4 が変換先です。今世紀に作られたあらゆる端末で再生でき、ネットワーク越しにストリーミングでき、AVIが持たない向きの情報も保持できます。すでに一度弱いコーデックを通っているので、画質設定は控えめにせず余裕を持たせてください。

唯一のコピーである貴重な映像であれば、元のAVIも残しておいてください。変換は非可逆で、ストレージは安価ですが、2004年のカムコーダーテープを撮り直すことはできません。

このサイトでAVIをまだ変換できない理由

DivX、Xvid、Cinepak、Indeo、そしてカメラメーカー独自の方式はどれもWebCodecsより前の技術で、どのブラウザーもこれらを復号する機能を公開していません。そのため、現代的なコンテナとは違い、AVIは訪問者自身の端末では読み込めず、このサイトのブラウザー内変換の対象にはなっていません。

サーバー側の対応が未整備の間は、VLCやHandBrakeといったデスクトップソフトが答えになります。どちらも自前のデコーダーを持ち、映像をどこにも送信しません。

基本情報

AVIフォーマットの識別子と出自。
拡張子.avi
メディアタイプvideo/x-msvideo
公開元Microsoft
初版1992