Quiero usar ffmpeg para copiar todos los metadatos no asociados con los aspectos centrales de un video (velocidad de cuadros, resolución) de un video a otro. ¿Hay una manera simple de hacer esto con un solo comando?
17
Uso -map_metadata
.
En este ejemplo, se copiarán los metadatos globales y de flujo in0.mkv
. Las transmisiones de video y audio se copiarán de in1.mkv
:
ffmpeg -i in0.mkv -i in1.mkv -map 1 -c copy \
# copies all global metadata from in0.mkv to out.mkv
-map_metadata 0 \
# copies video stream metadata from in0.mkv to out.mkv
-map_metadata:s:v 0:s:v \
# copies audio stream metadata from in0.mkv to out.mkv
-map_metadata:s:a 0:s:a \
out.mkv
Esto resultará en algo como:
Output #0, matroska, to 'out.mkv':
Metadata:
title : Global Title
AUTHOR : Global Author
Stream #0:0: Video: h264
Metadata:
title : Stream 0 Title
Stream #0:1: Audio: vorbis
Metadata:
title : Stream 1 Title
De forma predeterminada, los metadatos globales se copian del primer archivo de entrada, por lo -map_metadata 0
que probablemente podrían omitirse.
-movflags use_metadata_tags
o el video de salida no contendrá los metadatos.Si todo lo que necesita es lo básico (fecha de creación, etc.), toque -r ARCHIVO1 ARCHIVO2 Funcionará como un metadato de adaptación de encanto de ARCHIVO1 a ARCHIVO2
fuente