AVCaptureVideoDataOutput
我正在尝试通过设置kCVPixelBufferWidthKey
&捕获特定大小的帧kCVPixelBufferHeightKey
。
问题是缓冲区的宽度和高度永远不会改变,它们总是回来852x640
这是我的代码:
// 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。
有人知道设置输出缓冲区宽度/高度的工作方法吗?