Как удалить мерцающее фоновое изображение из видео с помощью ffmpeg?

#video #ffmpeg

#Видео #ffmpeg

Вопрос:

Я записал лекции с помощью OBS и загрузил их на Youtube. Позже я обнаружил, что записанные видеоролики мерцают и показывают базовое изображение рабочего стола. Мерцание действительно мешает, но было бы огромным усилием записать все с нуля.

Я могу извлечь ненужное изображение из видео. Есть ли способ идентифицировать это изображение (или его части) в записанных видео и удалить их? Или как-то уменьшить мерцание? Вот пример мерцающего видео.

Я не очень хорошо разбираюсь в ffmpeg. Я попытался уменьшить мерцание с помощью этого

 ffmpeg -i in.mp4 -vf "tblend=average,framestep=2,setpts=1*PTS" -r 10 out.mp4
 

Это уменьшает эффект диско, но оставляет тяжелые тени на фоновом изображении.

Я также попытался идентифицировать поврежденные кадры с помощью чего-то вроде этого

 ffmpeg -i in.mp4 -r 1 -loop 1 -i background.png -filter_complex "blend=difference:shortest=1,blackframe=30:20" -f null -
 

но я не уверен, правильный ли это подход и как продолжить с этого.

Я считаю, что моя команда сообщает о кадрах, которые соответствуют изображению. Я подумал, что можно было бы заменить эти кадры белым цветом, а затем использовать смешивание для заполнения недостающих битов. В идеале я хотел бы сделать все это с помощью одной команды. Любая помощь очень ценится!

Комментарии:

1. Посмотрите в фильтр выбора с оценкой изменения сцены. Отбрасывайте кадры с более высокими оценками.

2. Я полный новичок в ffmpeg и не совсем уверен, как это сделать. Я попробовал ffmpeg -i in.mp4 -filter:v "select='lt(scene,0.2)'" out.mp4 и заметил, что вывод был немного сокращен. Однако оно все равно мерцает. В видео есть звуковая дорожка, и я обеспокоен тем, что слишком много вырезано.