動画 (Motion JPEG)、もうちょいその1

今日の追加調査内容を簡単にメモ。たぶん後日もうちょい書き足します。
やりたいことは、富士フィルム「FinePix REAL 3D W1」で撮影した動画ファイル(AVIコンテナ)を、Premiere に読み込ませること。昨日までの調査で、どうやら1フレームずつ画像ファイルで書き出し、Premiere 側で再構築する以外なさそうなので、この方法での実現を図ります。BMPファイルで書き出す方法は確立できたものの、あまりに容量を食うのでどうしたもんかなー・・というのが、昨日の状況でした。まとまったところで、今日のメモ。

・もともと Motion JPEGJPEG圧縮した画像を並べたものなのだから、ヘッダとか取り除いて1ファイルずつJPEG画像が取り出すスクリプトとか作れんものか?と思い、とりあえず Motion JPEG の仕様の調査。
結果:Motion JPEG には国際的な仕様といったものはないそうです・・。(英語版Wikipedia、「Criticisms」参照)

・しょうがないのでとりあえず中身を見てみよう、ということで、慣れないバイナリエディタで動画ファイルを確認(事前に「FinePix Viewer」で左右の映像に分離)。
結果:中身の大部分は、左右の動画ファイルで同じデータっぽい。内部処理の都合で(I/O低減とか)、左右の画像をそれぞれ並べているのではなく、「共通部分+差分」のセットで管理してる?【9/10 追記】バイナリエディタでの見方を間違ってました。共通だったのはヘッダ部分で、主な部分はやっぱり異なるデータでした。。とはいえ、それでも単純でなし。9月10日の日記参照。
おかげで、フレームごとの画像データを簡単に取り出すという目論見は見事に崩れる・・。
(まだ分離前のファイルは確認していないので、まだ可能性は・・あるのかなぁ)

・ここまできたら愚直に、1フレームずつJPEGで出力してくれるツールを探してみよう、ということで調査。MJPEG Tools でできそうな予感。ただし Linux 環境用。パッケージは RPM で配布しているので、CentOS あたりで仮想環境作ってインストール、試してみよう!・・というところで終了。


次の作業は CentOS の入手からです(笑)。結構遠回りだなぁ・・。でも一度環境を整えてしまえば、そんなに先は苦労しないかな。