用FFmpeg修改视频或音频信息
🏷️ 元数据在视频分发中的重要性

元数据虽不直接影响画面和声音,但决定了视频在传播和管理中的表现:

  • 标题与描述:正确的标题和描述可以显著提升视频在搜索引擎和平台内的搜索排名,帮助目标观众找到你的作品。
  • 版权保护:标注版权信息和创作者信息,可在内容被盗用时作为维权依据
  • 归档管理:统一的元数据规范(如日期、项目名称、版本号)让大量素材的整理和检索变得更加高效。
  • 专业形象:完整且规范的元数据让观众感受到创作者的专业态度,提升品牌可信度。
📖 FFmpeg 元数据修改知识详解

FFmpeg 使用 -metadata 参数来修改多媒体文件中的元数据(Metadata),即文件的内嵌标签信息。常见的可修改字段包括:

  • title — 标题
  • artist — 艺术家
  • copyright — 版权信息
  • comment — 注释/评论
  • album — 专辑名称
  • date / creation_time — 日期或创建时间
  • description — 描述信息

基本语法为 -metadata 键="值",可重复使用多个 -metadata 一次性修改多个字段。搭配 -c copy 可实现不重新编码直接输出,速度极快。

针对特定流的元数据:

  • -metadata:s:v — 指定视频流(stream:video)的元数据
  • -metadata:s:a — 指定音频流(stream:audio)的元数据
  • 例如:-metadata:s:v rotate="90" 可设置视频旋转角度

从其他文件导入元数据: 使用 -map_metadata 参数可以将另一个文件的元数据复制到输出文件中。例如 -map_metadata 1 表示将第二个输入文件(索引为1)的元数据映射到输出文件。

导出与批量编辑: 使用 -f ffmetadata 格式可以将文件的元数据导出为 INI 格式的文本文件:

$ ffmpeg -i input.mp4 -f ffmetadata metadata.txt

导出的 metadata.txt 文件以 ;FFMETADATA1 开头,每行一个 键=值 条目。你可以用任何文本编辑器批量修改其中的字段,然后通过以下命令将修改后的元数据写回文件:

$ ffmpeg -i input.mp4 -i metadata.txt -map_metadata 1 -c copy output.mp4

这种方式特别适合需要对大量文件的元数据进行统一或批量修改的场景,无需逐个手动输入 -metadata 参数。

广告
{{v.name}}
修改标题,代码如下
$ ffmpeg -i input.mp4 -metadata title="我的视频标题" -c copy output.mp4
修改艺术家,代码如下
$ ffmpeg -i input.mp4 -metadata artist="艺术家名称" -c copy output.mp4
修改版权信息,代码如下
$ ffmpeg -i input.mp4 -metadata copyright="版权所有 (C) 2023" -c copy output.mp4
修改注释/评论,代码如下
$ ffmpeg -i input.mp4 -metadata comment="这是一个示例视频" -c copy output.mp4
修改专辑,代码如下
$ ffmpeg -i input.mp4 -metadata album="我的专辑" -c copy output.mp4
修改创建日期,代码如下
$ ffmpeg -i input.mp4 -metadata creation_time="2023-10-26 12:00:00" -c copy output.mp4
修改描述,代码如下
$ ffmpeg -i input.mp4 -metadata description="这是一个关于FFmpeg元数据修改的示例视频" -c copy output.mp4
根据需要组合多个 -metadata 参数来一次性修改多个元数据字段,代码如下
$ ffmpeg -i input.mp4 \
    -metadata title="我的假期视频" \
    -metadata artist="我的名字" \
    -metadata copyright="版权归我所有" \
    -metadata comment="拍摄于2023年夏天" \
    -c copy output.mp4
导出元数据到文件,代码如下
$ ffmpeg -i input.mp4 -f ffmetadata metadata.txt
其中,metadata.txt文件是一个INI文件,示例如下
;;FFMETADATA1
title=我的新标题
artist=新的艺术家
copyright=新的版权信息
comment=新的评论信息
description=新的描述信息
使用元数据文件进行修改,代码如下
$ ffmpeg -i input.mp4 -i metadata.txt -map_metadata 1 -c copy output.mp4
友链