如何修改视频的“创建媒体日期”?

视频

#1

电脑上有两个视频,拍摄时间均为2012年,手机拍摄的,是以前经百度网盘同步到电脑上的诸多视频里的其中两个。这是前话。

最近发现视频文件属性里的“创建媒体日期”错误(见下图1),变成1970年了, 尝试粗暴地手动更改,却出现错误提示(见下图2), 请问各路大侠有什么方法能修正/修改这个“创建媒体日期”呢? (备注,文件属性常规项里的“只读”没勾选)


#2

点“常规”标签看看是不是设为只读了


#3

没,常规里的“只读”并没有勾选上


#4

我提供一个思路 winhex打开目录项 目录项里有创建时间 直接修改十六进制值应该可以吧

当然以上只是思路,因为:我已经忘了改哪个值了,如果为了这个再去学习一下winhex和哪个ntfs目录项的含义 感觉代价太高了


#5

听你这么说感觉有点复杂,于我这半小白有点困难哦


#6

试试这个 newfiletime,来自微博 @gaelthas


#7

这个软件之前试过,它只能修改“常规”卡里的创建时间、访问时间和修改时间,而不能修改“详细信息”卡里的“创建媒体日期”


#8

用修改 Exif/Metadata 的(批量重命名/图片管理)软件来改。

或者下个 ExifTool ,写个脚本来统一创建时间:

exiftool.exe -r "-MediaCreateDate<CreateDate" "d:\test"

命令解释:
-r —— 递归遍历,如果不需要遍历子文件夹或者目标是单一文件则去掉
"-MediaCreateDate<CreateDate" —— 将媒体创建时间的值设为创建时间的值
"d:\test" —— 目标文件夹,也可以是目标文件的路径


#9

下了exiftool.exe试了一下,未能成功。步骤及结果如下:

0、用NewFileTime修改待修改视频的创建日期为 2012-10-28 11:20
1、下载exiftool.exe,放在 E:\桌面 上
2、新建一个批处理文件 xx.bat,内容是 exiftool.exe “-MediaCreateDate<CreateDate” “E:\桌面\test”,也是放在 E:\桌面 上
3、将待修改视频文件复制到 E:\桌面\test 文件夹里
4、运行xx.bat,瞬间在test文件夹里自动生成名为“原视频名.mp4_original”的文件,大小与原视频一样

新旧文件“详细信息”属性如下图(左旧右新):
2019-03-13_093627
5、拷贝一份新生成的“原视频名.mp4_original”副本,副本“详细信息”里创建日期立马变成拷贝时的日期和时间


#10

original=原件=修改前的文件


#11

但是你看上一个回复的最后那张图左边最下方的“媒体创建时间”,还是原来的样子没有被修改到


#12

试了下,Windows 的媒体创建时间取的是CreateDate的值,而不是MediaCreateDate的。
CreateDate就行了,但要追求稳妥,最好把和媒体创建时间相关的三个值都改了:
CreateDateMediaCreateDateTrackCreateDate
因为说不定别的软件读取的就是其他两项。

命令改一下就好:

//媒体创建时间=文件创建时间
exiftool.exe "-CreateDate<FileCreateDate" "d:\test.mp4"
exiftool.exe "-MediaCreateDate<FileCreateDate" "d:\test.mp4"
exiftool.exe "-TrackCreateDate<FileCreateDate" "d:\test.mp4"

//媒体创建时间=自定义时间
exiftool.exe "-CreateDate=2012:12:12 01:23:45" "d:\test.mp4"
exiftool.exe "-MediaCreateDate=2012:12:12 01:23:45" "d:\test.mp4"
exiftool.exe "-TrackCreateDate=2012:12:12 01:23:45" "d:\test.mp4"

命令还得改一下,开启时区转换并设置时区:

exiftool.exe -api "QuickTimeUTC" "-CreateDate=2012:12:12 21:23:45+08:00" "d:\test.mp4"

#13

成功了!只是有个不能理解的小瑕疵,

复制了自定义时间的那三行,修改了目标目录(没有指定文件),其他的没改,
运行批处理文件后,“详细信息”属性卡里的“创建媒体日期”变成“2012/12/12 9:23”,
细看这日期时间,日期与自定义的日期一致,但时间却不一样(我操作的时间是22点20分)

另问一下,MediaCreateDate、TrackCreateDate指的是哪个时间,查看了文件属性里的“常规”卡和“详细信息”卡,均无发现有任何时间修改成对应的那个自定义时间




#14

大意漏了时区设置,之前的命令设置的是本地时间,但系统把这个当作+0 的 UTC 时间来读取并转换成了北京时间(+8)来显示。
命令还得改一下,开启时区转换并设置时区:

exiftool.exe -api "QuickTimeUTC" "-CreateDate=2012:12:12 21:23:45+08:00" "d:\test.mp4"

至于看不到其他两个属性,这很正常。
这三个创建日期都是 QuickTime 格式的属性,Win 只是读取了其中一个。 另外两个其他系统、设备、影音管理/编辑软件可能会读取。
三个一模一样的属性,说白了就是格式标准在进化中产生的历史残留。既然改了,自然是统一比较好。


#15

万分感激!成功完美修改了!