Как воспроизводить чересстрочное видео, где четные линии в верхней половине изображения и нечетные линии в нижней половине?

У меня есть устройство, которое транслирует видео h264 в следующем формате: верхняя половина изображения - четные строки видео, а нижняя половина изображения - нечетные строки видео. Поэтому вопрос в том, как я могу воспроизвести это видео в обычном режиме, используя стандартные плееры, например, ffplay. Я знаю о плагине "tinterlace:merge" в ffmpeg, но он объединяет видео из двух картинок, следующих один за другим. Поэтому моя задача - сделать правильное видео из одного кадра. С уважением, Алексей.

2 ответа

Недавно мне пришлось столкнуться с точно такой же проблемой.

Есть много разных методов, и оптимальное решение полностью зависит от вашей ситуации,

Самый простой и быстрый метод - это объединение двух полей, что идеально подходит для неподвижных частей, но создает эффект расчески в движущемся объекте.

более сложные методы используют методы обнаружения движения.

Я слил два поля, а затем применил усреднение по Edge-Line (ELA) для перемещения сегментов, чтобы уменьшить эффект гребня.

проверьте эту ссылку для подробного объяснения проблемы

Было бы хорошо, если бы вы могли предоставить пример видеофайла. Вы очень хорошо описываете, как выглядит картинка, но файл может содержать другую информацию, полезную для воспроизведения.

Кроме того, формат, который вы описываете, не звучит как стандартный формат, поэтому маловероятно, что вы получите обычный проигрыватель, который будет воспроизводить его так, как вы хотите, прямо из коробки. Если вы используете ffplay, скорее всего, вам придется написать свой собственный плагин, чтобы изменить порядок строк сканирования перед их отображением.

Кроме того, вы можете перекодировать видео в стандартный формат (чересстрочный или деинтерлейсинг), используя ffmpeg. Затем вы можете воспроизвести его на любом обычном проигрывателе, например, ffplay или VLC.

Наконец, я рекомендую задать свой вопрос в списке рассылки ffmpeg.

Другие вопросы по тегам