IOS 捕获 12 MP 视频 (iPhone 6s) 产量 1000x750

标签 ios iphone avcapturesession avcapture avcaptureoutput

根据https://forums.developer.apple.com/thread/21694

Both iPhone 6s and 6s Plus can capture 12 megapixel photos (4032x3024) on the rear-facing camera via the AVCaptureStillImageOutput, and can deliver up to 30 fps 12 MP frames to your process via AVCaptureVideoDataOutput. When you use AVCaptureSessionPresetPhoto as your AVCaptureSession’s -sessionPreset, the 12 megapixel ‘420f’ format is chosen by default.

所以我尝试使用以下代码来做到这一点:

self.captureSession.sessionPreset = AVCaptureSessionPresetPhoto;
AVCaptureVideoDataOutput*   videoOutput = [[AVCaptureVideoDataOutput alloc] init];
videoOutput.alwaysDiscardsLateVideoFrames = YES;
[videoOutput setSampleBufferDelegate:self queue:dispatch];
[self.captureSession addOutput:videoOutput];

我的设备的事件格式设置为:

device format: AVCaptureDeviceFormat: 0x12c684630 'vide'/'420f' 4032x3024, { 3- 30 fps}, fov:57.716, max zoom:189.00 (upscales @1.00), AF System:2, ISO:23.0-1840.0, SS:0.000013-0.333333

看起来不错。

但是,我将以下代码添加到 captureOutput 回调中:

CVPixelBufferLockBaseAddress(imageBufferRef,0);
size_t width = CVPixelBufferGetWidth(imageBufferRef);
size_t height = CVPixelBufferGetHeight(imageBufferRef);
CVPixelBufferUnlockBaseAddress(imageBufferRef,0);
NSLog(@"ImageCameraSource:\n   width:%zu\n   height:%zu\n", width, height);

它输出

ImageCameraSource: width:1000 height:750

为什么回调中的分辨率不是4032x3024?

最佳答案

尝试使用AVCaptureSessionPreset3840x2160实时获取最高分辨率的帧

self.captureSession.sessionPreset = AVCaptureSessionPreset3840x2160;
AVCaptureVideoDataOutput*   videoOutput = [[AVCaptureVideoDataOutput alloc] init];
videoOutput.alwaysDiscardsLateVideoFrames = YES;
[videoOutput setSampleBufferDelegate:self queue:dispatch];
[self.captureSession addOutput:videoOutput];

关于IOS 捕获 12 MP 视频 (iPhone 6s) 产量 1000x750,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34996797/

相关文章:

ios - json 请求响应出现问题,得到空白响应

iphone - 使用动态大小的 subview 调整 UIView 子类的大小

iphone - UITextField - (void)drawPlaceholderInRect :(CGRect)rect returns different CGRect height in iOS 7

ios - 获取相机预览到 AVCaptureVideoPreviewLayer

ios - iphone 4s 中的 AvCapture Session 全屏

ios - 如何获取 AVCaptureDevice 的当前温度和色调?

ios - UITableView不会显示数据

ios - 根据 NSString 日期对对象进行排序

iOS - Swift - 使用 Alamofire 的必应图像搜索 API 身份验证

IOS 攻击者可以看到多少我的方法?