AVAssetWriter - я могу написать с кодеком без потерь? - PullRequest
0 голосов
/ 04 февраля 2019

Я работаю над анимационным приложением.Я хочу экспортировать серию NSImage объектов, каждый из которых представляет визуализированный кадр анимации, в видеофайл.Я подтвердил, что объекты NSImage, генерируемые рендерингом NSView, являются несжатыми и представляют собой идеальное представление исходного содержимого NSView.Однако, когда я записываю видеофайл с AVAssetWriter, видео явно сжимается.

Наилучшее качество, которое я нашел, это использование AVVideoCodecTypeJPEG и передача @{AVVideoQualityKey : @(1.0)} как AVVideoCompressionPropertiesKey.Однако качество по-прежнему не идеальное.

На приведенном ниже снимке экрана изображение слева - это окно приложения, в котором отображается содержимое NSView.Изображение справа - это экспортированное видео, открытое в Quicktime.Как видите, визуализированное изображение темнее, а цветность не такая, как в оригинале.При увеличении изображения выявляются дополнительные артефакты сжатия.

Это для пиксельного графического проекта, поэтому важно, чтобы экспортируемое видео было попиксельным и идентичным тому, что отображается в программном обеспечении для анимации.Я предполагаю, что мне нужно использовать другой кодек, но перепробовав все доступные через AVVideoCodecType, ни один не дал подходящего вывода.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...