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.
"MPEG-DASH Common":
{
"AdaptationSet":
{
"verdict": "PASS"
},
"BeforeAdaptationSet":
{
"verdict": "PASS"
},
"BeforeMPD":
{
"verdict": "PASS"
},
"BeforeRepresentation":
{
"verdict": "PASS"
},
"MPD":
{
"info":
[
"Schematron output: 0XLink resolving successful\n\n\nMPD validation successful - DASH is valid!\n\n\n<svrl:failed-assert test=\"if (not(@profiles) or (contains(@profiles, 'urn:mpeg:dash:profile:isoff-on-demand:2011') or contains(@profiles, 'urn:mpeg:dash:profile:isoff-ext-on-demand:2014') or contains(@profiles, 'urn:mpeg:dash:profile:isoff-live:2011') or contains(@profiles, 'urn:mpeg:dash:profile:isoff-ext-live:2014') or contains(@profiles, 'urn:mpeg:dash:profile:isoff-main:2011') or contains(@profiles, 'urn:mpeg:dash:profile:full:2011') or contains(@profiles, 'urn:mpeg:dash:profile:isoff-common:2014') or contains(@profiles, 'urn:mpeg:dash:profile:isoff-broadcast:2015') or contains(@profiles, 'urn:mpeg:dash:profile:mp2t-main:2011') or contains(@profiles, 'urn:mpeg:dash:profile:mp2t-simple:2011') or contains(@profiles, 'http://dashif.org/guidelines/dash264') or contains(@profiles, 'http://dashif.org/guidelines/dash264#sd') or contains(@profiles, 'http://dashif.org/guidelines/dash264#hd') or contains(@profiles, 'http://dashif.org/guidelines/dash264main') or contains(@profiles, 'http://dashif.org/guidelines/dash264high') or contains(@profiles, 'http://dashif.org/guidelines/dash-if-simple') or contains(@profiles, 'http://dashif.org/guidelines/dash-if-main') or contains(@profiles, 'http://dashif.org/guidelines/dash-if-ondemand') or contains(@profiles, 'http://dashif.org/guidelines/dash-if-mixed') or contains(@profiles, 'http://dashif.org/guidelines/dashif#ec-3') or contains(@profiles, 'http://dashif.org/guidelines/dashif#mlpa') or contains (@profiles, 'http://dashif.org/guidelines/dashif#ac-4') or contains(@profiles, 'http://dashif.org/guidelines/dashif#dtsc') or contains (@profiles, 'http://dashif.org/guidelines/dashif#dtsh') or contains (@profiles, 'http://dashif.org/guidelines/dashif#dtse') or contains (@profiles, 'http://dashif.org/guidelines/dashif#dtsl') or contains (@profiles, 'http://dashif.org/guidelines/dashif#mps') or contains (@profiles, 'http://dashif.org/guidelines/dashif#heaac-mc51') or contains (@profiles, 'http://dashif.org/guidelines/dashif#heaac-mc71') or contains (@profiles, 'http://dashif.org/guidelines/dashif#mpeg-h-3da') or contains(@profiles, 'http://dashif.org/guidelines/dashif#cxha') or contains(@profiles, 'http://dashif.org/guidelines/dash-if-uhd#4k') or contains(@profiles, 'http://dashif.org/guidelines/dash-if-uhd#hdr-pq10') or contains(@profiles, 'http://dashif.org/guidelines/dashif#vp9') or contains(@profiles, 'http://dashif.org/guidelines/dash-if-uhd#vp9') or contains(@profiles, 'http://dashif.org/guidelines/dashif#vp9-hdr') or contains(@profiles, 'http://dashif.org/guidelines/dash-if-uhd#vp9-hdr') or contains(@profiles, 'urn:hbbtv:dash:profile:isoff-live:2012') or contains(@profiles, 'urn:dvb:dash:profile:dvb-dash:2014'))) then true() else false()\"\n location=\"/*:MPD[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]\">\n <svrl:text>An unknown profile string (other than the On-Demand profile -\"urn:mpeg:dash:profile:isoff-on-demand:2011\", the extended On-Demand profile -\"urn:mpeg:dash:profile:isoff-ext-on-demand:2014\", the live profile -\"urn:mpeg:dash:profile:isoff-live:2011\", the extended live profile -\"urn:mpeg:dash:profile:isoff-ext-live:2014\", the main profile- \"urn:mpeg:dash:profile:isoff-main:2011\", the full profile \"urn:mpeg:dash:profile:full:2011\", the common profile -\"urn:mpeg:dash:profile:isoff-common:2014\", the broadcast TV profile -\"urn:mpeg:dash:profile:isoff-broadcast:2015\", the mp2t-main profile -\"urn:mpeg:dash:profile:mp2t-main:2011\", the mp2t-simple profile -\"urn:mpeg:dash:profile:mp2t-simple:2011\", the DASH-IF profile - 'http://dashif.org/guidelines/dash264', the DASH-IF SD profile - 'http://dashif.org/guidelines/dash264#sd', the DASH-IF HD profile - 'http://dashif.org/guidelines/dash264#hd', the DASH-IF main profile - 'http://dashif.org/guidelines/dash264#main', the DASH-IF high profile - 'http://dashif.org/guidelines/dash264#high', the DASH-IF IOP simple profile - 'http://dashif.org/guidelines/dash-if-simple', the DASH-IF IOP main profile - 'http://dashif.org/guidelines/dash-if-main', the DASH-IF IOP on demand profile - 'http://dashif.org/guidelines/dash-if-ondemand', the DASH-IF IOP mixed on demand profile - 'http://dashif.org/guidelines/dash-if-mixed', the DASH-IF multichannel audio extension with Enhanced AC-3 -\"http://dashif.org/guidelines/dashif#ec-3, the DASH-IF multichannel extension with Dolby TrueHD -\"http://dashif.org/guidelines/dashif#mlpa\", the Dolby AC-4 profile -\"http://dashif.org/guidelines/dashif#ac-4\", the DASH-IF multichannel extension with DTS Digital Surround -\"http://dashif.org/guidelines/dashif#dtsc\", the DASH-IF multichannel audio extension with DTS-HD High Resolution and DTS-HD Master Audio -\"http://dashif.org/guidelines/dashif#dtsh\", the DASH-IF multichannel audio extension with DTS Express -\"http://dashif.org/guidelines/dashif#dtse\", the DASH-IF multichannel audio extension with DTS-HD Lossless profile -\"http://dashif.org/guidelines/dashif#dtsl\", the DASH-IF multichannel audio extension with MPEG Surround profile -\"http://dashif.org/guidelines/dashif#mps\", the DASH-IF multichannel audio extension with HEAACv2 Level 4 profile -\"http://dashif.org/guidelines/dashif#heaac-mc51\", the DASH-IF multichannel audio extension with HEAACv2 Level 6 profile -\"http://dashif.org/guidelines/dashif#heaac-mc71\", the DASH-IF multichannel audio extension with MPEG-H 3D Audio profile -\"http://dashif.org/guidelines/dashif#mpeg-h-3da\", the DASH-IF audio extension with USAC profile -\"http://dashif.org/guidelines/dashif#cxha\", the DASH-IF UHD HEVC 4K profile -\"http://dashif.org/guidelines/dash-if-uhd#4k\", the DASH-IF HEVC HDR PQ10 profile - \"http://dashif.org/guidelines/dash-if-uhd#hdr-pq10\", the DASH-IF VP9-HD profile -\"http://dashif.org/guidelines/dashif#vp9\", the DASH-IF VP9-UHD profile -\"http://dashif.org/guidelines/dash-if-uhd#vp9\", the DASH-IF VP9-HDR profile -\"http://dashif.org/guidelines/dashif#vp9-hdr\" or \"http://dashif.org/guidelines/dash-if-uhd#vp9-hdr\", the DVB-DASH profile -\"urn:dvb:dash:profile:dvb-dash:2014\", the HbbTV 1.5 profile -\"urn:hbbtv:dash:profile:isoff-live:2012\"\")found.</svrl:text>\n </svrl:failed-assert>\nSchematron validation not successful - DASH is not valid!\n\n\n"
],
"test":
[
{
"messages":
[
"XLink resolving succesful",
"MPD validation succesful",
"Schematron validation failed"
],
"section": "Commmon",
"spec": "MPEG-DASH",
"state": "FAIL",
"test": "Schematron Validation"
}
],
"verdict": "FAIL"
},
"Period":
{
"verdict": "PASS"
},
"Representation":
{
"verdict": "PASS"
},
"verdict": "FAIL"
}
Using dev branch release https://github.com/Dash-Industry-Forum/DASH-IF-Conformance/commit/ba42591cd7b98dd9b2773dc2758828676b3bfb4a. When validating a DASH MPD using the 2017 DVB DASH profile (
urn:dvb:dash:profile:dvb-dash:2017
) it is not recognised by the validator. Even when it is the only profile signalled (i.e. not quite the same as issue #598):Also, it appears the output is not valid JSON: