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.