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]

Reply via email to