328 Stimmen

Wie kann man ein ganzes Verzeichnis mit ffmpeg konvertieren?

Wie konvertiert man ein ganzes Verzeichnis/Ordner mit ffmpeg über die Kommandozeile oder mit einem Batch-Skript?

532voto

llogan Punkte 103505

Für Linux y macOS kann dies in einer einzigen Zeile geschehen, indem man Parametererweiterung um die Erweiterung des Dateinamens der Ausgabedatei zu ändern:

for i in *.avi; do ffmpeg -i "$i" "${i%.*}.mp4"; done

251voto

Isaac Punkte 2599

Die vorherige Antwort erstellt nur 1 Ausgabedatei namens out.mov. Um eine separate Ausgabedatei für jeden alten Film zu erstellen, versuchen Sie dies.

for i in *.avi;
  do name=`echo "$i" | cut -d'.' -f1`
  echo "$name"
  ffmpeg -i "$i" "${name}.mov"
done

111voto

lxs Punkte 7107

Und unter Windows:

FOR /F "tokens=*" %G IN ('dir /b *.flac') DO ffmpeg -i "%G" -acodec mp3 "%~nG.mp3"

58voto

shubhamr238 Punkte 1022

Für Windows:

Hier konvertiere ich alle (.mp4) Dateien in (.mp3) Dateien.
Öffnen Sie einfach cmd, gehen Sie zu dem gewünschten Ordner und geben Sie den Befehl ein.

Abkürzung: (optional)
1. Gehen Sie in den Ordner, in dem sich Ihre (.mp4) Dateien befinden
2. Drücken Sie die Umschalttaste und klicken Sie mit der linken Maustaste und wählen Sie "PowerShell-Fenster hier öffnen".
oder "Eingabeaufforderungsfenster hier öffnen".
3. Geben Sie "cmd" ein [HINWEIS: Überspringen Sie diesen Schritt, wenn Sie direkt cmd anstelle von PowerShell öffnen].
4. Führen Sie den Befehl

for %i in (*.mp4) do ffmpeg -i "%i" "%~ni.mp3"

Wenn Sie dies in eine Batch-Datei unter Windows 10 einfügen möchten, müssen Sie %%i verwenden.

37voto

yolk Punkte 659

Ein einzeiliges Bash-Skript wäre einfach zu erstellen - ersetzen Sie *.avi mit Ihrem Dateityp:

for i in *.avi; do ffmpeg -i "$i" -qscale 0 "$(basename "$i" .avi)".mov  ; done

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X