【发布时间】:2013-01-03 14:55:44
【问题描述】:
我想保存视频流中的图像,我已将会话预设设置为 AVCaptureSessionPresetPhoto,但我在设备上的分辨率非常低。我在 3GS 上进行测试,这个预设返回 512x384 缓冲区。我在文档中看到照片预设无法应用于视频输出。
视频输出不支持此功能
这对来自相机缓冲区的原始数据也有效吗?
谢谢,
安德烈亚
【问题讨论】:
标签: ios image camera avfoundation
我想保存视频流中的图像,我已将会话预设设置为 AVCaptureSessionPresetPhoto,但我在设备上的分辨率非常低。我在 3GS 上进行测试,这个预设返回 512x384 缓冲区。我在文档中看到照片预设无法应用于视频输出。
视频输出不支持此功能
这对来自相机缓冲区的原始数据也有效吗?
谢谢,
安德烈亚
【问题讨论】:
标签: ios image camera avfoundation
如果您想要对相机输入进行视频预览,但仍要从中捕获静态照片,您可以将 AVCaptureStillImageOutput 和 AVCaptureVideoDataOutput 添加到您的捕获会话中。视频预览将为您提供尺寸奇特的小帧,就像您在上面描述的那样,但您仍然可以通过在 AVCaptureStillImageOutput 上触发 -captureStillImageAsynchronouslyFromConnection:completionHandler: 来检索完整照片。
请注意,在 iOS 4.3 中悄悄添加了对视频预览同时仍能拍照的支持,因此运行旧操作系统版本的设备将无法执行此操作。
【讨论】:
对于iPhone 7 plus,我目前的情况,如果你设置预设为AVCaptureSessionPresetPhoto,并使用视频流作为输出,分辨率会自动降为1440 * 1080。但这不影响图像输出,前置摄像头为4032*3024,后置摄像头为3088*2320。
请注意,有时这还不错,因为这是 3/4 宽高比下的最高视频分辨率
【讨论】: