1
如何在Cocoa中捕捉屏幕的NSImage?我需要知道最快的方式,因爲我試圖製作一個屏幕錄像應用程序。可可屏幕捕捉?
如何在Cocoa中捕捉屏幕的NSImage?我需要知道最快的方式,因爲我試圖製作一個屏幕錄像應用程序。可可屏幕捕捉?
請參閱OpenGLCaptureToMovie樣本。我想補充一點,你應該使用Quartz Display Services' refresh-notification APIs而不是定時器。
請注意,OpenGL示例不會生成NSImage對象。這樣做沒有意義,因爲你不能將它們放入電影中。那麼,我想你可以在指定的幀時間分配一個NSImage,但我不知道如何使用壓縮。
說到壓縮,請使用最高質量的動畫編解碼器進行錄製。這提供了足夠的體面壓縮,不會壓倒磁盤,並且肯定不會壓倒處理器。然後,您可以提供轉換選項,例如H.264,iPhone for iPhone和iPod for H.264。您還應該允許用戶保留原始文件;一些網站,如Vimeo,將接受它並允許訪問者下載它。
舊的回答是舊的。今天,我會使用CGWindowList API來進行捕獲,並且只有在CGWindowList證明速度太慢時才切換到OpenGL。 – 2011-07-15 02:26:03