Dash-Industry-Forum / DASH-IF-Conformance

This repository provides the source code for MPEG-DASH/DASH-IF Conformance Software/Validator. It has been extended according to further standards, such as CMAF, DVB-DASH, HbbTV, and CTA WAVE.
https://conformance.dashif.org/
Other
68 stars 28 forks source link

Check "MOOV/MVEX/MEHD" in a live dash, table should not exist #697

Open Murmur opened 9 months ago

Murmur commented 9 months ago

Validator tool does not raise an error or warning on init.mp4: MOOV/MVEX/MEHD (.mediaDuration) table is found in a live dash manifest.

Live streams should not have a MEHD table, althought all players I have tested(dashjs, shaka, hbbtv native) works fine.

Also Livesim2 ticket: https://github.com/Dash-Industry-Forum/livesim2/issues/156

rbouqueau commented 9 months ago

To make sure I understand. Your request a recommendation to check that in a live session the mehd is either omitted or the mediaDuration value is set to zero.

I could not find any normative reference in ISOBMFF or DASH or CMAF. ISOBMFF says zero or omitted or zero with a MAY.

CMAF just mentions it "is" omitted. Maybe one wants to change that to "When the duration is unknown, this box shall be omitted."? Is that your idea?

Murmur commented 9 months ago

My idea is Warning This is a dynamic(live) manifest and MEHD atom should not be present in an init segment .

Table is not expected to be found in an init segment for live streaming but in a case of vod2live simulations it may be present althought makes no sense. All players I've tested are fine with it so not a big issue.

jpiesing commented 9 months ago

My idea is Warning This is a dynamic(live) manifest and MEHD atom should not be present in an init segment .

Table is not expected to be found in an init segment for live streaming but in a case of vod2live simulations it may be present althought makes no sense. All players I've tested are fine with it so not a big issue.

IMHO going against a statement of fact in the CMAF spec 'is omited' at least merits a warning even though "should" isn't used.

rbouqueau commented 9 months ago

I understand the reasoning here but the spec doesn't make a difference between live or not. It makes a difference on whether the duration is known or not.

The spec wording seems generic enough to handle use-cases like linear or vod2live. In that case one can provide the total duration to the player in advance, that wouldn't (and apparently doesn't) hurt.

So imho the only thing that's testable is in CMAF: check that there is no mehd box with fragment_duration=0. Not sure this would have solved the initial issue (which isn't a conformance issue, is it?).

Opinion?

rbouqueau commented 7 months ago

Any comment on this?

Murmur commented 7 months ago

@rbouqueau My vote is for Warning or Info notification text so that this is acknowledged.