Deep Dive: El Verificador (Auditor Forense)
El verifier.py es el componente más crítico. Aquí explicamos cómo "juzga" los videos usando comandos reales.
Las 3 Pruebas del Juez
1. ¿Está bien construida la caja? (Estructural)
- Comando:
mkvmerge -J "video.mkv" - Explicación: Mira si el archivo MKV tiene todas sus piezas en su sitio. Si la caja está rota, no podemos guardar nada dentro.
2. ¿Se puede leer la información? (Metadatos)
- Comando:
ffprobe -v quiet -print_format json -show_format -show_streams "video.mkv" - Explicación: Comprueba que el video dure más de 0 segundos y que tenga al menos una imagen. Si dura 0 segundos, es que no hay película.
3. ¿La película funciona de principio a fin? (La Prueba de Fuego)
- Comando:
ffmpeg -v error -xerror -i "video.mkv" -f null - - Explicación: El ordenador lee la película a toda velocidad. Si hay un trocito corrupto (como un rayón en un DVD), el comando se para de golpe. Solo si llega al final sin errores, el Juez dice que el video es "Sano".
- Filosofía: Esta prueba es lenta porque es forense. Es el precio a pagar para asegurar que lo que subes no va a petar en la televisión de otra persona y que no estás almacenando "aire" (archivos que parecen estar bien pero se cortan a la mitad).
El "Modo Rescate": Comparar el Viejo vs el Nuevo
Cuando arreglamos un video viejo (como un .avi) para hacer uno nuevo (.mkv), el Juez usa estos trucos:
- ¿Faltan cosas?: Cuenta los idiomas (audio) y las letras (subtítulos). El nuevo tiene que tener lo mismo o más que el viejo. No permitimos perder nada.
- ¿Es más pequeño?: Mira el tamaño de la imagen. Si el nuevo es más pequeño que el viejo, el Juez se enfada porque hemos perdido calidad.
- ¿Dura lo mismo?: Compara el tiempo. El Juez es flexible y permite hasta un 10% de diferencia (aunque intentamos que sea 0).
"Si el Juez tiene una duda, prefiere no borrar nada para que no pierdas tus videos."