2012-09-11 13 views
5

Sto provando ad animare una serie di file jpg usando avconv. Sulla base di numerosi esempi, sto cercando di usare% d.jpg per specificare i file. Oppure% 05d.jpg. Tuttavia, mi sto:Wildcard per immagini sequenziali

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 

Ecco un elemento di cattura del mio elenco di directory:

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

Ci sono immagini JPEG della 00000.jpg 14400.jpg a

io in realtà non capire quel sistema di caratteri jolly, ma questo è ciò che è negli esempi.

(nota: ho classificarla come tale ffmpeg perché un tag per avconv non esiste, e avconv sostituisce ffmpeg)

Aggiornamento sto aggiornando la questione sulla base della risposta qui sotto per @ AV501.

Per cominciare, ho un elenco di file PNG con ordine sequenziale di 10. Hanno testo che precede un numero intero a 5 cifre. Ad esempio:

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

Quale sarebbe il modo di convertire in batch questi in jpg? Ho provato

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

e

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

Ma ottengo:

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

risposta

4

È necessario utilizzare% 5d per i file. Ma sembra che tu abbia due problemi

Per il funzionamento di% 5d devi avere una numerazione a 5 cifre. [Hai un 1040.jpg] e anche consecutivi. 00000.jpg quindi 00001.jpg. I nomi di file sembrano essere saltando da 10.

Se tutti sono multiplo di 10, quindi è possibile utilizzare% d50.jpg [ma è comunque necessario per risolvere il tuo 1040.jpg]

In caso contrario il comando linea lavora qui [sto usando ffmpeg -i% 5d.jpg out.avi e ffmpeg -i% 5d0.jpg out.avi]

+0

Ho aggiornato la mia domanda per renderla più semplice - semplicemente per convertire i file png in jpg. Non riesco ancora a capire come utilizzare correttamente il sistema jolly. Ho provato a cercare, ma non riesco a trovare spiegazioni. Quale sarebbe la sintassi corretta? Grazie. – abalter

+0

convert è un'utilità diversa, giusto? ffmpeg è diverso. Lo sto facendo usando ffmpeg e funziona bene qui. – av501

+0

Indipendentemente dal programma che sto usando, sto ricevendo il messaggio di errore "Impossibile trovare il file". Mi chiedo cosa c'è di sbagliato nel mio sistema? Tutti gli esempi che ho trovato mostrano la stessa cosa. – abalter

4

Ecco un modo per i file di immagini in batch-convertire in una shell Bash:

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

Credo che questa tecnica funzioni per qualsiasi comando che richiede che i file di input e di output siano elencati separati diatamente. Nel tuo caso questo sarebbe:

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