DirectShow互換カードからAVIファイルにビデオをキャプチャするプログラムを設計しています。AVIファイルが一度に何時間も書き込まれる可能性は十分にあります。書き込み中にファイルからビデオを再生する方法はありますか?もしそうなら、クリップを構成するファイル内に開始点と終了点を定義できますか?クリップを再生すると、それ以上使用できなくなるため、新しいAVIファイルとして保存する必要はありません。個々のフレームキャプチャを保存することは、これを達成するためのより良い方法でしょうか?
1 に答える
1
2 つの問題があります。1 つは、グラフが停止したときにのみインデックス テーブルがファイルに書き込まれることです (これは AVI と MP4 に当てはまります)。もう 1 つは、ファイル リーダーが FILE_SHARE_READ でファイルを開くことです。
ファイル リーダーを、書き込み用に開いているファイルと互換性のあるものに置き換えると、ファイル内のチャンクにインデックスなしで順番にアクセスする必要があります。これは AVI では可能ですが、推奨されません。代わりの demux が必要になります。
代替案: GMFBridge のようなものを使用して、グラフを停止せずに新しい出力ファイルに切り替えることで、ファイルをセクションでキャプチャできます。その後、以前の出力ファイルにアクセスできますが、現在の出力ファイルにはアクセスできません。または、mpeg-2 PS などのインデックスのない形式を使用することもできます。
G
于 2011-07-14T08:47:06.683 に答える