AVIファイルを作成することにしたので、その準備作業としてJPEGファイルを連結してMotion JPEGのAVIファイルを試しにPC上で作ってみることにしました。まずはMSDNの資料で概要を把握。この資料にも書かれているように、OpenDMLという拡張があるようで、どうやら今ではこの拡張を使うのが普通らしい。手元にあるCanonのデジカメもAVIファイルを作成しますが、hexdumpして調べてみるとindxを使ったインデックスやodmlリストを使ったフレーム数を持っており、OpenDML拡張を用いているようです。
まずはOpenDML拡張無しで簡単なAVIファイルを作ってみようと考え、データ・チャンクのヘッダを付けた2種類のJPEGファイルを交互に合計10枚つなげて、先頭にRIFF/AVIヘッダーを付けた簡単なAVIファイルを作成。ところがQuickTimeで再生しようとすると不正なファイルだと言われるし、Windowsではプロパティすら見れないありさま。いろいろと試行錯誤して、ようやくとQuickTimeで再生できるようになりました。圧縮画像データが配置される
QuickTimeでは再生できるようになったものの、Windows環境ではあいかわらずプロパティの表示すらできません。まだAVIファイルとして見なしてもらえる条件を満たしていないようです。ヘッダー情報が少なすぎるのかもしれません。手抜きせずにちゃんと、ヘッダー情報用意しないとダメかな。
まずはOpenDML拡張無しで簡単なAVIファイルを作ってみようと考え、データ・チャンクのヘッダを付けた2種類のJPEGファイルを交互に合計10枚つなげて、先頭にRIFF/AVIヘッダーを付けた簡単なAVIファイルを作成。ところがQuickTimeで再生しようとすると不正なファイルだと言われるし、Windowsではプロパティすら見れないありさま。いろいろと試行錯誤して、ようやくとQuickTimeで再生できるようになりました。圧縮画像データが配置される
00dcチャンクが、奇数アドレスから始まっていると再生できないようです。16ビット境界に配置するように必要ならばパディングするようにしたところ、再生できようになりました。32ビット境界に配置した方がさらに安全なのかもしれません。
QuickTimeでは再生できるようになったものの、Windows環境ではあいかわらずプロパティの表示すらできません。まだAVIファイルとして見なしてもらえる条件を満たしていないようです。ヘッダー情報が少なすぎるのかもしれません。手抜きせずにちゃんと、ヘッダー情報用意しないとダメかな。