¿No se pudieron encontrar los parámetros del códec, para gif?

La escena: Ubuntu 16.04, recientemente actualizado desde 14.04 donde las cosas se animaron felizmente con avconv

Los accesorios: un directorio lleno de imágenes fijas, motor_animate_000.gif, motor_animate_001.gif, etc.

Los jugadores: Yo, un usuario de ffmpeg en su mayoría novato, y ffmpeg.

El drama:

Basado en una sugerencia que tenía para resolver otro problema, ejecuto la línea de comando:

ffmpeg -f image2 -framerate 30 -i motor_animate_%03d.gif motor.mpg

Después de la habitual e insoportable lista detallada de cosas de ffmpeg, aparece el siguiente mensaje de error (en más de un color, ooh, ooh).

[image2 @ 0x14f8420] No se pudieron encontrar los parámetros del códec para la transmisión 0 (Video: ninguno, ninguno): códec desconocido Considere aumentar el valor de las opciones 'analyzeduration' y 'probesize' motor_animate_%03d.gif: no se pudieron encontrar los parámetros del códec Entrada # 0, imagen 2, de 'motor_animate_%03d.gif': Duración: 00:00:04.03, inicio: 0.000000, tasa de bits: N/A Transmisión #0:0: Video: ninguno, ninguno, 30 fps, 30 tbr, 30 tbn , 30 tbc El archivo 'motor.mpg' ya existe. Sobrescribir ? [s/n] y No hay decodificador para el flujo #0:0, el filtrado es imposible. ¡Error al abrir los filtros!

¿Alguien puede decirme qué está pasando y cómo solucionarlo? Todo lo que quiero hacer es hacer un clip mpeg a partir de un montón de gifs de un solo cuadro.

Gracias.

¿Cómo se crearon los GIF? ¿Y has probado con un binario reciente ?
Los GIF se crearon con Scilab. Funciona para un marco si especifico un nombre de archivo completo. Realmente preferiría no salirme del protocolo de mantenimiento de paquetes de Ubuntu en esto: estoy usando otras cosas (kdenlive) que funcionan bien usando la versión de Ubuntu de ffmpeg, y no quiero lanzarme al Infierno de la Dependencia.
Y revisé algunos de los GIF: se ven bien, al menos para Ristretto.

Respuestas (1)

Vale la pena intentar usar el demuxer concat.

Primero, crea un archivo de texto como este:

file 'motor_animate_000.gif'
file 'motor_animate_001.gif'
file 'motor_animate_002.gif'
file 'motor_animate_003.gif'
...

Entonces corre

ffmpeg -f concat -i list.txt motor.mpg

Tenga en cuenta que simplemente especificando un .MPGnombre de archivo como parámetro de salida, ffmpeg codificará en MPEG-1 a una tasa de bits de 200 kb/s. Si MP4 no es aceptable y se necesita .mpg, agregue -c:v mpeg2video -b:v 1000kdespués list.txtpara establecer el códec y el promedio. tasa de bits Para MP4, simplemente cambie la extensión; los valores predeterminados son decentes.

Eso me da un montón de advertencias del tipo "DTS -922328613750886, siguiente: 100000 st: 0 caída no válida // PTS -922328613750886, siguiente: 100000 caída no válida st: 0 // Duración pasada 1.999992 demasiado grande". Pero funciona. Gracias.
Sí, puedes ignorarlos. El demuxer concat generalmente funciona con archivos de video que contienen valores PTS válidos, no una reliquia como GIF.