2012-09-11 22 views
5

Estoy tratando de animar una serie de archivos jpg usando avconv. Basado en numerosos ejemplos, intento usar% d.jpg para especificar los archivos. O% 05d.jpg. Sin embargo, yo estoy haciendo:Comodín para imágenes secuenciales

avconv -i %d.jpg a.avi 
avconv version 0.8.3-4:0.8.3-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers built on Jun 12 2012 16:37:58 with gcc 4.6.3 
%d.jpg: No such file or directory 

Aquí es un recorte de mi anuncio en el directorio:

10380.jpg 
10390.jpg 
10400.jpg 
1040.jpg 
10410.jpg 
10420.jpg 
10430.jpg 
10440.jpg 

Hay archivos JPEG desde 00000.jpg 14400.jpg a

realmente no lo entender ese sistema comodín, pero eso es lo que hay en los ejemplos.

(nota: ffmpeg marcarlo como tal debido a que una etiqueta para avconv no existe, y avconv reemplaza ffmpeg)

actualización estoy actualizando la cuestión sobre la base de la respuesta a continuación por @ AV501.

Para empezar, tengo una lista de archivos png con orden secuencial por 10. Tienen texto que precede a un número entero de 5 dígitos. Por ejemplo:

SkinMattekNutrient_py_00000.png 
SkinMattekNutrient_py_00010.png 
SkinMattekNutrient_py_00020.png 
... 
SkinMattekNutrient_py_10440.png 

¿Cuál sería la forma de convertir estas por lotes a jpg? Probé

convert ... 
SkinMattekNutrient_py_%05d.png %05d.jpg 

y

convert ... 
SkinMattekNutrient_py_%5d.png %5d.jpg 

Pero consigo:

convert SkinMattekNutrient_py_%05d.png %05d.jpg 
convert: missing an image filename `%05d.jpg' @ error/convert.c/ConvertImageCommand/3011. 

Respuesta

4

Es necesario utilizar% 5d para sus archivos. Pero parece que tiene dos problemas

Para que el% 5d funcione, debe tener una numeración de 5 dígitos. [Tienes un 1040.jpg] y también consecutivo. 00000.jpg luego 00001.jpg. Sus nombres de los archivos parecen estar saltando por 10.

Si todos ellos son múltiplo de 10, entonces se puede utilizar% d50.jpg [Pero todavía se necesitan para arreglar su 1040.jpg]

De lo contrario el comando línea trabaja aquí [estoy usando ffmpeg -i% 5d.jpg out.avi y ffmpeg -i% 5d0.jpg out.avi]

+0

He actualizado mi pregunta para que sea más simple, simplemente sobre la conversión de los archivos png a jpg. Todavía no puedo entender cómo usar correctamente el sistema comodín. Intenté buscar, pero no puedo encontrar ninguna explicación. ¿Cuál sería la sintaxis correcta? Gracias. – abalter

+0

convertir es una utilidad diferente, ¿verdad? ffmpeg es diferente. Lo hago usando ffmpeg y funciona bien aquí. – av501

+0

Independientemente del programa que estoy usando, obtengo el error "no puedo encontrar el archivo". Me pregunto qué pasa con mi sistema. Todos los ejemplos que he encontrado muestran lo mismo. – abalter

4

he aquí una forma de archivos de imagen convertir por lotes en un intérprete de comandos:

for f in *.png; do ffmpeg -i "$f" "${f%.png}.jpg"; done 

Creo que esta técnica funcionará para cualquier comando que requiera que los archivos de entrada y salida se enumeren separ ately. En su caso esto sería:

for f in *.png; do convert "$f" "${f%.png}.jpg"; done 
Cuestiones relacionadas