Ich habe ein paar Bilder und möchte mit ffmpeg ein animiertes Gif machen. Die Bilder haben Namen wie:
837_1.png
838_1.png
...
Ich versuche, die Befehlszeilenoption -i von ffmpeg zu verstehen, aber ich stürze gegen einige Probleme ab.
Wenn ich nichts spezifiziere, bitte ich mich, die Dateien zu ersetzen:
ffmpeg -i * -vcodec libx264 out.mp4
ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Jul 26 2013 20:18:03 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, image2, from '358_1.png':
Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
Stream #0:0: Video: png, rgb24, 550x550, 25 tbr, 25 tbn, 25 tbc
File '359_1.png' already exists. Overwrite ? [y/N]
Und wenn ich versuche, eines der am häufigsten verwendeten Formate (% d) im Internet zu verwenden, findet ffmpeg die Dateien nicht:
fmpeg -i '%3d_1.png' -vcodec libx264 out.mp4
ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Jul 26 2013 20:18:03 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
[image2 @ 0x7f963a006600] Could find no file with with path '%3d_1.png' and index in the range 0-4
%3d_1.png: No such file or directory
Also ... hier ist die Frage, wie man die Befehlszeilenoption -i mit ffmpg verwendet.
Der Übersichtlichkeit halber bin ich auf Mac OS X 10.8, ffmpeg Version 1.2.1, zsh 4.3.11
image2
nicht erkannt, dass dies200 OK
der Entsprechung von "Datei gefunden" entspricht, sodass die Suche nicht abgebrochen wird.DSCxxxxx.jpg
bei demxxxxx
es sich um eine 5-stellige Zahl handelt, die mit Null beginnt (Anmerkung: Ich habe keine Unterstriche). Trotzdemffmpeg -r 30 -start_number 04606 -i DSC%d.jpg out.mp4
bekomme ich nach dem Laufen den gleichen Fehler wie im obigen OriginalbeitragDas Globbing kann durch Angabe der folgenden
-pattern_type glob
Option aktiviert werden :quelle
xxx%d.png
,xxx%3d.png
,'xxx%d.png'
oder ,'xxx%3d.png'
was Arbeits[image2 @ 0x2552560] Could find no file with path '*.jpg' and index in the range 0-4 *.jpg: No such file or directory
Hinweis: Das Globbing von Mustern funktioniert unter Windows nicht (und möglicherweise auch nicht, weil das Globbing in libavfilter unter Windows nicht unterstützt wird.) Wenn Sie dies unter Windows tun, müssen Sie die Dateien also so umbenennen, dass sie fortlaufend nummeriert sind und lückenlos.
Sie können sie mit einer einfachen Powershell-Befehlszeile umbenennen:
quelle
file1.jpg
file2.jpg
...file10.jpg
die , wenn Sie alphabetisch sortieren würde am Endefile1.jpg
,file10.jpg
...file2.jpg
Besseres Umbenennen mit PowerShell (Reihenfolge beibehalten):
quelle
dir
die Dateien immer alphabetisch sortiert zurück? Wäre es sicherer, einsort-object
in die Mischung hinzuzufügen ?