使用ffmpeg将元数据从一个文件复制到另一个文件


17

我想使用ffmpeg将与视频核心方面(帧速率,分辨率)无关的所有元数据从一个视频复制到另一个视频。有一个简单的方法即可通过单个命令执行此操作吗?

Answers:


19

使用-map_metadata

在此示例中,全局和流元数据将从中复制in0.mkv。视频和音频流将从以下位置复制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

这将导致类似:

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

默认情况下,全局元数据是从第一个输入文件复制的,因此-map_metadata 0可能会省略。


1
如果您的源视频是.mov文件,则还需要添加标记,-movflags use_metadata_tags否则输出视频将不包含元数据。
Mastergalen

-3

如果您只需要基础知识(创建日期等),请触摸-r FILE1 FILE2将用作从FILE1到FILE2的超级有吸引力的元数据


如果您阅读问题,则目标是视频元数据,而不是文件元数据。
fixer1234 '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.