0

ビデオ データを ASF ファイルに書き込むために WMWriterAdvanced および WriteStreamSample 関数を使用しています。サンプルの書き込み中に電源障害が発生すると、このファイルに既に書き込まれている約 20 秒が失われます。ASFView でファイルを調べたところ、最後の 500 パケットがゼロ バイトで埋められていることに気付きました。停電時に一部のデータが失われる可能性があることは理解していますが、20 秒のビデオは長すぎるようです。

既に書き込まれたサンプルが破損しているのはなぜですか?また、その量を減らすことは可能ですか?

4

1 に答える 1

0

原因として考えられるのは、ファイルがまだ開いていて書き込み中の状態で、内部ファイル バッファがまだディスクにフラッシュされておらず、電源障害によってこのデータと構造/インデックス データの一部が失われたことです。ファイル構造が破損していることが原因で、ファイルに存在する一部のデータさえ表示できず、残りのコンテンツに不適切にリンクされている可能性があります。そのため、予想外に多くのデータが失われます。

NTFS ファイル システムによってバックアップされたファイルでは、電源障害によってデータが永続メディアに到達できなかったフラグメントにゼロが含まれているのが一般的です。

于 2014-04-24T16:59:40.307 に答える