.png)
Según la documentación,mpdiezmar"Eliminará fotogramas que no difieran mucho del fotograma anterior para reducir la velocidad de fotogramas".
Me gustaría poder eliminar sóloexactofotogramas duplicados de un vídeo. Sé que el video tiene un montón de ellos que sonsimilar, pero sólo quiero deshacerme de los duplicados exactos.
¿Algún consejo sobre cómo usar ffmpeg con mpdecimate para hacer esto (o alguna otra herramienta)?
Respuesta1
Los valores de alto y bajo son para bloques de 8x8 píxeles y representan diferencias de valores de píxeles reales, por lo que un umbral de 64 corresponde a 1 unidad de diferencia para cada píxel, o lo mismo distribuido de manera diferente en el bloque.
Un fotograma es candidato a eliminarse si ningún bloque de 8x8 difiere en más de un umbral de hi, y si no más de los bloques frac (1 significa la imagen completa) difieren en más de un umbral de lo.
El valor predeterminado para hi es 64 * 12, el valor predeterminado para lo es 64 * 5 y el valor predeterminado para frac es 0,33.
ffmpeg -i input.mkv -vf mpdecimate=hi=1:lo=1:frac=1:max=0 output.mkv
DeberíaSolo suelte una imagen si toda la imagen no tiene más de 1 píxel de diferencia con respecto a la anterior.
Mi prueba con una imagen estática renderizada en un video h264 de 5 segundos muestra que en realidad se eliminan 3 fotogramas de 125. Posiblemente esto se deba a artefactos de compresión.
Al ajustar el valor alto y bajo a 200
ffmpeg -i input.mkv -vf mpdecimate=hi=200:lo=200:frac=1:max=0 output.mkv
luego se mantienen 21 fotogramas.
Es posible que deba ajustar los parámetros según su definición de duplicado exacto.