デスクトップビデオキャプチャに取り組んでいます。高速に動作するスクリーンショット取得を実装しました。次に、すべてのスクリーンショットを addImage:forDuration:withAttributes: 経由で QTMovie に追加しますが、動作が非常に遅いため、フルスクリーン キャプチャ (たとえば 1920x1080) を作成しようとすると、1.2 fps しかありません。メインスレッドでスクリーンショットを収集し、他のスレッドでそれらを処理 (QTMovie に追加) しようとしましたが、メモリ消費量が非常に速く増加しました (取得したスクリーンショットは圧縮されていません)。何か案は?ありがとう。
1 に答える
3
addImage:forDuration:withAttributes:
フレームごとのキャプチャには良い方法ではないことに同意します。QTKit
また、多くのフレームでキャプチャに使用すると、フレームワーク内でメモリ リークが発生することもありました。
フレームワークを使用すると、はるかに優れた結果を得ることができますQuicktime
。特にAddMediaSample2()
ムービーに画像を追加する機能。
あるスレッドを使用してフレームを取得し、別のスレッドを使用してデータをムービーに追加する場合は注意が必要です。非常に多くのフレームを非常に迅速に取得できますが、オブジェクトはすべてのフレームを同じ速度でムービーに追加することはできません。続行するには、特定のフレームをドロップする必要がある場合があります。
一般に、キャプチャはトリッキーなプロセスです。幸運を。
于 2011-12-14T03:30:10.657 に答える