如何向 MP4 文件添加新的(未定义的)元数据?

如何向 MP4 文件添加新的(未定义的)元数据?

我一直在尝试了解如何向 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:allhttps://exiftool.org/forum/index.php?topic=3440.0

答案3

你可以使用这个:

ffmpeg -i bb.mp4 -movflags use_metadata_tags -metadata newTag="newTag" bb2.mp4

相关内容