dschmidt opened a new pull request, #2936: URL: https://github.com/apache/tika/pull/2936
JIRA: https://issues.apache.org/jira/browse/TIKA-4777 Stacked on #2935 (TIKA-2861), only the last commit is new here. Marked as draft until that PR is merged; after a rebase only the TIKA-4777 commit will remain. QuickTime timed metadata tracks (`mebx` sample descriptions, ISO 14496-12 boxed metadata) declare their key names in the file, and a track's presentation start is defined by its edit list: a leading empty edit delays the media by its duration. This parses the mebx key declarations (keys/keyd) and emits, for every declared key of a delayed track, the presentation start in microseconds as `<key name>.track-start-us`. Undelayed tracks are not reported, their start carries no information. No key names are hardcoded. The main use case are Apple Live Photos, which mark the moment the paired still image was captured as the single one-tick sample of the `com.apple.quicktime.still-image-time` track, shifted there by an empty edit. The sample value itself is a constant -1 marker, so the moov boxes alone are sufficient and mdat is never read. Apple's own LivePhotosKit JS player derives its `photoTime` the same way (it parses trak/elst/mebx client-side). Verified against a real Live Photo video (iPhone 15 Pro, iOS 18.5): `com.apple.quicktime.still-image-time.track-start-us = 1233333` (1.2333s, matching the empty edit of 740/600s), likewise the transform keys declared by the same track; the undelayed video-orientation and live-photo-info tracks are not reported. Testing: the crafted `testMP4_QuickTimeMetadata.mov` fixture gains a timed metadata track with a proper mebx keys/keyd declaration and an empty edit; `MP4ParserTest` asserts the emitted track start. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
