Tengo imágenes problemáticas de buceo debido a mi cámara/tarjeta SD: aproximadamente cada cuarto cuadro es solo negro, y quiero reemplazar todos esos cuadros negros con una interpolación entre el cuadro anterior y el siguiente o simplemente duplicar el cuadro anterior.
Encontré esta pregunta "eliminar marcos negros de archivos vob con ffmpeg" , pero no quiero cortar los marcos, sino interpolar entre los dos marcos o duplicar el marco anterior.
Creo que podría obtener todas las posiciones relevantes con los filtros de cuadro negro, etc., pero ¿qué tipo de acciones usaría para reemplazar esos cuadros con una interpolación o un duplicado del cuadro anterior de forma totalmente automática (así que solo pasar mi archivo de película al guión)?
Todo lo que he encontrado hasta ahora es el método "shuffleframes", que de alguna manera podría (¿cómo?) alimentar con la posición de los cuadros negros y luego duplicar el cuadro anterior.
Las imágenes de demostración que detallan el problema se pueden encontrar aquí .
Es posible eliminar los marcos negros y duplicar los marcos anteriores.
ffmpeg -i in.mp4 -vf blackframe=0,metadata=select:key=lavfi.blackframe.pblack:value=50:function=less -vsync cfr -c:a copy out.mp4
El filtro de marco negro analiza y registra la proporción de píxeles de un marco que son negros. El filtro de metadatos mantiene todos los fotogramas que tienen como máximo el 50 % de los píxeles en negro. Los fotogramas eliminados crean un espacio en la transmisión de video. Entonces, al configurar el método de sincronización de video a una velocidad de cuadros constante, ffmpeg duplica los cuadros anteriores (no negros) para llenar esos espacios.
Tendrá que experimentar con el valor de selección de metadatos 50
para obtener el umbral correcto.
3 s 532 ms
y para el archivo nuevo3 s 534 ms
1/fps
segundos.
BlueRaja - Danny Pflughoeft