2012-07-03 3 views
6

Я искал, чтобы найти, что sdk не поддерживает цифровой зум в или из, вы должны сделать это косвенно. То, как я нашел в stackoverflow, - это преобразовать AVCaputureVideoPreviewLayer во время записи и выполнить соответствующий постпроцесс преобразования на выходное видео (моя настоящая идея - использовать функцию преобразования рампы AVMutableVideoCompositionLayerInstruction's).ios цифровой зум для записи видео. как эффективно реализовать?

Проблема заключается в том, как вы можете записывать все непрерывные действия активности пользователя, которые, как я думаю, могут быть очень сложными в отношении увеличения и уменьшения масштаба. Я имею в виду, например, я создаю слайдер для пользователя, чтобы управляйте увеличением, пользователь может слегка увеличить масштаб слайдера в 4 раза (скажем, последние 3 секунды) и, не отпуская слайдер, быстро уменьшать до 2X (скажем, последние 0,5 секунды), мне нужно записать все эти изменения в соответствии с временной шкалой.

Я действительно чувствую этот комплекс записей, кроме того, вы также должны гарантировать, что он не будет стоить слишком много ресурсов, чтобы обеспечить плавную работу процесса видеозаписи! Или любой другой способ реализации цифрового зума? Благодарен любому помощнику!

ответ

1

Вы можете преобразовать AVCaputureVideoPreviewLayer во время записи и использовать значение масштабирования для управления кадрами в делегате AVCaptureVideoDataOutput. Метод делегирования captureOutput:didOutputSampleBuffer:fromConnection: может использоваться для обработки кадров видео. См. Документацию AVFoundation AVFoundation documentation, Захват носителя> Обработка кадров видео.

Смежные вопросы