Как описано здесь , вы можете установить атрибуты пиксельного буфера в выходных данных вашего QTCaptureSession, чтобы изменить разрешение захвата видео. Например:
[[[myCaptureSession outputs] objectAtIndex:0] setPixelBufferAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:480], kCVPixelBufferHeightKey,
[NSNumber numberWithInt:640], kCVPixelBufferWidthKey, nil]];
установит разрешение видео 640x480 для первого вывода в сеансе захвата. Это также должно изменить сами настройки камеры, чтобы она возвращала кадры изображения такого размера (если поддерживается оборудованием камеры).
Вы также можете использовать базовую кодировку MPEG4 вместо h.264 для записи видео в реальном времени. Это можно установить с помощью кода, подобного следующему:
NSArray *outputConnections = [mCaptureMovieFileOutput connections];
QTCaptureConnection *connection;
for (connection in outputConnections)
{
if ([[connection mediaType] isEqualToString:QTMediaTypeVideo])
[mCaptureMovieFileOutput setCompressionOptions:[QTCompressionOptions compressionOptionsWithIdentifier:@"QTCompressionOptionsSD480SizeMPEG4Video"] forConnection:connection];
}
Кодирование h.264, в частности реализация Quicktime, использует для кодирования гораздо больше ресурсов процессора, чем базовый MPEG4.