Подобно тому, как чересстрочное прогрессивное содержимое разделяет каждый кадр на 2 поля, удваивая частоту кадров, общий метод деинтерлейсинга состоит в объединении каждых 2 полей в 1 кадр, что уменьшает скорость на 2, таким образом, принимая 50 в 25 кадров в секунду. Конечно, вы можете удвоить каждый последний кадр, но это не дает никакой выгоды.
Во-первых, мы можем прочитать не использовать -deinterlace, а вместо этого yadif (что вы уже делаете):
- deinterlace This option is deprecated since the deinterlacing is very low quality. Use the yadif filter with -filter:v yadif.
Вы, вероятно, найдете раздел yadif документации FFMPEG довольно интересным:
Deinterlace the input video ("yadif" means "yet another deinterlacing filter"). It accepts the optional parameters: mode:parity:auto. MODE specifies the interlacing mode to adopt, accepts one of the following values: ‘0’ output 1 frame for each frame ‘1’ output 1 frame for each field ‘2’ like 0 but skips spatial interlacing check ‘3’ like 1 but skips spatial interlacing check Default value is 0. PARITY default value is -1. AUTO default value is 0.
Обратите внимание, что по умолчанию MODE равен 0, что указывает FFMPEG выводить 1 кадр для каждых 2 полей, таким образом вдвое уменьшая число кадров в секунду. Я думаю, что вы ищете РЕЖИМ 1: один кадр на поле . Я не слишком уверен, как использовать эти необязательные параметры, но, возможно, что-то вроде
-filter:v yadif 1:-1:0 -s "1280x720" -r 50