Nadahar
Nadahar
You're missing an essential issue. Exiftool is an *application*, although a command line one. It formats the output for the end user. Metadata-extractor is a Java *library* which can't be...
Your criticism here is really that of the MP4 metadata themselves, specifically the lack of time-zone information. If you read the relevant part of the MPEG-4 standard that I referred...
I browsed a bit in the standard, and it turns out it's more complicated. From what I understand, the current information is retrieved from the "Movie Header Box" (8.2.2) with...
This is where you apply the time-zone: ```java printStream.println(tag) ``` By not explicitly formatting it, and only using the implicit `.toString()`, you "fall back" to the standard Java handling, which...
My guess is that there are some slight differences in the `toString()` implementation for these tags. I agree that it's strange that it's inconsistent, but I'm sure there's a reason...
@payton Indeed, it seems like this 1904 Epoch doesn't apply to for example the track header: https://github.com/drewnoakes/metadata-extractor/blob/270db1ed32494d758109b85be961dfc97aae866d/Source/com/drew/metadata/mp4/boxes/TrackHeaderBox.java#L49-L56 Still, as they are stored as `long`, I don't quite understand how that...
Actually, the track header seems like a bug to me. According to `ISO/IEC 14496-12:2015` **8.3.2.3** (page 25): * `creation_time` is an integer that declares the creation time of this track...
@payton Maybe a search for `creationTime` and `modificationTime` in /mp4/boxes/ is a good idea? Edit: The Epoc is the same for the MediaHeaderBox (**8.4.2.3**), and the same is probably true...
@payton I'm not familiar enough with the logic for these directories, I see in `Mp4BoxHandler` that they are handled differently. For the `MovieHeader`, the Epoc is converted in `addMetadata()`, but...
@payton I have a suspicion that the difference is in the code that generates `toString()`, if I could only figure out where that code is..