
He estado recodificando algunos archivos mp4 antiguos y usando ffmpeg para copiar los metadatos de los archivos antiguos a los nuevos usando:
ffmpeg -i YDXJ0100.mp4 -i YDXJ0100_1.mp4 -map 1 -map_metadata 0 -c copy YDXJ0100_.mp4
Donde el primer archivo es la versión anterior, _1 es la nueva y _.mp4 es la versión fija.
Sin embargo, lleva mucho tiempo hacerlo archivo por archivo. ¿Cómo podría escribirlo de manera que lo haga para todos los archivos antiguos (pero no para todos los archivos)?
Actualización: este código funciona, excepto para Modificar datos y otras marcas de tiempo de archivos:
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"
Respuesta1
archivo por lotes:
@echo off
for %%f in (*.mp4) do ffmpeg -i "%%f" -i "%%~nf_1.mp4" -map 1 -map_metadata 0 -c copy "%%~nf_.mp4"