Mehrere FFmpeg-Befehle (konvertieren, dann verbinden)

Mehrere FFmpeg-Befehle (konvertieren, dann verbinden)

Ich habe z. B. die Datei 1.mp4, 2.mp4, 3.mp4 usw., die konvertiert werden muss

for %i in (*.mp4) do ffmpeg -y -i "%i" -vf scale=1280:720 -crf 17 -c:v libx265 "%~ni.mp4"

Dann verkette ich

ffmpeg -f concat -safe 0 -i xmylist.txt -crf 17 -c copy x1.mp4

Nun, ich möchte dies in einem Schritt tun und scheiterte mit

for %i in (*.mp4) do ffmpeg -y -i "%i" -vf scale=1280:720 -crf 17 -c:v libx265, -f concat -safe 0 -i xmylist.txt -crf 17 -c copy "%~ni.mp4"

Wie kann man diese beiden richtig zusammenfügen? Der Fehler, den ich bekam, war

Option vf (Videofilter festlegen) kann nicht auf die Eingabe-URL xmylist.txt angewendet werden – Sie versuchen, eine Eingabeoption auf eine Ausgabedatei anzuwenden oder umgekehrt. Verschieben Sie diese Option vor die Datei, zu der sie gehört. Fehler beim Parsen der Optionen für die Eingabedatei xmylist.txt. Fehler beim Öffnen der Eingabedateien: Ungültiges Argument

Antwort1

Hast du es versucht:

for %i in (*.mp4) do ffmpeg -y -i "%i" -vf scale=1280:720 -crf 17 -c:v libx265 "%~ni.mp4" & ffmpeg -f concat -safe 0 -i xmylist.txt -crf 17 -c copy "%~ni.mp4"

oder dies im Batch:

for %%i in (*.mp4) DO (

ffmpeg -y -i "%%i" -vf scale=1280:720 -crf 17 -c:v libx265 "%%~ni.mp4"

ffmpeg -f concat -safe 0 -i xmylist.txt -crf 17 -c copy "%%~ni.mp4"

)

obwohl Sie darauf achten müssen, was Sie versuchen, ist es gut, es auf diese Weise zu tun, da Sie dieselbe Datei verketten, die bereits eine einzelne Datei ist?

Da Sie in einer For-Schleife nicht mehr als einen Satz von () verwenden können, ist hier eine mögliche Lösung mit 3 Batchdateien:

Sie verwenden den Startbefehl, da, wenn Sie ihn einfach dort eingeben, beide Stapel ausgeführt und sofort geschlossen werden.

Charge 1:

start "Batch2.bat"

start "Batch3.bat"

Charge 2:

for %%i in (*.mp4) DO ffmpeg -y -i "%%i" -vf scale=1280:720 -crf 17 -c:v libx265 "%%~ni.mp4"

Charge 3:

for %%i in (*.mp4) DO ffmpeg -f concat -safe 0 -i xmylist.txt -crf 17 -c copy "x1.mp4"

Bitte lassen Sie es mich wissen:). Ich kann mir heute Abend zu Hause ein viel fortgeschritteneres cmd ansehen, um Ihnen dabei zu helfen.

verwandte Informationen