Wikipedia の "AVI" の説明によると、AVI ファイルには PCM 以外にも、MP3, AC3, AAC などのオーディオコーデックが使用でき、ビデオのコーデックと独立に設定できることになっています。

PCM 以外のコーデックが使われている場合の AVI ファイルのデータ構造やヘッダ情報によるコーデック識別の方法について解説したサイトがあれば知りたいです。
AVI ファイルの構造について一般的な説明をしたサイトや MSDN はいろいろ検索してみましたが、PCM の場合のみで、それ以外については情報がありません。たとえば、WAVE_FORMAT_PCM(1)の代わりにMP3ではどんな値が入っているのかも分かりません。また、PCM以外のオーディオを含むAVIファイルが手元にないので、解析してみることもできません。
AVIファイルを解析するライブラリを書くのが目的なので、AVI再生アプリケーションの紹介は不要です。AVI解析の助けになるツールの紹介は歓迎します。さまざまなオーディオ・コーデックを含む AVI ファイルのサンプルが置いてあるサイトも歓迎します。

回答の条件
  • 1人5回まで
  • 登録:2006/08/29 13:52:30
  • 終了:2006/09/01 10:51:44

回答(2件)

id:cynix No.1

cynix回答回数29ベストアンサー獲得回数02006/08/29 14:13:50

ポイント35pt

MSDNのAVI RIFF ファイルのリファレンスによると、

コーデックは 'strh' (AVISTREAMHEADER) の fccHandler で指定します。

もっと詳しい説明は (英語ですが) OpenDML AVI File Format Extensions にあります。

id:takomasa

回答ありがとうございます。

私も fccHandler に書いてあるのだろうと思い、fccType = "auds" となっているオーディオの strh の fccHandler を読んだのですが、PCM の場合、コーデックを示す文字列ではなく 0 が入っています。

また、http://www.microsoft.com/japan/developer/library/jpdx8_c/ds/...

に、「fccHandler メンバは、オーディオ ストリームでは使用しない。」のような記述があり、すっかり困ってしまいました(この記述は DV の場合だけかもしれませんが)。

MP3 の場合は fccHandler = "mp3" のようになっているのでしょうか?

英文の資料をざっと文書内検索した範囲では、該当箇所を見つけられなかったのですが、関連はしていそうなので読んでみます。

2006/08/29 15:42:46
id:kurukuru-neko No.2

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/08/29 16:58:34

ポイント100pt

出所不明ですが、同じ文書が多数検索で引っかかります。

信憑性が低いですが参考になれば。

http://www-user.tu-chemnitz.de/~noe/Video-Zeug/avi_docu/avi....

FFAnalyzer Support Page

RIFFのプラグインがある。

http://www.asahi-net.or.jp/~tb3r-kmgi/ffanalyzer/index.htm#f...

その他

http://www.winxdvd.com/avi-to-dvd.html

id:takomasa

1番目の文書、実戦的な内容でいいですね。

やはり wFormatTag が識別の鍵のようです。

読んでみると、「XXXフィールドの値をいい加減に書くアプリがあるので信用するな」とか書いてあって、この文書を書いた人もいろいろ苦労してるんだなと思いました。

2006/08/29 18:22:06

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません