Cómo verificar la integridad de un video
En algunas ocasiones nos descargamos videos o películas de internet, pero en algún momento durante su reproducción encontramos errores. El origen del problema puede ser muy variado, desde un problema de codecs, del reproductor o que el video esté dañado. Para dar cobertura a los problemas en el que los videos se dañan por descargarlos, copiarlos desde un pendrive USB o similar vamos a publicar un tutorial que os enseñará a verificar la integridad de un video.
Los archivos de vídeo pueden ser de varios tipos (mkv, mp4, wmv,…), pero este método que os vamos a mostrar funcionará en la mayoría de los casos. Esto se debe a que usaremos el programa FFmepg para comprobar que el archivo de vídeo no tiene errores.
En mi caso el problema lo detecté durante la reproducción del video, pude apreciar que el sonido se reproducía correctamente pero el video se congelaba durante varios segundos. En otros casos el problema se puede detectar porque la imagen se ve borrosa, pixelada o simplemente porque no se reproduce nada.
Cómo comprobar la integridad de un video y verificar que no tiene errores.
Siempre que sea posible debemos comprobar la integridad del archivo del modo clásico, es decir, usando las funciones hash y algoritmos diseñados para este propósito. Que esto no te asuste, es un proceso muy sencillo al que ya le dedicamos un tutorial para verificar la integridad de archivos en Windows y cómo hacer esta verificación desde la terminal Linux.
Si el proceso anterior no nos sirve o no nos soluciona el problema, pasaremos a descargar FFmepg para poder seguir las siguientes instrucciones.
Verificar que un archivo de vídeo no tiene errores con FFmpeg.
Al usar FFmpeg tenemos una herramienta multiplataforma, por lo que este tutorial será aplicable tanto desde Windows como desde Linux. Algunos expertos recomiendan usar herramientas como Mediainfo o FFprobe (incluido en el paquete de FFmpeg) para extraer los metadatos del video y verificar que no hay nada fuera de lo común. Este paso nos lleva unos segundos y nos ayuda a verificar los metadatos, pero no detecta errores en la integridad del archivo.
Lo ideal para verificar la integridad del video es ejecutar el siguiente comando:
- En Windows:
ffmpeg.exe -v error -i video.mkv -f null - >error.log 2>&1
- En Linux:
ffmpeg -v error -i video.mkv -f null - 2>error.log
Cuando finalice el proceso tanto en Windows como en Linux se creará el archivo error.log
que tendremos que examinar con un editor de texto para comprobar que errores ha detectado. Si el archivo está en blanco es que no ha habido errores.
Advertiros que en el comando de ejemplo usamos como nombre de archivo a verificar video.mkv
, pero podría ser cualquier archivo de video soportado pro FFmpeg. El proceso de verificación puede llevar bastante tiempo, en función del tamaño del archivo y de la potencia del equipo que estemos usando. Para que os hagáis una idea, verificar un archivo de 600MB en mi equipo necesitó un minuto aproximadamente.