我想保存视频流中的图像,我已将会话预设设置为AVCaptureSessionPresetPhoto,但我的设备分辨率非常低。我正在测试3GS,这个预设给我带来512x384缓冲区。我在文档中看到照片预设无法应用于视频输出。
视频输出
不支持此功能
这是否也适用于来自相机缓冲区的原始数据?
谢谢,
安德烈
答案 0 :(得分:2)
如果您想要对摄像机输入进行视频预览,但仍然从中捕获静态照片,则可以将AVCaptureStillImageOutput和AVCaptureVideoDataOutput添加到捕获会话中。如上所述,视频预览将为您提供奇怪尺寸的较小帧,但您仍然可以通过触发AVCaptureStillImageOutput上的-captureStillImageAsynchronouslyFromConnection:completionHandler:
来检索完整照片。
请注意,在iOS 4.3中悄然添加了对视频预览的支持,但仍能够拍摄照片,因此运行较旧操作系统版本的设备将无法执行此操作。
答案 1 :(得分:1)
对于iPhone 7 plus,这是我目前的情况,如果您将预设设置为AVCaptureSessionPresetPhoto
,并使用视频流作为输出,则分辨率会自动降级为1440 * 1080.但这并非如此影响图像输出,前置摄像头为4032 * 3024,后置摄像头为3088 * 2320。
请注意,这有时也不错,因为这是3/4宽高比下最高的视频分辨率