Я пытаюсь воспроизвести AVPlayerItem в оттенках серого, применяя фильтр CIColorControls
с AVMutableVideoComposition
(в частности, этот метод: https://developer.apple.com/documentation/avfoundation/avmutablevideocomposition/1387006-videocompositionwithasset?language=objc) для каждого кадра видео, чтобы изменить насыщенность на 0.0
(используя imageByApplyingFilter:withInputParameters:
для применения самого фильтра).
Это работает, но, похоже, требует интенсивного использования памяти.Есть ли более эффективный способ воспроизведения видео в режиме простого градаций серого?
В качестве примечания, я попытался исправить проблему, установив renderSize
в AVMutableVideoComposition на меньшее разрешение, так как видео довольнобольшой, 1920x1080, который, как мне показалось, может увеличить проблему производительности применения кадровых фильтров.Однако при попытке установить это свойство я получаю сообщение об ошибке, что оно доступно только для чтения.Я думал, что использование AVMutableVideoComposition вместо базового AVVideoComposition было специально предназначено для изменения этих свойств?