我的目标是编写一个自定义相机视图控制器:
我以前的努力记录在this question中。我最近的尝试是修改Apple的样本GLVideoFrame(来自WWDC 2010)。但是,当会话预设为AVCaptureSessionPresetPhoto时,我无法让iPhone 4正确显示预览“视频”。
有没有人试过这个或者知道为什么这个例子不能用于这个预设?
Apple的示例使用640x480视频尺寸的预设和默认纹理尺寸1280x720。当预设为AVCaptureSessionPresetPhoto时,iPhone 4后置摄像头仅提供852x640。
预设时iOS设备摄像头视频/照片尺寸为AVCaptureSessionPresetPhoto:更新
切换Brad Larson的ColorTracking示例(garbled video)以使用AVCaptureSessionPresetPhoto时,我得到了相同的blog post结果。
答案 0 :(得分:1)
问题是AVCaptureSessionPresetPhoto
现在可以识别上下文,并根据您是否正在显示视频或静态图像捕获而以不同的分辨率运行。
此模式的实时预览不同,因为它会用额外的字节填充行。我猜这是某种硬件优化。
无论如何,你可以看到我在这里解决了这个问题:
iOS CVImageBuffer distorted from AVCaptureSessionDataOutput with AVCaptureSessionPresetPhoto
答案 1 :(得分:-2)
AVCaptureSessionPresetPhoto用于拍摄照片,而不是拍摄实时Feed。您可以在此处阅读:http://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/03_MediaCapture.html
(我认为这实际上是两个不同的凸轮或传感器,因为它们的行为非常不同,而且只需要在Photo和640x480之间切换就会延迟几秒钟。
你甚至无法同时使用这两个预设,并且在它们之间切换也很头疼 - How to get both the video output and full photo resolution image in AVFoundation Framework
HTH,虽然不是你想听的......乌迪德。