AVCaptureVideoDataOutput и настройка kCVPixelBufferWidthKey & kCVPixelBufferHeightKey - PullRequest
6 голосов
/ 01 ноября 2011

Я пытаюсь захватить кадры определенного размера из 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.

Кто-нибудь знает рабочий метод установки ширины / высоты выходного буфера?

1 Ответ

4 голосов
/ 02 ноября 2011

из iOS AVCaptureOutput.h: Currently, the only supported key is kCVPixelBufferPixelFormatTypeKey.

это подводит итог.

...