0

我想从视频流中保存图像,我已将会话预设设置为 AVCaptureSessionPresetPhoto,但我在设备上的分辨率非常低。我在 3GS 上进行测试,这个预设返回 512x384 缓冲区。我在文档中看到照片预设无法应用于视频输出。

视频输出不支持此功能

这对来自相机缓冲区的原始数据也有效吗?
谢谢,安德里亚

4

2 回答 2

2

如果您想对相机输入进行视频预览,但仍从中捕获静态照片,则可以将 AVCaptureStillImageOutput 和 AVCaptureVideoDataOutput 添加到捕获会话中。视频预览会给你奇怪大小的小帧,就像你上面描述的那样,但你仍然可以通过触发-captureStillImageAsynchronouslyFromConnection:completionHandler:你的 AVCaptureStillImageOutput 来检索完整的照片。

请注意,在 iOS 4.3 中悄悄添加了对视频预览同时仍能拍照的支持,因此运行旧操作系统版本的设备将无法执行此操作。

于 2013-01-03T16:43:40.920 回答
1

iPhone 7 plus 是我目前的情况,如果你设置预设为AVCaptureSessionPresetPhoto,并使用视频流作为输出,分辨率会自动降为 1440 * 1080。但这不影响图像输出,即 4032 * 3024前置摄像头,3088*2320 后置摄像头。

请注意,有时这还不错,因为这是 3/4 纵横比下的最高视频分辨率

于 2017-05-05T18:41:03.740 回答