Проблемы с пониманием возможностей CMSampleBuffer и AssetWriter / скорости записи
Я работал над приложением, которое принимает выходные данные камеры, фильтрует изображение с помощью CIFilter и записывает буферы сэмплов в файл через AVAssetWriter. В большинстве случаев это работает хорошо, особенно при тестировании на iPhone X (где я могу с комфортом писать 30fps или 60fps с минимальными пропущенными кадрами).
При тестировании моего приложения на других устройствах, таких как iPhone 6, я обнаружил, что частота кадров значительно падает, до 3 или 4 кадров в секунду, а видео очень прерывистое.
Я неправильно понимаю, как didOutput sampleBuffer: CMSampleBuffer
работает? В идеале я хотел бы отфильтровать sampleBuffer без пропущенных кадров и сделать так, чтобы он записывал в файл, даже если это означает, что запись задерживается, и пользователь должен дождаться окончания обработки файла.
Отметим, что мне не нужно видеть предварительный просмотр отфильтрованного изображения, и я предпочел бы не выполнять обработку фильтра после использования отфильтрованной AVVideoComposition, поскольку во время захвата я могу менять фильтр в разных точках, а AVVideoCompisiton не делает позвольте мне сделать это, не разрезая видео на сегменты.
(При необходимости может предоставить код, но не уверен, относится ли он к данному запросу)