El amigo Fernando Ferro, ha escrito un pequeño script para facilitar el análisis de videos con FFMPEG.
Evidentemente, hay que tener previamente instalado FFMPEG
Puedes descargar el script de AQUI.
NOTA: el 01/08/2023 actualizé el script con algunas mejoras. Ahora es la versión: exportarCuadrosConDatos1.5.bat
INSTRUCCIONES
1.- Crear una carpeta y copiar dentro el script.
2.- Arrastra un archivo de video sobre el script.
¡ ATENCION ! – Es muy posible que los sistemas antivirus detecten la acción como potencialmente peligrosa.
Ante este aviso:
Pulsar en Mas Información
Pulsar en Ejecutar de todas formas
3.- El script informa del ancho de la imagen, recomienda diferentes tamaños de muestra y solicita el tamaño de la fuente que mostrara los datos.
4.- El script abre un reproductor que visualiza el video con los parámetros de interés.
5.- Se puede detener el video en cualquier momento cerrando el reproductor. El cierre lo detecta el script que pregunta si queremos la descomposición en fotogramas o volver atrás.
6.- A continuación se solicita el margen de tiempo del video de donde extraer los cuadros, mostrando por defecto el 0 para el inicio y la duración completa del video para el final.
El script crea una carpeta TEMP, con los cuadros extraídos dentro:
Ejemplo de cuadro extraído con la información impresa:
Gracias al maestro Ferro, una vez mas, por compartir sus conocimientos.
Fernando Ferro:
ferrofernando@gmail.com
12 comentarios en «Script para el análisis de videos con FFMPEG by Fernando Ferro»
Hola. Gracias David por publicar y explicar también como usarlo.
Recuerden que deben también tener instalado el ffmpeg (www .ffmpeg.org) porque todas las cuentas las hace ese excelente paquete de herramientas
Hola. He realizado todo el procedimiento y funciona a la perfección, pero me he encontrado con que sale un cuadro I cada 30 cuadros P. No sé si esto es algo habitual.
Gracias.
Buenas. Eso puede estar bien. Depende de como ha codificado el video la cámara en cuestión.
Hola Juan Carlos, bienvenido! Eso es muy común. Algunos videos comprimen SOLO con cuadros predictivos (P) en el GOP (Grupo de Imágenes).
No es lo más eficiente pero sigue siendo muy popular entre cámaras no tan nuevas.
Un GOP de 30 cuadros es bueno. A veces las cámaras de seguridad tienen cientos de cuadros allí, y eso produce imágenes de calidad más pobre
Como escribió David, este script solo reporta lo que encuentra en tu archivo. La cantidad de cuadros P o B depende del tamaño de Grupo de Imágenes (GOP), entre tantos otros parámetros de la codificación en ese video en particular.
Es normal un GOP de ese tamaño en videos de teléfonos y cámaras fotográficas. En cámaras de seguridad el GOP es mucho más grande (250 cuadros P o más). Y eso no es muy bueno para hacer mediciones.
Buenos días David!! ¿Qué tal todo? Espero que bien. Y para un video con un video de un ancho de imagen de 2048px, ¿qué fuente se recomienda? Tengo un video que me está dando problemas o, por lo menos, no me da fotogramas. Un saludo!
Hola!. Con los datos q me das no se muy bien que contestar. El tamaño de la fuente da igual para que exista o no extracción de fotogramas. Revisa bien que ffmpeg esta bien instalado y en el path de windows
El tamaño de la fuente lo decides tu en función de que pueda leerse bien sobreimpreso en tu video. Si es muy grande no entra en el ancho del cuadro, si es muy pequeño no se entiende.
Para 2048px te recomiendo 48px o más.
En la próxima versión voy a evitar ese paso, adaptando el tamaño de la fuente al tamaño del cuadro automáticamente.
Atención: He actualizado el script a la versión 1.3 para que funcione con el nuevo FFMPEG y también reparando una falla.
Si sigo con el proceso crea la carpeta TEMP pero no hay nada dentro
Hola Leandro, perdón por la demora. Pudiste resolver el problema? Si no es así puedes darme más datos? qué extensión y codec tiene tu video
Hola. He seguido los pasos que indica y en la carpeta TEMP me aparecen los fotogramas pero son marco de tiempo, es decir, tal cual lo que se ve en el reproductor, no puedo ver el tiempo entre fotogramas? Estoy haciendo algo mal? Gracias y un saludo.