Двойной деинтерлейс с полным движением - ffmpeg + yadif 50i-50p 60i-60p
Я пытаюсь понять, как использовать yadif
/ yadif-2x
с помощью ffmpeg для преобразования исходного материала 50i в выходной сигнал 50p, который сохраняет движение всех пятидесяти полей в секунду. Прямо сейчас я использую следующую команду, которая создает версию с двойным кадром, по сути, такую же, как 25p.
ffmpeg -i input.m2t -f:v yadif=1 -c:v prores output.mov
С помощью yadif=0
делает деинтерлейсированный файл 25p. С помощью yadif=1
создает деинтерлейсированный файл 50p с удвоенными кадрами 25p. Мне нужно создать деинтерлейсированный файл с 50 уникальными кадрами в секунду, и я вполне уверен, что это возможно. Это то, что должен делать yadif(2x)?
4 ответа
Оказывается, что видео, которое я пытался сделать с двойным деинтерлейсом, на самом деле было 25p, которое было закодировано в видеофайл 50i, чтобы соответствовать более старому стандарту AVCHD. По-видимому, это обычная практика для безленточных камер с середины конца 2000-х годов. Поэтому, конечно, когда я пытаюсь деинтерлейсировать, я получаю максимум исходный источник 25 кадров в секунду, потому что между полями нет движения.
f: v yadif = 1 делает в точности то, что описано - он берет истинные чересстрочные 50i кадры и превращает их в удивительно высококачественный 50p вывод с использованием взвешенного по движению боб-алгоритма, точно так же, как фильтр реального времени "yadif 2x" в VLC, Выходной сигнал почти вдвое превышает эффективное вертикальное разрешение по сравнению с пропущенным кадром деинтерлейсом. Сейчас это один из моих любимых видеофильтров, потому что практически ничего другого не предлагает такую возможность.
Я использовал эту команду:
ffmpeg -i source_50i.MTS -aspect 1920:1080 -vf yadif=1,scale=1920:1080 -c:v libx264 -preset fast -profile:v high -crf 23 -ac 2 -strict experimental -c:a aac -b:a 96k -movflags +faststart -y result_50p.mp4
и все работало нормально!
Я не проверял, является ли метод yadif хорошим или не хорошего качества, но на самом деле он был создан с 50i MTS до 50p mp4 из исходного файла видеокамеры. Исходный файл был 19 МБ, а результат - 21 МБ.
Я думаю, что многие не понимают, что 29.97 относится только к тому, как часто катодно-лучевая трубка возвращалась для сканирования одного и того же "пикселя". Он был на соседнем (выше или ниже) "пикселе" только на 1/60 секунды раньше.
Каждое растровое сканирование длилось 1/60 секунды. экспозиция. Следующее сканирование было следующим 1/60. Они не были проведены; их отправляли 60 раз в секунду, когда растры с половинным разрешением растягивались вертикально, чтобы заполнить экран. Благодаря чередующемуся сканированию нечетных и четных строк, полное разрешение было достигнуто с использованием только половины "полосы пропускания".
Это всегда было 60 различных растров в секунду, а не 30.
Пожалуйста, поймите - 50i означает 50 полей = 25 кадров из 50 чередующихся полей. Вы НЕ МОЖЕТЕ получить уникальные 50 кадров. Если это вообще возможно, то у этих кадров будут отсутствующие чередующиеся строки в видеокадре. Таким образом, 25p - это 50i top + 50i bottom вместе. Так и должно быть, и, надеюсь, так будет всегда. В противном случае результатом могут быть дублированные кадры (ужасные), как вы получили.