Timed-Metadata from iphone saved according to swift

Started by shortz79, July 07, 2021, 09:56:13 AM

Previous topic - Next topic

shortz79

It's that able to get the time-metadata with "-ee" command.
I custom a track by record at iphone side, but i failed to load that track.
I use the AVTimeMetadataGroup in swift, it seems like a new track here.
I successfully export the information of metadata instead of the timed-metadata(per frame)

Phil Harvey

If I understand correctly, you are not able to extracted timed metadata from a video using ExifTool?

Can you upload a sample video which has this problem?

- 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 ($).

shortz79

Thank Phil.
Yes, it's correct.

Here is the link from the google drive that a 5sec sample video
https://drive.google.com/file/d/1g-uRpuqR9tJUdqJuYjf1WOqoJHeZ6MID/view?usp=sharing

This is the codec getting from the mac finder
codec: Timed Metadata, H.264

It seems that there has Timed Metadata there but ExifTool Failed to export it out from the video

Phil Harvey

There is a bug in ExifTool that causes it to hang when processing the timed metadata in this video.

I will fix the hang problem, but ExifTool still doesn't won't have the ability to decode this metadata.  I haven't seen this type of timed metadata before.

But you should be able to add the ability to extract this metadata in binary form by adding a user-defined QuickTime::Keys tag with an ID "udta\xa9trk".

- 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 ($).

shortz79

Thanks Phil

Could you share the command with me how to decode with the Command line Exiftool

Yeah, I only needed for binary from the time-metadata track.
But I also don't know how is the user define Key tag for my track.


Phil Harvey

The command is

exiftool -config mytrk.config -ee -b -mytrk FILE > out.dat

with this "mytrk.config" file:

%Image::ExifTool::UserDefined = (
    'Image::ExifTool::QuickTime::Keys' => {
        "udta\xa9trk" => { Name => 'MyTrk', Binary => 1 },
    },
);

1; # end


But here are the caveats:

1. This requires ExifTool 12.29 or later.

2. The data is currently written using an incorrect "string" format type (1) in the MOV file.  This must be changed to "undef" format (0) in the MOV file for it to be properly decoded.

3. The command dumps all of the timed data together in a single file.  To extract the blocks individually with timing information will require different command(s).

- 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 ($).