2013-01-03 90 views
0

我想保存視頻流中的圖像,我已將會話預設置爲AVCaptureSessionPresetPhoto,但設備上的分辨率卻非常低。我正在測試一個3GS,並且此預設返回512x384緩衝區。我在文檔中看到照片預設不適用於視頻輸出。是否可以在AVCaptureVideoDataOutput中設置AVCaptureSessionPresetPhoto?

這是不支持視頻輸出

是不是有效也從相機緩衝的原始數據?
謝謝, 安德烈

回答

2

如果你想有攝像機輸入的視頻預覽,但仍捕獲靜止從照片,您可以添加既是AVCaptureStillImageOutput和AVCaptureVideoDataOutput您捕獲會話。視頻預覽會爲您提供奇怪大小的較小幀,如上所述,但您仍然可以通過在AVCaptureStillImageOutput上觸發-captureStillImageAsynchronouslyFromConnection:completionHandler:來檢索完整照片。

請注意,在iOS 4.3中靜默添加了對視頻預覽的這種支持,同時仍然可以拍照,因此運行較舊操作系統版本的設備將無法做到這一點。

+0

謝謝!我只爲iOS 6開發,所以沒什麼大不了的。你的GPUImage在這個項目中是一個靈感,它將成爲其中的一部分,但我也喜歡自己動手去學習一些東西。 – Andrea

0

對於iPhone 7 plus,這是我目前的情況,如果您將預設設置爲AVCaptureSessionPresetPhoto,並使用視頻流作爲輸出,分辨率會自動降級到1440 * 1080。但這不會影響圖像輸出,前置攝像機爲4032 * 3024,後置攝像機爲3088 * 2320。

有時候注意這並不壞,因爲這是3/4長寬比下的最高視頻分辨率

相關問題