2012-09-11 24 views
5

Próbuję animować serię plików jpg przy użyciu avconv. Na podstawie wielu przykładów próbuję użyć% d.jpg do określenia plików. Lub% 05d.jpg. Jednak Dostaję:Symbol wieloznaczny dla obrazów sekwencyjnych

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 

Oto wycinek mojej liście katalogów:

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

Istnieje JPEG z 00000.jpg 14400.jpg do

ja naprawdę nie Rozumiem, że system wieloznaczny, ale to jest w przykładach.

(uwaga: ja określili to ffmpeg ponieważ tag dla avconv nie istnieje, a avconv zastępuje ffmpeg)

Aktualizacja mam aktualizowanie pytanie w oparciu o odpowiedzi poniżej @ av501.

Na początek mam listę plików png z sekwencyjnym porządkowaniem przez 10. Mają tekst poprzedzający 5 cyfrową liczbę całkowitą. Na przykład:

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

Jaki byłby sposób na przekonwertowanie tych partii na jpg? Próbowałem

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

i

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

Ale otrzymuję:

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

Odpowiedz

4

Musisz użyć% 5d dla plików. Ale wydaje się, że masz dwa problemy:

Dla% 5d do pracy musisz mieć 5-cyfrową numerację. [Masz 1040.jpg], a także kolejne. 00000.jpg następnie 00001.jpg. Nazwy plików wydają się być skoki przez 10.

Jeśli wszystkie z nich są wielokrotnością 10, a następnie można użyć% d50.jpg [Ale trzeba jeszcze naprawić 1040.jpg]

Inaczej polecenie linia działa tutaj [używam ffmpeg -i% 5d.jpg out.avi i ffmpeg -i% 5d0.jpg out.avi]

+0

Zaktualizowałem moje pytanie, aby było prostsze - po prostu o konwersji plików PNG na JPG. Nadal nie mogę się dowiedzieć, jak poprawnie używać systemu wieloznacznego. Próbowałem wyszukiwać, ale nie mogę znaleźć żadnych wyjaśnień. Jaka byłaby poprawna składnia? Dzięki. – abalter

+0

convert to inne narzędzie, prawda? ffmpeg jest inny. Robię to za pomocą ffmpeg i działa tutaj dobrze. – av501

+0

Niezależnie od używanego programu uzyskuję komunikat, że nie można znaleźć błędu pliku. Zastanawiam się, co jest nie tak z moim systemem? Wszystkie przykłady, które znalazłem, pokazują to samo. – abalter

4

Oto jeden ze sposobów do plików graficznych partii przekształcą w powłoce Bash:

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

Wierzę, że ta technika zadziała dla każdego polecenia wymagającego oddzielenia listy plików wejściowych i wyjściowych zdecydowanie. W twoim przypadku będzie to:

for f in *.png; do convert "$f" "${f%.png}.jpg"; done 
Powiązane problemy