• AnyStream is having some DRM issues currently, Netflix is not available in HD for the time being.
    Situations like this will always happen with AnyStream: streaming providers are continuously improving their countermeasures while we try to catch up, it's an ongoing cat-and-mouse game. Please be patient and don't flood our support or forum with requests, we are working on it 24/7 to get it resolved. Thank you.

[-bug- 14496-12 conformance FIXED] bad branding of MP4 containers

0x0x0x0x0

Well-Known Member
Thread Starter
Joined
Sep 21, 2020
Messages
1,326
Likes
591
AS sets major_brand of the MP4s as `isom,' this is non-conformant as Annex E of both :2015 and :2020 expressly states that any brands mentioned in the annex should not be used as major brands. These brands are`iso{m,2..9,a,b}, mp71, avc1, relo.'

Moreover, Note 2 to Section 5.5 of ETSI TS 126 244 implies that `isom' and `avc1' are mutually exclusive and may cause issues.

Given that the data comes from DASH, you might as well leave mp42 in major and mp42mp41avc1 as compatible.
 
Last edited:
Well, despite being weekend, it has been quite a busy day.
So, where were we?

this is non-conformant as Annex E of both :2015 and :2020 expressly states that any brands mentioned in the annex should not be used as major brands.
While this is de jure true, de facto 'isom' is widely used as major-brand. Although, striving for full compliance with ISO/IEC 14496-12 and ISO/IEC 14496-14. we should, perhaps, change it to mp42 (although, regardless of the stream's dash origin).
Moreover, Note 2 to Section 5.5 of ETSI TS 126 244 implies that `isom' and `avc1' are mutually exclusive and may cause issues.
This claim is dismissed as unrelated. ETSI TS 126 244 is related to the 3GP format; although having the same roots as the MP4 format, 3GP is still not MP4. Besides, please correct me if I am wrong, but it states that 'avc1' implies support for 'isom', rather than the two being mutually exclusive.

P.S. As long as QuickTime player is happy with AnyStream's output, I am happy too ;)
 
Well, despite being weekend, it has been quite a busy day.
So, where were we?


While this is de jure true, de facto 'isom' is widely used as major-brand. Although, striving for full compliance with ISO/IEC 14496-12 and ISO/IEC 14496-14. we should, perhaps, change it to mp42 (although, regardless of the stream's dash origin).

Just because a bunch of FOSS ignorants (and those who couldn't read the standard when it was publicly available (as was the case with :2015)) decide to be non-compliant, doesn't mean that people who take pride in their work (and I know you do because you come here and actually talk to people) should follow the same erroneous path ;-)

Prospere said:
<snip>

This claim is dismissed as unrelated. ETSI TS 126 244 is related to the 3GP format; although having the same roots as the MP4 format, 3GP is still not MP4. Besides, please correct me if I am wrong, but it states that 'avc1' implies support for 'isom', rather than the two being mutually exclusive.

Yes and no, it's more than likely that 3GP players and MP4 share the same code and the libraries used by them are more likely to be architecture tuned with far stricter compliance than people are used to getting away with in the "desktop" environment (although try getting Apple devices to play `hev1' brands instead of `hcv1' ones on HEVC-capable hardware ;-) ), and it spells out the conflict vs. what Annex E says in "specification language":-

14496-12:2020 said:
The presence of a brand in the compatible_brands list of the FileTypeBox is a claim and a permission. It is a claim that the file conforms to all the requirements of that brand, and a permission to a reader implementing potentially only that brand to read the file.

i.e. if you are making a claim to `isom' then you are telling the readers that they can safely ignore `avc1' (in which case what's the point of `avc1' extensions?) and this is what ETSI was trying to tell the implementers:

ETSI TS 126 244 v16 said:
NOTE 2: Consider the brands 'isom' and 'avc1'. The first indicates conformance to the base structure of the ISO base media file format [7]. The second indicates conformance to the structures such as sample groups [7]. A file labelled as 'isom' and 'avc1' conformant is indicating that either these extensions are not present, or if present, they can be ignored (as an 'isom' reader will not understand them). If the writer desires that only readers supporting the extensions read a file, then the 'isom' brand would be omitted. These extensions are all optional (i.e. none are required to be in a file, though if they are, an 'avc1'-conformant reader must interpret them), and therefore a file not using them is still 'avc1' conformant.

Prospere said:
P.S. As long as QuickTime player is happy with AnyStream's output, I am happy too ;)

QuickTime was written by Apple when they had proper software engineers who knew that the "RFC philosophy" should apply: be forgiving of everyone's ignorance, but strive for compliance ;-)

Not arguing, since we're on the same page about the "main thing," just having a technical blabber ;)
 
Last edited:
Back
Top