ffmpeg: Высочайшее качество преобразования 50i в 50p, сравнимое с Adobe Premiere

3742
Jim Hoyle

У меня есть 50i кадры (точнее помеченные как 25 кадров в секунду, но они содержат движение на дополнительных полях). Я могу получить довольно хорошее качество конвертации в 50p от Adobe Premiere, просто экспортировав его как Frame Rate 50, Progressive. Я также могу получить довольно хорошее качество преобразования с помощью ffmpeg, используя такие параметры, как:

ffmpeg.exe -y -i INPUT.MOV -b: v 12000k -vcodec libx264 -фильтр: v yadif = 1, формат = yuv420p -acodec copy OUTPUT.MP4

(или с -qp 0)

Проблема в том, что в результате ffmpeg на движущихся объектах значительно хуже артефакты сжатия. Даже на очень высоком битрейте (намного выше, чем у Premiere). Это почему? В принципе, это не поможет, если я добавлю «-preset veryslow». Есть ли другие параметры, чтобы попытаться избавиться от этих артефактов сжатия движения? Premiere дает хорошие, чистые результаты, в то время как ffmpeg производит слегка беспорядочно выглядящий JPEG (также с некоторым расчесыванием).

0
Вы уверены, что алгоритм деинтерлейсинга не виноват? Я предлагаю вам взять сцену, где проблема очень заметна, и сохранить эту сцену без сжатия. Да, и кстати: используйте CRF, а не битрейт. Daniel B 9 лет назад 0

1 ответ на вопрос

0
user1978011

Your guess is correct, that the video quality has nothing to do with the video encoding, but the deinterlace filter. You are using yadif, but if you are unsatisfied with its quality have a look at the other deinterlacing filters kerndeint, mcdeint and w3fdif. You can find usage details and options in the ffmpeg documentation.

Спасибо, это действительно, вероятно, больше о фильтре деинтерлейсинга. Вот результаты: я не мог заставить `kernint` работать с 50 кадрами в секунду (только 25 кадрами в секунду), и это было плохое качество в любом случае. `-crf 0 -filter: v yadif = 1: 0, mcdeint = 2: 1: 10, format = yuv420p` был безумно медленным, но создавал почти так же хорошо, как Premiere, но все еще хуже (даже с crf 0). `w3fdif` Я не мог работать ни для 50 кадров в секунду, ни для деинтерлейсинга вообще. Я был бы очень признателен, если бы кто-то мог опубликовать некоторые параметры, подтверждающие работу. Jim Hoyle 9 лет назад 0
Можете ли вы предоставить небольшой образец вашего видео? user1978011 9 лет назад 0
Возможно, достаточно, если я покажу [изображение] (http://postimg.org/image/4p36e5ruh/) - на этих скриншотах нет большой разницы на самом деле, но изображение выше немного хуже. Я написал текст на изображениях, поэтому он должен быть понятен. Jim Hoyle 9 лет назад 0
На самом деле я не вижу большой разницы там. Без надлежащего образца будет невозможно опубликовать правильные настройки фильтра, извините ... user1978011 9 лет назад 0
Я был неправ, что у Premiere был хороший деинтерлейсинг. Он не имеет никакого деинтерлейса, только удваивает поля. Просто с некоторым материалом, если удвоить поля и показать его со скоростью 50 кадров в секунду, он может выглядеть хорошо, но с векторной графикой он будет мерцать и выглядеть совершенно ужасно. Yadif кажется довольно хорошим, но он имеет, например, два кадра с ошибками, выглядящих как чересстрочные, когда видео обрезается до векторной графики или отходит от нее. Очень раздражает, что я не могу решить это. Jim Hoyle 8 лет назад 0
@JimHoyle "два кадра чересчур-выглядящих чередований", которые могут быть автоматическим определением четности полей, см. [Здесь] (https://ffmpeg.org/ffmpeg-filters.html#yadif-1). Вы можете установить это вручную, используя yadif = parity = ttf phiresky 7 лет назад 0

Похожие вопросы