我的相机将视频录制为 .mov 文件。它们有一些元数据(XMP 格式?),我可以使用 读取它们exiftool
。例如,要仅获取与日期/时间相关的元数据,我可以执行以下操作:
$ exiftool MVI_3735.MOV | grep -i Date
File Modification Date/Time : 2013:09:09 20:40:33+01:00
Date/Time Original : 2013:09:09 18:46:15
Create Date : 2013:09:09 18:46:15
Modify Date : 2013:09:09 18:46:15
Track Create Date : 2013:09:09 18:46:15
Track Modify Date : 2013:09:09 18:46:15
Media Create Date : 2013:09:09 18:46:15
Media Modify Date : 2013:09:09 18:46:15
我需要让所有日期/时间等于文件的日期/时间(上例中的第一行)。知道如何在 OSX 上实现这一点吗?
此外,如果它允许我将任何现有时间值移动一段时间,就像 exiftool 所做的那样(例如,“将 2 小时添加到创建日期”),并且允许我对一整套文件执行此操作,那就太好了,但如果我必须单独编辑每个文件的元数据,我就可以管理。
到目前为止我尝试过的
- ExifTool。如果是 jpeg,我会使用它,但它似乎无法写入 mov 文件的元数据。它只是能够读取它...
- 欢呼。它似乎无法读取原始元数据。尽管如此,它允许我添加
Creation Date
和Modify Date
,当我重新加载文件时,它能够读取那信息。因此,我的结论是它将元数据存储在其他地方(即,不是我的相机存储元数据的同一位置)。另外,只需添加Creation Date
并保存即可将文件大小增加 200k。对于所有这些,我不认为这是一个可靠的解决方案。 - ffmpeg。这应该可以工作,而且我尝试在命令行上运行它,但结果似乎是大量现有元数据消失了(!)并且最终
Creation Date
没有被保存:ffmpeg -i MVI_3735.MOV -metadata creation_time='2013:09:09 20:40:33' -codec copy MVI_3735_withdate.MOV