【问题标题】:Is possible to set in a AVCaptureVideoDataOutput an AVCaptureSessionPresetPhoto?是否可以在 AVCaptureVideoDataOutput 中设置 AVCaptureSessionPresetPhoto?
【发布时间】:2013-01-03 14:55:44
【问题描述】:

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

视频输出不支持此功能

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

【问题讨论】:

    标签: ios image camera avfoundation


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢!我只为 iOS 6 开发,所以没什么大不了的。您的 GPUImage 是这个项目的灵感来源,并将成为其中的一部分,但我也喜欢自己四处走动来学习一些东西。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 2020-11-21
      • 2013-11-25
      • 2015-07-14
      • 1970-01-01
      • 2021-08-15
      • 1970-01-01
      相关资源
      最近更新 更多