Проблема
Привет! Я новый пользователь ffmpeg и пытаюсь преобразовать несжатый avi из After Effects в файл mp4. Проблема в том, что цвета плохие по сравнению с настройками Adobe Media Encoder «Соответствие источнику — высокий битрейт». Когда я использую ffmpeg, красные цвета более оранжевые. Когда видеоконтент представляет собой анимацию, эта цветовая деструкция весьма значительна (особенно кожи персонажа).
Когда я использовал эту строку (строка 1), есть некоторые результаты и сравнение:
ffmpeg -i uncompressed_video.avi -preset:v slow -profile:v high -pix_fmt yuv420p -crf 18 -color_primaries 1 -colorspace 2 -color_trc bt709 -movflags +faststart output.mp4
Сравнение:
- Adobe Media Encoder против ffmpeg
- несжатый avi (оригинал) против Adobe Media Encoder (соответствует исходному высокому битрейту)
- несжатый avi (оригинал) vs ffmpeg
Наилучшие результаты, наиболее похожие на Media Encoder, были достигнуты при использовании этой строки (строка 2):
ffmpeg -i video.avi -preset:v slow -profile:v high -pix_fmt yuv420p -crf 18 -color_primaries bt2020 -color_trc bt709 -colorspace bt2020_ncl -color_range pc -filter_complex "eq=gamma=1.1:saturation=1.1:contrast=1.2,curves=g='0/0 .50/.475 1/1':b='0/0 0.50/0.49' 1/1:r="0/0 .51/.51 1/1"" video.mp4
Но проблема в том, что MPC все еще имеет оранжевое изображение, но VLC правильно воспроизводит цвета. Но когда я кодирую видео в Adobe Media Encoder, и VLC, и MPC правильно воспроизводят цвета. Кстати, также есть разница между размером файла (размер файла взят из другого файла, который не прикреплен к этому сообщению).
- оригинал: ~ 7 ГБ
- ffmpeg (строка 2): ~ 30 МБ
- Adobe Media Encoder (соответствует высокому битрейту источника): ~ 100 МБ
Но меня устраивает размер файла 100 МБ, если он будет иметь наилучшее качество, не повредить цвета и будет одинаково воспроизводиться в проигрывателях MPC и VLC.
Вопрос
Как сделать те же настройки, что и Adobe Media Encoder (согласовать исходный высокий битрейт) с ffmpeg, чтобы добиться наилучшей передачи цвета из исходного несжатого файла avi в файл mp4?