- From: David Singer <singer@apple.com>
- Date: Mon, 22 Oct 2018 09:16:04 +0200
- To: Jamie Stackhouse via GitHub <sysbot+gh@w3.org>
- Cc: public-html-media@w3.org
Hi there is active discussion of an improved track run design at MPEG. May I forward this email to the file format group? There are a couple of designs there and we hope to converge at the next meeting (Jan). > On Oct 17, 2018, at 16:43 , Jamie Stackhouse via GitHub <sysbot+gh@w3.org> wrote: > > itsjamie has just created a new issue for https://github.com/w3c/media-source: > > == Sample Flags - Correctness vs Reality == > In debugging a few issues, I've started to look at how encoders are defining sample_flags at the ISOBMFF level, and noticed through working with content and talking with others in debugging this content that often times the data was incorrect. So I looked at what would go into defining the information as correct as possible. > > However, what I found was that many encoders were taking advantage of `default_sample_flags` in the `tfhd` box, and `first_sample_flags` in the `trun` box. > > This works for achieving playback, but through talking with @wolenetz and debugging a rise of failures related to our MP4 metadata in the Chrome implementation, we were notified that some frames were incorrectly marked as not keyframes when they in fact were. > > In our case, verbosely defining the sample_flags for every sample entry lead to a box size increase of ~10% (600 bytes) per segment and was also of an unknown value as some demuxers only look for the first keyframe currently. > > I believe that currently multiple `trun` boxes could be defined for each GOP, but in my investigation, I didn't see any encoder that output fragmented MP4 in this way. Curious if anyone knew why? > > --- > > Alternatively, I wanted to run by here, and if it makes sense raise for a revision to 14496-12 for including into a future revision of the spec. > > The proposal is to add a new flag to the `trun` box, `indexed-sample-flags-present`. It would be treated as mutually exclusive to `sample-flags-present`, and `first-sample-flags-present`. > > It would be an optional field + variable field array combination of the type: > > ``` > unsigned int(32) indexed_sample_count > { > unsigned int(32) sample_index; > unsigned int(32) sample_flags; > }[indexed_sample_count] > ``` > > I believe it would require a new minor_compliance brand in the same way as `default-base-is-moof`. This would allow a single `trun` box to define specific samples that had non-default flags easily. I believe striking a balance. > > Thank you for any consideration of this. > > Please view or discuss this issue at https://github.com/w3c/media-source/issues/221 using your GitHub account > David Singer Manager, Software Standards, Apple Inc.
Received on Monday, 22 October 2018 07:15:29 UTC