Пакетное копирование всех метаданных с помощью ffmpeg

Пакетное копирование всех метаданных с помощью ffmpeg

Я перекодировал несколько старых файлов mp4 и использовал ffmpeg для копирования метаданных из старых файлов в новые с помощью:

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

Где первый файл — старая версия, _1 — новая, а _.mp4 — исправленная.

Однако, это очень долго делать файл за файлом. Как я могу написать это так, чтобы это делалось для каждого старого файла (но не для всех файлов)?

Обновление: этот код работает, за исключением изменения данных и других временных меток файлов:

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"

решение1

пакетный файл:

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

Связанный контент