Verwenden von ffmpeg zum Kopieren von Metadaten von einer Datei in eine andere
17
Ich möchte ffmpeg verwenden, um alle Metadaten, die nicht mit Kernaspekten eines Videos (Bildrate, Auflösung) verknüpft sind, von einem Video in ein anderes zu kopieren. Gibt es eine einfache Möglichkeit, dies mit einem einzigen Befehl zu tun?
In diesem Beispiel werden die globalen und Stream-Metadaten kopiert in0.mkv. Die Video- und Audio-Streams werden von folgenden Streams kopiert 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
Dies führt zu etwas wie:
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
Standardmäßig werden globale Metadaten aus der ersten Eingabedatei kopiert und können daher -map_metadata 0möglicherweise weggelassen werden.
Wenn es sich bei Ihrem Quellvideo um eine .mov-Datei handelt, müssen Sie auch das Flag hinzufügen, da -movflags use_metadata_tagsdas Ausgabevideo sonst keine Metadaten enthält.
Mastergalen
-3
Wenn Sie nur die Grundlagen (Erstellungsdatum usw.) benötigen, berühren Sie -r DATEI1. DATEI2 Funktioniert als Charm-Coping-Metadaten von DATEI1 zu DATEI2
-movflags use_metadata_tags
das Ausgabevideo sonst keine Metadaten enthält.Wenn Sie nur die Grundlagen (Erstellungsdatum usw.) benötigen, berühren Sie -r DATEI1. DATEI2 Funktioniert als Charm-Coping-Metadaten von DATEI1 zu DATEI2
quelle