Я хочу применить фильтры (эффекты) к видеофайлу во время воспроизведения видео.
В настоящее время я использую @BradLarson (отлично) GPUImage
framework, поэтому проблема заключается в том, что фреймворк не поддерживает воспроизведение аудио во время воспроизведения видео.
Итак, у меня есть два варианта:
1) Погрузитесь в код GPUImage
и измените GPUImageMovie
, чтобы он также обрабатывал звуковые буферы. Для этого требуется знание синхронизации аудио и видео кадров, и, к сожалению, у меня ее нет. Я видел некоторые хаки, которые пытаются воспроизвести звук с помощью AVAudioPlayer
, но с большим количеством проблем с синхронизацией.
2) Используйте CoreImage
рамки вместо GPUImage
.
Итак, я хочу взглянуть на второй вариант использования родной iOS CoreImage
и CIFilter
для выполнения задания.
Проблема в том, что я не смог найти какой-либо пример того, как это сделать с помощью CIFilter
, как применить фильтры к видео из файла?
Должен ли я использовать AVAssetReader
для чтения видео и обработки каждого кадра? если это так, я вернусь к своей первой проблеме синхронизации аудио и видео.
Или есть способ применить цепочку фильтров непосредственно на видео или на уровне предварительного просмотра?
Оцените любую помощь:)