Cómo eliminar cuadros repetidos tras un telecine con FFmpeg

FFmpeg puede borrar cuadros repetidos tras un telecine

Sí, es totalmente posible. Cuando un video proviene de una conversión de telecine—por ejemplo, material de cine a 23.976 fps convertido a 29.97 fps mediante patrón 3:2—FFmpeg puede eliminar esos cuadros duplicados y recuperar la velocidad original.

Digital workspace showing film reel transforming into digital file with code snippets.
Visualización del proceso de conversión y limpieza de video con FFmpeg.

Situaciones comunes y soluciones

Existen varias formas en las que puedes encontrar estos artefactos, dependiendo de cómo se haya procesado el material:

1. Telecine clásico 3:2 bien conservado

Lo ideal aquí es combinar los filtros fieldmatch y decimate:

ffmpeg -i entrada.mpg -vf "fieldmatch,decimate" -r 24000/1001 salida.mkv

El filtro fieldmatch reconstruye los cuadros progresivos originales, mientras que decimate elimina los cuadros extra introducidos por el telecine. Esta es la técnica estándar para IVTC.

2. Video progresivo con cuadros repetidos

A veces alguien hizo un telecine y luego desentrelazó mal el material. En ese caso no hay campos para recombinar, pero siguen existiendo cuadros repetidos. Puedes usar:

ffmpeg -i entrada.mp4 -vf mpdecimate -vsync vfr salida.mkv

O en versiones recientes con -fps_mode vfr. El filtro mpdecimate detecta cuadros prácticamente idénticos y los elimina automáticamente.

3. Material híbrido

Este es el caso más complicado: episodios de anime antiguos donde algunas escenas son telecineadas y otras son video nativo a 29.97 fps. En esos casos suelen usarse filtros más sofisticados o herramientas como Avisynth + TIVTC, VapourSynth + VIVTC, o QTGMC con análisis posterior.

Cómo saber si realmente hay telecine

Puedes inspeccionar unos segundos del video usando ffplay -vf fieldmatch entrada.mpg o extrayendo información con el comando de showinfo. Si observas una secuencia repetitiva como AABBCCDDD, es muy probable que exista telecine 3:2.

Si tienes un fragmento y sabes su framerate actual, puedo decirte qué método tiene más probabilidades de funcionar.