本文用途
如何修改一个媒体文件的详细数据比如
标题、作者、艺术家、标记、备注等等
准备工具(exiftool)
能编辑几乎所有数据(讲道理翻外网帖子才看到,不然都不知道有这个工具)
下载地址
前置基础知识
会使用cmd
会编辑环境变量
使用方法
首先自行下载并配置环境变量,使其在cmd状态下可用。
MP4标签对照表
红色字:输入中文时可能会出现最后一个字消失的问题 或者有更多问题详情见备注。
绿色字:不可写或者个人原因没有研究使用方式。
标签对应中文 | 标签名 | 备注 |
---|---|---|
标题 | ItemList:Title | 文本 |
副标题 | Microsoft:Subtitle | 文本 |
分级 | Microsoft:Rating | 1-99的整数(不可写) |
标记 | Microsoft:Category | 文本组 用;分割 |
备注 | ItemList:Comment | 文本 |
参与创作的艺术家 | ItemList:Artist | 文本组 用;分割 |
年 | ItemList:ContentCreateDate | 时间类型 只显示年 格式(YYYY:mm:dd HH:MM:SS) |
流派 | ItemList:Genre | 文本组 用;分割 |
导演 | Microsoft:Director | 文本组 用;分割 |
制作人 | Microsoft:Producer | 文本组 输入中文的话由于吞字导致无法分割 |
创作人 | Microsoft:Writer | 文本组 输入中文的话由于吞字导致无法分割 |
发布者 | Microsoft:Publisher | 文本 |
内容提供商 | Microsoft:ContentDistributor | 写不进去 具体原因未知 用不上这个tag |
创建媒体日期 | Quicktime:CreateDate | 是时间类型但写不进去 不用这个tag没研究 |
编码人员 | Microsoft:EncodedBy | 文本 |
作者URL | Microsoft:AuthorURL | 文本 |
促销URL | Microsoft:PromotionURL | 文本 |
版权 | Microsoft:Copyright | 不可写 且会报Warning |
家长分级 | Microsoft:ParentalRating | 文本 |
父级分级原因 | Microsoft:ParentalRatingReason | 不可写 且会报Warning |
作曲者 | ItemList:Composer | 文本组 输入中文的话由于吞字导致无法分割 |
指挥者 | Microsoft:Conductor | 文本组 输入中文的话由于吞字导致无法分割 |
时期 | Microsoft:Period | 文本 |
氛围 | Microsoft:Mood | 文本 |
部分设置(Part of set) | ItemList:DiskNumber | 整数 |
初始调性 | Microsoft:InitialKey | 文本 |
每分钟节拍数 | ItemList:BeatsPerMinute | 整数 |
保护 | Microsoft:IsProtected | 不可写 且会报Warning |
使用样例
命令行代码
单行命令(不方便看)
exiftool -ItemList:Title=标题 -Microsoft:Subtitle=副标题 -Microsoft:Rating=50 -Microsoft:Category=标记1;标记2 -ItemList:Comment=备注 -ItemList:Artist=参与创作的艺术家1;参与创作的艺术家2 -ItemList:ContentCreateDate="1145:01:04 11:45:14" -ItemList:Genre=流派1;流派2 -Microsoft:Director=导演1;导演2 -Microsoft:Producer=制作人1;制作人2 -Microsoft:Writer=创作人1;创作人2 -Microsoft:Publisher=发布者 -Microsoft:ContentDistributor=内容提供商 -Quicktime:CreateDate="1145:01:04 11:45:14" -Microsoft:EncodedBy=编码人员 -Microsoft:AuthorURL=作者URL -Microsoft:PromotionURL=促销URL -Microsoft:Copyright=版权 -Microsoft:ParentalRating=家长分级 -Microsoft:Microsoft:ParentalRatingReason=父级分级原因 -ItemList:Composer=作曲者 -Microsoft:Conductor=指挥者 -Microsoft:Period=时期 -Microsoft:Mood=氛围 -ItemList:DiskNumber=1 -Microsoft:InitialKey=初始调性 -ItemList:BeatsPerMinute=1 -Microsoft:IsProtected=true %~1
pause
多行命令方便看和修改
exiftool ^
-ItemList:Title=标题 ^
-Microsoft:Subtitle=副标题 ^
-Microsoft:Rating=50 ^
-Microsoft:Category=标记1;标记2 ^
-ItemList:Comment=备注 ^
-ItemList:Artist=参与创作的艺术家1;参与创作的艺术家2 ^
-ItemList:ContentCreateDate="1145:01:04 11:45:14" ^
-ItemList:Genre=流派1;流派2 ^
-Microsoft:Director=导演1;导演2 ^
-Microsoft:Producer=制作人1;制作人2 ^
-Microsoft:Writer=创作人1;创作人2 ^
-Microsoft:Publisher=发布者 ^
-Microsoft:ContentDistributor=内容提供商 ^
-Quicktime:CreateDate="1145:01:04 11:45:14" ^
-Microsoft:EncodedBy=编码人员 ^
-Microsoft:AuthorURL=作者URL ^
-Microsoft:PromotionURL=促销URL ^
-Microsoft:Copyright=版权 ^
-Microsoft:ParentalRating=家长分级 ^
-Microsoft:Microsoft:ParentalRatingReason=父级分级原因 ^
-ItemList:Composer=作曲者 ^
-Microsoft:Conductor=指挥者 ^
-Microsoft:Period=时期 ^
-Microsoft:Mood=氛围 ^
-ItemList:DiskNumber=1 ^
-Microsoft:InitialKey=初始调性 ^
-ItemList:BeatsPerMinute=1 ^
-Microsoft:IsProtected=true ^
%~1
pause
使用后会自动生成后缀为original的备份 如果不想要这个备份添加-overwrite_original指令即可
至此为止你已经可以写入mp4的元数据了(虽然只能写入英文或者有限制的写入中文)
F&Q
我想改的格式不是mp4怎么办?
题外话 其实这个工具原本就是为了 修改图片的元数据而存在的,只是同时能修改mp4而已。
回到主题 你先右键属性 查看详细信息,就知道当前格式能不能修改(大多数都能这么判断 但不是所有),能改的你可以直接手动输入,本文工具是为了批处理。
确定好格式可以修改后,使用命令:
exiftool -a -s -g1 文件地址/文件.XXX >输出路径/信息文件名.txt
就可以在对应的路径生成一个txt,能在文件中看到所有信息,包括当前标签叫什么名字等。
可以通过手动修改元数据,然后导出信息文件来查看哪些标签是你需要的。
我就是想输入中文怎么办?
我也是这么想的,所以用C# 写了工具控制,控制方法来源于社区。
工具Git源码
2023年1月10日更新
具体方法请参考社区,由于我自己的项目许久不维护已经非常不好用了,且需要反复读写本地文件也显得很睿智。
如果你会使用C# 请下载TagLib NuGet包,如果不会但还是需要该工具可以留言,也许会考虑出工具。
具体使用方法:
在command.txt写入命令 和cmd命令几乎相同,不同的是用回车分割元素而非空格,下面是具体示例:
-ItemList:Title=标题
-Microsoft:Subtitle=副标题
-Microsoft:Category=标记1;标记2
-ItemList:Comment=备注
-ItemList:Artist=参与创作的艺术家1;参与创作的艺术家2
-ItemList:ContentCreateDate="2000:01:01 11:45:14"
-ItemList:Genre=流派1;流派2
-Microsoft:Director=导演1;导演2
-Microsoft:Producer=制作人1;制作人2
-Microsoft:Writer=创作人1;创作人2
-Microsoft:Publisher=发布者
-Microsoft:ContentDistributor=内容提供商
-Quicktime:CreateDate="2000:01:01 11:45:14"
-Microsoft:EncodedBy=编码人员
-Microsoft:AuthorURL=作者URL
-Microsoft:PromotionURL=促销URL
-Microsoft:ParentalRating=家长分级
-ItemList:Composer=作曲者
-Microsoft:Conductor=指挥者
-Microsoft:Period=时期
-Microsoft:Mood=氛围
-ItemList:DiskNumber=1
-Microsoft:InitialKey=初始调性
-ItemList:BeatsPerMinute=1
%path%
使用%path%来替换mp4的路径,也可以直接指定路径,该功能适用于批处理。
然后运行ExifToolHelper,按照引导选择一个文件夹,然后输入扩展名,这样就会筛选该文件夹下所有以该扩展名结尾的文件,并将文件路径自动带入path,进行批处理。
不能翻墙的从这里下载示例,能翻墙的去git直接下载就行。 示例过旧