わいえむねっと

Contents
Categories
Calendar
2004/06
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Monthly Archives
~2000/01
Recent Entries
RSS1.0
Templates
Information
Processed: 0.019 sec
Chashed: -
2004/06/27 Sun
CE-VR1がファイル生成し損ねたデータのサルベージを試みる。
不慮の電源断が原因だけど、FATやディレクトリエントリの状態がどうであれデータ本体は書き込まれているはずだ。
問題のデータを記録していたSDカードのイメージファイルを生成して眺めてみたが、ヘッダ領域として2048byteを飛ばしてデータを書き込んでいき、停止が押されてからヘッダの生成とディレクトリエントリへの書き込みとかそんな感じか。停止が押されるまで長さが決定しないのだから、まぁそんなとこだろう。
サルベージ対象の開始位置は先頭空きクラスタだし、終了位置に関してはわからないけれど、この手の動画ファイルは途中で切れてようが末端にゴミがついてようが先頭から連続さえしていれば再生可能なので再生さえできるようになれば終了位置はどうとでもなる。あとの問題はフラグメントか。
確認してみたところ、このSDカード内でフラグメントを起こしてるデータは4個しかなかった。サルベージ対象の開始位置は0x0107f200で、かつ0x069b39ffまでは他ファイルの断片は存在していなかったので、少なくとも93538304byteまでなら連続してデータが存在できているはずだ。
とりあえずこの領域を切り出して、他のASFファイルのヘッダをくっつけてみた。ASFのヘッダ構造は知らんけど、CE-VR1が生成したヘッダであればフォーマット情報は同じはずだし、違うのは時間情報くらいだろう。
んで、成功ー。はっはー。
ヘッダの時間情報はヘッダ側が長い分には再生に支障はなさそうだ。(短い方の末端に到達した時点で再生が終わる)
あとは終了位置の調査と、必要ならフラグメントファイルの切り出しか。そこまでするようなデータでもないけど。