【问题标题】:iOS FullScreen AVCaptureSessioniOS 全屏 AVCaptureSession
【发布时间】:2012-01-26 16:38:55
【问题描述】:

我正在为 iOS 5 开发一个实时视频处理应用程序。视频流尺寸需要与设备的屏幕尺寸相匹配。我目前只有一个 iPhone 4 可以开发。对于 iPhone 4,我将 AVCaptureSession 预设设置为 AVCaptureSessionPresetMedium:

AVCaptureSession *session = [AVCaptureSession new];
[session setSessionPreset:AVCaptureSessionPresetMedium];

捕获的图像(通过 CMSampleBufferRef)具有屏幕大小。

我的问题:使用 AVCaptureSessionPresetMedium 会话预设捕获的图像在 iPhone 4s 和 iPad2 上也具有全屏设备尺寸的假设是否正确?不幸的是,我自己无法验证。

我查看了苹果文档:

http://developer.apple.com/library/mac/#documentation/AVFoundation/Reference/AVCaptureSession_Class/Reference/Reference.html#//apple_ref/doc/constant_group/Video_Input_Presets

但我找不到 1024/768 的 ipad2 尺寸预设,并希望为我节省实时调整图像大小的性能损失。

推荐的路径是什么?

【问题讨论】:

  • 为什么要屏幕尺寸?你错了,它是 iPhone 4 的屏幕尺寸。来自相机的宽高比与 iPhone 上的屏幕不同,因此永远不会相同。
  • 你说得对,我忽略了这一点。

标签: ios camera avcapturesession


【解决方案1】:

相机的分辨率和屏幕的分辨率不再真正相关。你说

捕获的图像(通过 CMSampleBufferRef)具有 屏幕

但我认为这不是真的(并且可能因设备而异)。 iPad 2 和 iPhone 4s 上的中等捕捉是 480x360。请注意,这甚至与手机或 iPod 屏幕的宽高比不同:相机是 4x3,但屏幕是 3x2。

【讨论】:

  • 到目前为止,我得到了一个 ipad2 AVCaptureSessionPreset1280x720 并将其缩小以适应用户界面?
  • 如果您真的想要与屏幕大小相同的东西,那将是您最好的选择,是的。但请记住,这实际上太小了,因为您需要 1024x768 并且 720 小于屏幕的两个尺寸。
  • 这取决于您要实现的目标,我不知道当前可能捕获的内容是什么。 1280x720 是宽屏幕纵横比 (16x9),因此除了对其进行下采样外,您还必须裁剪、信箱或扭曲图像。但是,如果您想要最大分辨率并且这是大于或等于 iPad 的最接近的分辨率,那么它可能是正确的选择。 iPad 2 上的摄像头震动不大。我可能会尝试一些分辨率,看看更高的分辨率是否可以提高质量。
  • @mattjgalloway 提出了一个很好的观点:我忘记了在 iPad 上即使 720 也是不够的。
  • 从 720 像素宽度升级到 768 像素宽度对我来说非常合适。 T
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
相关资源
最近更新 更多