Stapelkopieren aller Metadaten mit ffmpeg

Stapelkopieren aller Metadaten mit ffmpeg

Ich habe einige alte MP4-Dateien neu kodiert und mit ffmpeg die Metadaten aus den alten Dateien in die neuen kopiert, und zwar mit:

ffmpeg -i YDXJ0100.mp4 -i YDXJ0100_1.mp4 -map 1 -map_metadata 0 -c copy YDXJ0100_.mp4

Wobei die erste Datei die alte Version ist, _1 die neue und _.mp4 die korrigierte Version.

Es ist jedoch sehr zeitaufwändig, dies Datei für Datei zu tun. Wie könnte ich es so schreiben, dass es für jede alte Datei (aber nicht für alle Dateien) funktioniert?

Update: Dieser Code funktioniert, mit Ausnahme der Änderungsdaten und anderer Dateizeitstempel:

for %%f in (*.mp4) do ffmpeg -i "%%f" -i "%%~nf_1.mp4" -map 1 -c copy -map_metadata 0 -map_metadata:s:v 0:s:v -map_metadata:s:a 0:s:a "%%~nf_.mp4"

Antwort1

Batchdatei:

@echo off
for %%f in (*.mp4) do ffmpeg -i "%%f" -i "%%~nf_1.mp4" -map 1 -map_metadata 0 -c copy "%%~nf_.mp4"

verwandte Informationen