2011-11-29 64 views
1

我正在進行桌面視頻捕獲。我實現了快速工作的截圖抓取。然後我通過addImage將每個截圖添加到QTMovie:forDuration:withAttributes:但它的工作速度非常慢,所以當我嘗試創建全屏捕捉(例如1920x1080)時,我只有1.2 fps。我試圖在主線程上收集屏幕截圖並在其他線程上處理它們(添加到QTMovie),並且內存消耗非常快速增長(檢索的屏幕截圖是未壓縮的)。有任何想法嗎?謝謝。QTMovie addImage performance

回答

3

我同意addImage:forDuration:withAttributes:不是逐幀捕獲的好方法。我們在使用QTKit框架進行多幀捕捉時也遇到了內存泄漏。

使用Quicktime框架可以獲得更好的結果。特別是AddMediaSample2()功能可以將圖像添加到電影中。

如果您使用一個線程獲取幀並將另一個線程添加到影片中,則需要小心。當你有很多幀時,你可以快速到達這一點,但是你的對象不能以相同的速度將它們全部添加到電影中。繼續下去,你可能需要放棄某些幀。

通常,捕獲是一個棘手的過程。祝你好運。