Question about pseudo-tags (filecreatedate)

Started by Muyah, October 07, 2015, 08:42:28 AM

Previous topic - Next topic

Muyah

Hey,

Could someone explain to me how these tags work?

I'll give an example to illustrate my confusion: Say I record a video on a camera, the camera stores some creation/modification dates on the SD card along with the files they belong to. Now, I import the video into a Windows or OSX environment and the dates are displayed the same across these systems. However, when I change the creation date of a file on OSX, the changes won't show up in a Windows system (I assume the same is true vice-versa) because of the difference between creation date (OSX) and filecreatedate (Windows). So now that I've changed the creation date in OSX, the creation dates are no longer the same on each system (in Windows the date displayed will probably be the date it first enters the file system).

How then is it possible that there was a single creation date being interpreted by both systems in the same way when it was fresh out of the camera?

From my current obviously flawed understanding I can only assume that when the camera writes the video to the SD, it includes both an OSX compatible creation date and a Windows compatible one. I know there is some terribly obvious thing I'm missing and I'm hoping someone is willing to point it out to me.

If, however, the Windows filecreatedate is always included with a file. Does that mean it exists in OSX as well even though it cannot be changed or seen by Exiftool?

Phil Harvey

The question is not about the O/S as much as it is about the underlying file system.  Since you mentioned an SD card, I'm guessing you're talking about FAT32, which stores a creation date/time and a modification date/time.  If you plug the SD into a Mac and Windows machine, they should should show the same creation date/times (except for maybe a time zone difference).

On an OS X system, you have a choice of filesystems, although I think you are probably using HFS+, which does store a file creation date.  ExifTool can not access this date/time because (like Windows) this is not part of the standard C/Perl libraries, and (unlike Windows) I was not able to find a suitable 3rd-party library which allows access to this information.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Muyah

Thanks for the quick response!

Ok so FAT32 stores a creation date that is interpreted the same by OSX (HFS+) and Windows. But when I change the creation date in OSX, I'm not actually changing the "original" creation date (the one stored by FAT32 that allowed it to be interpreted by OSX and Windows the same) right? So does that mean that this "original" creation date still exists alongside the file or does it disappear (or convert?) the moment the file is transferred to a HFS+ file system?

Phil Harvey

Quote from: Muyah on October 07, 2015, 09:21:43 AM
when I change the creation date in OSX

I don't understand what you mean.  Is the file on an HFS+ system?  Or are you changing the file on an SD card?  If on the original SD card, then you should be changing the original creation date.  But when you copy the file off the SD card onto a native OS X disk (probably HFS+), then the filesystem information will change, and I'm not sure what happens to the creation date (although one might naively expect it to be converted to the Mac-equivalent information on HFS+).

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Muyah

I understand I'm not doing a very good job of making myself clear so I'll try it with an example.

Say I have a a video on an SD card (FAT32) with a creation time of 15:00
I then transfer this video to an OSX system (HFS+) where I change the creation time to 20:00
I then transfer the video to a Windows system (NTFS probably) which presents three possibilities:

1. The creation time will show as 15:00. If this is the case it means the unedited creation date was carried along with the file from FAT32 to HFS+ to NTFS.

2. The creation time will show as 20:00. This is impossible I presume because I only changed the time in OSX.

3. The creation time will be set to the moment the file first entered the Windows system.

I don't know which of these is true, but the first one has an implication that some filesystem agnostic creation date exists alongside files. Could you confirm this? I think you already said you didn't know but just to be sure.

Phil Harvey

There is no filesystem agnostic creation date/time.  Unix filesystems (UFS) for example do not store this information.

FAT32 and HFS+ do both store the file creation date/time, but in different formats, and you may well see differences (like time zone changes) when files are copied between these filesystems (assuming that the creation date/time is preserved at all).

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Muyah

Alright so I managed to do some testing. Turns out that if I change a file's creation date and modification date on an HFS+ (OSX) volume, the changes successfully transfer to NTFS (Windows). So I guess all three main file systems' dates are mostly compatible unless timezones come into play. So changes in the FileCreateDate in Windows will also be reflected in OSX's creation date (and vice-versa) should the file be transferred. I don't know if this is news to you but I thought I'd let you know.

On an unrelated note, I ran into some Microsoft tags I wasn't able to delete. Namely DateAcquired and Category. I tried deleting the whole Microsoft group with '-Microsoft:all=' and a few variations thereof but no dice. Could you tell me how I can delete those tags?

Phil Harvey

Use the -G1 option to see the specific group that the DateAcquired tag belongs to.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Muyah

I did and they both belong to the [Microsoft] group, I just can't find a way to delete them.

Phil Harvey

You mean you don't see this?:

> exiftool a.jpg -dateacquired -G1
[XMP-microsoft] Date Acquired                   : 2015:10:08 07:51:17-04:00


What type of files are these?

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Muyah

Yes sir.

[QuickTime]     Selection Duration              : 0 s
[QuickTime]     Current Time                    : 0 s
[QuickTime]     Next Track ID                   : 3
[Microsoft]     Date Acquired                   : 2013:04:14 10:02:24
[Microsoft]     Category                        : Inhoud samsung Note foto.video
[Track1]        Track Header Version            : 0
[Track1]        Track Create Date               : 2013:04:13 09:46:59
[Track1]        Track Modify Date               : 2013:04:13 09:46:59


These are MP4s.

Phil Harvey

Ah.  ExifTool has only limited write ability in MP4 videos, and can't be used to change these tags.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Muyah

Ah that's too bad. Thanks for your help anyway!