我一直在尝试了解如何向 MP4 文件添加一些其他元数据。我知道如何添加元数据,如下所示:
ffmpeg -i bb.mp4 -metadata title="my title" bb2.mp4
但我正在寻找的是如何添加一些新的标签,如下所示:
ffmpeg -i bb.mp4 -metadata newTag="newTag" bb2.mp4
newTag
可能是诸如作者的生日之类的新事物!
这可能吗?
答案1
默认情况下,FFmpeg 支持 MP4 格式中有限数量的 iTunes 标签。这些标签列在下面。但如果-movflags use_metadata_tags
添加了,则可以写入自定义标签。这既适用于添加新标签,也适用于从输入中继承自定义全局标签。
MP4 中支持的 iTunes 标签:
"title"
"artist"
"album_artist"
"composer"
"album"
"date"
"encoding_tool"
"comment"
"genre"
"copyright"
"grouping"
"lyrics"
"description"
"synopsis"
"show"
"episode_id"
"network"
"episode_sort"
"season_number"
"media_type"
"hd_video"
"gapless_playback"
"compilation"
Matroska 格式接受自定义标签。
答案2
我发现我需要的是 exif 元数据和exiftool
是正确的解决方案。
您可以在视频文件之间复制元数据:https://unix.stackexchange.com/a/492338/83370
有一个技巧可以使用该选项复制所有元数据-all:all>all:all
:
https://exiftool.org/forum/index.php?topic=3440.0
答案3
你可以使用这个:
ffmpeg -i bb.mp4 -movflags use_metadata_tags -metadata newTag="newTag" bb2.mp4