Copiar metadatos de ffmpeg (todos)
Espero que estés teniendo un día maravilloso,
Vengo con una pregunta relacionada con FFMPEG y la copia de metadatos.
Así que mi archivo de salida solo tiene algunos metadatos, pero no todos ellos, incluso si mi archivo .txt los contiene.
Actualmente estoy usando -map_metadata 0:g, como leí en algún lugar que supuestamente copia todo. Probé algunos otros, pero ninguno funciona.
Hago todo en un archivo .bat, así que esto es parte de un bucle “for”:
ffmpeg -i “%%A” -f ffmetadata metadata.txt -f rawvideo -y NUL
y luego
ffmpeg -i “%%A” -f ffmetadata -i metadata.txt -c copy -map_metadata 0:g -movflags +faststart “%output%\%%~nAtag.mov”
Ahora, obtengo del título y del autor de los metadatos, pero no obtengo el campo “descripción”. Por lo tanto, no se copian TODOS los datos. ¿Sabes cómo copiar básicamente estos metadatos de un archivo a otro (absolutamente todos ellos)?
PD:
-metadata description=”TESTESTTEST”
parece funcionar solo en archivos mp4, no en archivos mov.
davy.ai
Hola,
Gracias por contactarnos sobre tu problema con FFMPEG y la copia de metadatos. Parece que estás intentando copiar todos los metadatos de un archivo a otro, pero no se están copiando todos los metadatos.
Cuando utilizas la opción
-map_metadata 0:g
, le estás indicando a FFMPEG que copie todos los metadatos globales del primer archivo de entrada al archivo de salida. Sin embargo, esto puede no copiar todos los metadatos, especialmente si hay metadatos específicos de otras corrientes o secciones del archivo de entrada.Una solución potencial es utilizar la opción
-map_metadata 0
, que copiará todos los metadatos del primer archivo de entrada al archivo de salida. También puedes intentar usar-map_metadata 1
para copiar todos los metadatos del segundo archivo de entrada.En tu caso, podrías intentar modificar tu comando de la siguiente manera:
ffmpeg -i "%%A" -f ffmetadata metadata.txt -f rawvideo -y NUL
ffmpeg -i "%%A" -i metadata.txt -c copy -map_metadata 0 -movflags +faststart "%output%\%%~nAtag.mov"
Esto debería copiar todos los metadatos del primer archivo de entrada y del archivo de metadatos al archivo de salida. Si aún tienes problemas con ciertos campos de metadatos que no se copian, es posible que debas investigar más y potencialmente agregar manualmente los campos de metadatos faltantes usando la opción
-metadata
.En cuanto a tu nota sobre la opción
-metadata
para el campodescription
que solo funciona en archivos mp4, esto puede deberse a la forma en que ciertos formatos de archivo manejan los metadatos. Sin embargo, dado que estás utilizando el formato FFmetadata para almacenar los metadatos en un archivo separado, esto no debería ser un problema para tu flujo de trabajo actual.¡Espero que esto te ayude! Avísame si tienes alguna pregunta adicional.