Измените разрешение камеры, если у меня есть ширина и высота в iOS
Мне нужно изменить разрешение живого видео в соответствии с шириной и высотой, введенных пользователем. Извините за мой вопрос, но я никогда не делал это раньше.
Пожалуйста помоги.
2 ответа
Вы можете изменить разрешение видео с помощью AVMutableVideoComposition
а также AVAssetExportSession
,
Сначала создайте объект AVMutableVideoComposition
показано ниже.
AVMutableVideoComposition* videoComposition = [AVMutableVideoComposition videoComposition];
videoComposition.frameDuration = CMTimeMake(1, 30);
videoComposition.renderSize = CGSizeMake(YOUR_WIDTH, YOUR_HEIGHT);
Затем создайте объект AVAssetExportSession
,
exporter = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetHighestQuality];
exporter.videoComposition = videoComposition;
И напишите завершение блока для экспортера.
Надеюсь это поможет.
Если вы используете OpenTok, вы можете использовать пользовательский видеозахват, который в основном идентичен тому, который найден в этом примере. Единственное отличие состоит в том, что вам нужно будет дополнительно написать код для масштабирования изображения из CVPixelBuffer (называется imageBuffer
) к размеру, который устанавливает ваш пользователь.
Один из способов масштабирования изображения - использование API-интерфейсов CoreImage, как показано здесь: /questions/31574234/ios-masshtabirovat-i-obrezat-cmsamplebufferrefcvimagebufferref/31574239#31574239