No se puede usar ningún comodín con ffmpeg


2

El objetivo es simple, tengo una secuencia de archivos GIF:

000000.gif
000001.gif
000002.gif
...

Quiero hacer una película con ellos. Lo intenté:

ffmpeg.exe -i *.gif output.flv

y obtuve el error "* .gif: argumento no válido". Entonces probé:

ffmpeg.exe -i %06d.gif output.flv

y obtuve el error "% 06d.gif: No existe tal archivo o directorio". Sin embargo intentando:

ffmpeg.exe -i 000006.gif output.flv

funciona bien. Estoy empezando a pensar que mi compilación ffmpeg, que es la compilación x86 predeterminada para Windows, no admite ningún comodín.

¿Algunas ideas?


No es ffmpeg lo que debería expandir los comodines, sino el shell.
gronostaj

Este es el símbolo del sistema de Windows 7. No estoy seguro de si esa cáscara o fiesta apoya comodines estilo c
Paul Simmons

*.giffuncionaría en bash. Puede ejecutarlo en Windows a través del paquete MSYS o Cygwin.
gronostaj

ffmpeg.exe -i %06d.gif output.flv
Muestre la

Respuestas:


1

Use el siguiente lote:

@echo off
set a=
for %%i in (*gif) do call :concat "%%i"
ffmpeg.exe %a% output.flv
goto :eof

:concat
set a=%a% -i %1
goto :eof

Gracias pero entiendo: la línea de entrada es demasiado larga. : concat fue inesperado en este momento.
Paul Simmons

1
¿Guardaste todo eso en un archivo por lotes (es decir, command.bat)?
NuTTyX

Sintaxis probada con más de 350 archivos (20 caracteres de largo cada uno) pero se romperá con entradas más largas.
NuTTyX
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.