Version Stack: can I propagate the creation date from MP4 to JPG?

Started by rreyer, February 18, 2019, 02:23:34 PM

Previous topic - Next topic

rreyer

Hi,

I have a problem with version stacks.

For images from a GoPro Fusion 360 camera (always 2 half spheres) I create a version stack with a "visual" (a compiled 360deg photo) and want to propagate the creation date from the Master to the visual (the visual is created later and has the wrong date).

That works fine if the sources are JPG (360 deg still images). (thumbs up! I'm very happy that this is possible in iMatch)

But when the sources are MP4, then I can't propagate the creation date to the JPG (!) visual. It simply won't do it. The visuals then have the wrong creation date and show up at the wrong date in the timeline, even when the stack is collapsed.

Can you think of a workaround to set the creation date of many JPGs according to their Version Stack Master MP4s?

Many thanks.

Mario

Metadata for video files is much worse than the mess we usually encounter in image files.
Either they have none at all, or some variant of the Apple QuickTime data, which is a most fuzzy target. Or some other proprietary records here and there.
it all depends on what sense ExifTool can make of the data in your video file.

Which tags are you trying to propagate? Since video files don#t have EXIF and usually neither XMP, what are you trying to propagate from where to where?
As always, it would help much if you can provide a sample video or at least a dump of the metadata contained in your files. Just that the extension is MP4 means nothing. MP4 is a container format and can contain one or more video streams, audio streams, a batch of metadata here and there maybe...
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

hluxem

There are many different time tags and movie files in general are tricky with exif data. While there maybe a date and time attached to the file, it maybe a specific mp4 tag not propagated to the jpg version or there maybe additional tags in the version which have priority over whatever tag is propagated.
I think you can solve the issue with a metadata template copying the existing time and date value in the mp4 file to the right tag in the mp4 file before you propagate the data.
First you have to check all date and time tags in your file before and after propagation. You can go to the help and search for ExifTool Command Processor, it shows how to list all meta data of a file. You can also attach 3 sample files so we can check the time stamps.

Just saw that Mario did answer too while I was writing this. Maybe the hint with the metadata template and exif tool processor helps.

Heiner

rreyer

Somehow iMatch gets a creation date from the source files (maybe just the file creation) and it would already be sufficient if I could propagate that to the visual JPG.

In the metadata I see these tags with the correct date/time:
- Quicktime Track Header - Track Create Date   2018:09:23 09:15:38
- Quicktime Movie Header - Create Date   2018:09:23 09:15:38
- Quicktime MediaHeader - Media Create Date   2018:09:23 09:15:38
- XMP Phootshop - Date Subject Created   2018:09:23 09:15:38
- XMP xmp - Created Date   2018:09:23 09:15:38

Whenever I try it with copy/paste (because "Propagate" is greyed out) the visual just gets the current date in various metadata fields.


Mario

I don't see a problem.

Note: I assume the versions have a different (!) name than the MP4 file.
Because otherwise they will all share the XMP file IMatch creates for the MP4, which basically is metadata propagation already. Without anything special to configure.

For testing, I've created a version rule as follows:

Master: \.mp4
Version: _*{name}ver\.(jpg|png)


I explicitly named the versions with a ver postfix to disable the "XMP for all" rule (see Note).
On the version tab I configured the master to propagate rating, label and all XMP data.

I've added a folder to my database. It contains a MP4 with a rudimentary Apple QuickTime metadata record, including a creation date:

[QuickTime]     Create Date                     : 2016:11:28 14:16:32

When ingesting the MP4, IMatch pulls this date into the XMP created/digitized tags, as documented in How IMatch uses Date and Time Information

When the master propagates the XMP, this data is copied into the JPG and PNG masters in my test. Looks good, IMatch is doing an awesome job to handle all this mess for you.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

rreyer

Thank you for your reply.
I believe that I did everything like you described.

Here's a ZIP file with just ONE MP4 and one compiled version visual.
https://www.dropbox.com/s/nwb7wuqwl1tiucy/mp4test.zip?dl=0

The version expressions link the files together and if the master is a JPG then the date/time gets propagated to the visual. (the version expression for JPG- and MP4-master is the same)
But there seems to be something wrong with these GoPro Fusion MP4s. Propagation won't work.

BTW: "What to Propagate" is set to "EXIF Data (safe tags only)".




Mario

QuoteTW: "What to Propagate" is set to "EXIF Data (safe tags only)".


Do MP4 files have EXIF metadata? I doubt it. And hence this cannot work.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

rreyer

Well, that is my question then:

The MP4 file has a "date/time" in iMatch (and I don't care how iMatch does that trick).
---> How can I "propagate" that date/time to that JPG visual, either by setting the JPGs metadata or any other way, so that I have a correct sorting in the timeline?


Mario

I explained above where IMatch gets the date from and where it stores it.
And that propagating XMP data hence automatically propagates this date as well.
I run a test yesterday and it worked immediately.

Double-check your settings (DON'T propagate EXIF data, for example!).
Make sure you propagate only from the MP4 to JPG and not accidentally in the other direction as well.
If your versions have the same name as the master and are int he same folder, other rules apply. See my comment above.
Mark the date and time in the MP4 as modified as I explained above if the MP4 is already in the database. Propagation takes place when metadata is changed in the parent. Manually propagate once from the parent if needed.

I'm currently busy with the next release and I will not have time to check if your MP4 file is different from the MP4 files I have in my test library, and if and why this should make a difference when it comes to propagating XMP data.


-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

hluxem

Hello,

I downloaded both files and the first question I have is what is the correct time for the mp4 file.
For me it show up in the time line at 10/8/2018   11:28:04, that is the File Modification tag, but there are multiple tags like QuickTime create at 2018/09/24 9:39:00.

I assume the later is the correct date. As Mario already mentioned, there are no valid exif tags, so nothing is propagated.

For my own movie files I add time and location to xmp tags and a xmp file with the metadata is created when writing back the changes. For me so far it worked best to use this xmp tag for date and time:  {File.MD.XMP::photoshop\DateCreated\DateCreated\0}
I think you need to create a meta data template copying the value of the tag you choose to this xmp tag. Then enable xmp data propagation and the tag should be updated. Below are some of the time tags from ExifTool, there are more data for each track, but they are all the same.

Hope that helps,

Heiner

[System]        File Modification Date/Time     : 2018:10:08 11:28:04-04:00
[System]        File Access Date/Time           : 2019:02:19 07:49:35-05:00
[System]        File Creation Date/Time         : 2018:10:08 11:28:04-04:00
[QuickTime]     Create Date                     : 2018:09:24 09:39:00
[QuickTime]     Modify Date                     : 2018:09:24 09:39:00
[Track1]        Track Create Date               : 2018:09:24 09:39:00
[Track1]        Track Modify Date               : 2018:09:24 09:39:00

Mario

IMatch will use  [QuickTime]     Create Date  to fill the XMP created/digitized tag?
Or does this not work on your system?
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

rreyer

I tried an all new Version Relation with just the two files (master.MP4 and visual.JPG).
Then I tried the various flags for propagation.

The MP4 has the date 24.9.2018.
The visual.JPG is 26.12.2018.

When I check the "All XMP" then the date of the JPG gets overwritten with the current date (today).
With one option I could even erase all metadata from the visual.JPG (I think that was "Delete XPM").

I didn't try ALL the options. Maybe there's something that does the trick but doesn't sound like it.

———
@Mario: in my previous post I listed all "Create Date" tags of the MP4 that I found in the metadata panel.

——-> I'll be on travel until Friday, can't test anything until then <——


Mario

Provide a sample MP4 and JPEG for download or send them to my support email address
Also show a screen shot of the version tab in the File Relations dialog and tell me which options in the list you have enabled.
Then: Where the MP4 and JPEG already in the database when you created the File relation? If so, how do you propagate? Propagation is triggered when you make changes to the master. Since the data does not change after you have ingested the master, it will not propagate. Did you mark the dates of the MP4 as changed in the MD panel as I explained in my first reply? Then propagated manually with <F4>,<P>?
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook