Windows – Changing dates on mp4 metadata

.mp4exiftoolwindows 10

I've been trying to change the metadata dates in mp4 files using exiftool. I can only get it to change the "Date" (whatever that is) and "Media created" fields as displayed in Windows file explorer. However, I organise my pics and videos using Photoshop Elements and this appears only to read only the "Date Created" and "Date Modified" fields. These fields seem to resist all my attempts to modify them using the "exiftool "-modifydate

OK so it's 20 hours later. Thanks everyone for your helpful replies. It seems that Photoshop reads the system dates (Date, amended date, created date) and now I understand why exiftool won't write to these. Instead I found a free tool – Bulk File Changer – which amongst other things allows you to change Created Modified and Access dates with an option to read the required date from the individual file names, which is exactly what I want since all my file namesstart with the date and time of original creation! I haven't worked out the UTC thing but since I live in the UK, time is never far from UTC – close enough for cataloguing family pics and videos.

Best Answer

This is a combination of exiftool FAQs #2 & #3. You are trying to write "Date" but that isn't the actual name of the tag that Windows reads. Additionally, Photoshop Elements may be reading yet a different tag. And to add on to all that, I believe that Windows and Photoshop Elements will read the time stamps differently.

To look at all the timestamps for the file, run this command:
exiftool -time:all -G1 -a -s File.mp4
That will give you the actual tag names instead of tag descriptions. It will also show duplicate tags and what groups they belong to.

I believe the three tags you mostly likely want to try to alter are the FileModifyDate, FileCreateDate (both System tags, meaning they're a part of the underlying file system) and the Quicktime:CreateDate tags. To change these you would use this command:
exiftool -FileCreateDate="2019:07:22 12:00:00" -FileModifyDate="2019:07:22 12:00:00" -Quicktime:CreateDate="2019:07:22 12:00:00" FILE.mp4

Here's is where you run in to the second problem. According to the spec, the Quicktime:CreateDate tag is supposed to be in UTC. Windows understands this and displays the time correctly adjusted to the local time zone. From what I understand, Adobe programs do not read it properly and assume that the time is local time, not UTC. So if the timestamp is written according to the spec, Photoshop Elements will probably not show the proper time.

The above command will write the Quicktime:CreateDate value exactly as written. If you want to write the value according to the spec (adjusted to UTC), you can add -api QuickTimeUTC to the command and exiftool will adjust the time to UTC based upon the local computer's time setting, or if you include the time zone in the value written, e.g. -Quicktime:CreateDate="2019:07:22 12:00:00-05:00", then exiftool will use that to adjust to UTC. In that example, exiftool will end up setting the time to 2019:07:22 17:00:00. Windows will then read it as 2019:07:22 12:00:00 (assuming your time zone is EDT, -05:00) and Photoshop Elements will read it as 2019:07:22 17:00:00.

Related Question