Utilisation de ffmpeg pour copier des métadonnées d'un fichier à un autre


17

Je souhaite utiliser ffmpeg pour copier toutes les métadonnées non associées aux principaux aspects d'une vidéo (fréquence d'images, résolution) d'une vidéo à une autre. Existe-t-il un moyen simple de le faire avec une seule commande?

Réponses:


19

Utilisez -map_metadata.

Dans cet exemple, les métadonnées globales et de flux seront copiées in0.mkv. Les flux vidéo et audio seront copiés à partir 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

Cela se traduira par quelque chose comme:

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

Par défaut, les métadonnées globales sont copiées à partir du premier fichier d'entrée, elles -map_metadata 0pourraient donc probablement être omises.


1
Si votre vidéo source est un fichier .mov, vous devez également ajouter l'indicateur -movflags use_metadata_tagsou la vidéo de sortie ne contiendra pas les métadonnées.
Mastergalen

-3

Si tout ce dont vous avez besoin est les bases (date de création, etc.), appuyez sur -r FILE1 FILE2 fonctionnera comme une métadonnée d'adaptation de charme de FILE1 à FILE2


Si vous lisez la question, l'objectif est les métadonnées vidéo et non les métadonnées du fichier.
fixer1234
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.