来自 AVFoundation 的 iPhone 5 视网膜显示纵横比

Posted

技术标签:

【中文标题】来自 AVFoundation 的 iPhone 5 视网膜显示纵横比【英文标题】:iPhone 5 retina display aspect ratio from AVFoundation 【发布时间】:2012-10-04 11:35:58 【问题描述】:

AVFoundation 提供了不同的图像纵横比,供人们在显示视频时使用。

例如:

- NSString *const AVCaptureSessionPreset320x240;
- NSString *const AVCaptureSessionPreset352x288;
- NSString *const AVCaptureSessionPreset640x480;

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

在 iPhone4 和 iPad 上,这些分辨率设计为全屏。但在配备 Retina 显示屏的 iPhone 5 上,iPhone 显示屏更高。

应该如何处理显示来自 AvFoundation 的视频源?除了必须选择更大的纵横比并对其进行裁剪、缩放视频(破坏其纵横比)或在我们的应用中留下一些空白屏幕空间之外,还有其他选择吗?

【问题讨论】:

【参考方案1】:

您可以在 iPhone 5 上使用AVCaptureSessionPreset1920x1080 预设。请参阅AVCaptureSession Class Reference for iOS

编辑:

AVCaptureSessionPresetiFrame960x540 预设与AVCaptureSessionPreset1920x1080 具有相同的比率。如果您想提高性能并保持纵横比,这应该是最佳选择。

【讨论】:

我们使用的摄像头馈送是相当密集的 CPU,当使用更大的图像尺寸时,我们的性能会呈指数下降。我们真正想要的是具有 iphone 5 纵横比的东西,但不是全分辨率。 太棒了,谢谢。现在希望较低的分辨率对我们来说足够高效。 不行,分辨率还是太高了。那好吧。我得想点别的办法了。

以上是关于来自 AVFoundation 的 iPhone 5 视网膜显示纵横比的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 使用 AVFoundation 录制声音后 iPhone 声音级别低

使用 OpenCV 和 AVFoundation 框架的 iPhone 实时图像处理?

使用 AVFoundation 框架(AVCaptureSession)在 iPhone 中录制视频?

如何在 iphone 中使用 avFoundation 像 Instagram 应用一样拍摄方形照片?

OSX 上的 AVFoundation:来自视频的 OpenGL 纹理,无需访问像素数据

PiP AVPlayerViewController 问题 iPhone