Dominik Schmidt created TIKA-4777:
-------------------------------------
Summary: Extract QuickTime timed metadata (mebx) tracks
Key: TIKA-4777
URL: https://issues.apache.org/jira/browse/TIKA-4777
Project: Tika
Issue Type: Improvement
Reporter: Dominik Schmidt
Apple Live Photo videos mark the moment the paired still image was
captured in a timed metadata track: the sample description declares the
format 'mebx' with a keys structure containing
com.apple.quicktime.still-image-time. The item value itself is always -1;
the actual time is the presentation time of that sample, derived from the
track's sample tables.
Everything needed lives in the moov box, no mdat access is required:
- mdhd: track timescale
- stsd: detect the mebx sample entry and its still-image-time key
- stts and elst: an empty edit shifts the single one-tick sample to the
still moment
Example from a real Live Photo video (iPhone 15 Pro, iOS 18.5): the
still-image-time track has timescale 600, an edit list with an empty edit
of 740 units followed by the sample, giving a still time of 1.2333 s.
Neither the current MP4 handler (which reads the static keys/ilst
metadata, TIKA-2861) nor the underlying metadata-extractor exposes timed
metadata tracks; ExifTool only surfaces the constant -1 marker value.
Note that the Apple maker note tag 0x0017 in the paired image
(historically documented as "LivePhotoVideoIndex") does not encode a
usable time on current iOS versions, so the video track is the only
reliable source for this timestamp.
Proposal: extend TikaMp4BoxHandler to accept the relevant trak child
boxes, correlate mdhd/stsd/stts/elst per track, and emit the still time
as metadata (e.g. com.apple.quicktime.still-image-time, in
microseconds).
Related: TIKA-2861 (QuickTime item-list metadata), TIKA-4776 (image-side
Apple maker note, LONG8), TIKA-852.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)