Stapelweises Ersetzen von .m4v durch eine andere Audiospur

Stapelweises Ersetzen von .m4v durch eine andere Audiospur

Ich habe eine Liste mit .m4v-Dateien. Ich habe eine Liste mit .mp3-Dateien (die zufällig den gleichen Dateinamen haben wie diedazugehörigen.m4v-Dateien).

Die .m4v-Dateien enthalten Audio in geringerer Qualität. Die .mp3-Dateien enthalten Audio in besserer Qualität.

Ich möchte den Ton in den .m4v-Dateien ersetzen durch diedazugehörigenAudio in den MP3-Dateien.

Ich möchte dies weder in mkvmerge noch in ffmpeg für mehr als 10.000 Dateien einzeln tun.

Ich habe es mit einem Batch-Skript wie diesem versucht, aber ohne Erfolg:

FÜR %%a IN ("*.m4v") DO ffmpeg -i "${%%a}" -i "${%%a//.m4v/.mp3}" -vcodec-Kopie -acodec-Kopie "${%%a//.m4v/.mp4}"

Pause

Und auch (da ich die Ausgabe in einem anderen Verzeichnis wollte):

FÜR %%a IN ("*.m4v") DO ffmpeg -i "%%a" -i "%%a" -vcodec kopieren -acodec kopieren "outputDirFoo123\%%~na.mp4"

Pause

Diese waren bisher erfolglos (es sind nur Fehler aufgetreten). Ich bin nicht sicher, wie ich das beheben kann.

Kann mir bitte jemand sagen, wie ich die oben genannten Vorgänge stapelweise verarbeiten kann? Gibt es dafür eine bessere Möglichkeit als hier?

Vielen Dank.

Antwort1

Verwenden

FOR %%a IN ("*.m4v") DO ffmpeg -i "%%a" -i "%%~na.mp3" -map 0:v -map 1:a -c copy "newpath\%%~na.mp4"

pause

verwandte Informationen