AVCaptureVideoDataOutput和设置kCVPixelBufferWidthKey&kCVPixelBufferHeightKey
我试图通过设置kCVPixelBufferWidthKey
和kCVPixelBufferHeightKey
从AVCaptureVideoDataOutput
捕获特定大小的帧。
问题是缓冲区宽度和高度永远不会改变,它们总是回来852×640
这是我的代码:
// Add the video frame output self.videoOutput = [[AVCaptureVideoDataOutput alloc] init]; [videoOutput setAlwaysDiscardsLateVideoFrames:YES]; // Use RGB frames instead of YUV to ease color processing [videoOutput setVideoSettings:[NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithFloat:320.0], (id)kCVPixelBufferWidthKey, [NSNumber numberWithFloat:320.0], (id)kCVPixelBufferHeightKey, [NSNumber numberWithInt:kCVPixelFormatType_32BGRA],(id)kCVPixelBufferPixelFormatTypeKey, nil]]; [videoOutput setSampleBufferDelegate:self queue:dispatch_get_main_queue()];
编辑:来自iOS AVCaptureOutput.h:目前,唯一支持的键是kCVPixelBufferPixelFormatTypeKey。
谁知道设置输出缓冲区宽度/高度的工作方法?
来自iOS AVCaptureOutput.h: Currently, the only supported key is kCVPixelBufferPixelFormatTypeKey.
这总结了一下。