-
Notifications
You must be signed in to change notification settings - Fork 29
Command Line Interface
Daniel Silhavy edited this page Mar 6, 2023
·
11 revisions
The new version of the DASH-IF Conformance Tools offer a command-line interface that can directly be called via php. Note that because of relative paths linking to specific dependencies you need to call the command line interface from the Utils
folder:
cd Utils
php Process_cli.php [options] <url>
Possible options are:
-
-h
,--help
: Print help text -
-c
,--cmaf
: Enable CMAF checking -
-w
,--ctawave
: Enable CTA WAVE checking -
-H
,--hbtv
: Enable HbbTV Checking -
-D
,--dvb
: Enable DVB checking (2018 xsd) -
--dvb_2019
: Enable DVB checking (2019 xsd) -
-l
,--lowlatency
: Enable DASH-IF IOP Low Latency checking -
-i
,--iop
: Enable DASH-IF IOP checking -
-o
,--dolby
: Enable Dolby checking -
-s
,--segments
: Enable Segment validation -
-C
,--compact
: Provide compact JSON output -
--latest_xsd
: Use the latest xsd files for verification -
-S
,--silent
: Do not output JSON to stdout -
-A
,--autodetect
: Automatically detect profiles -
--disable_detailed_segment_output
: Disables the detailed segment validation output to reduce the size of the final JSON
The results are provided as a JSON output that looks the following:
{
"source": "https:\/\/dash.akamaized.net\/akamai\/bbb_30fps\/bbb_30fps.mpd",
"entries": {
"MPEG-DASH Common": {
"verdict": "FAIL",
"MPD": {
"verdict": "FAIL",
"info": [
"Schematron output: 0XLink resolving successful\n\n\nMPD validation successful - DASH is valid!\n\n\n<svrl:failed-assert test=\"if((contains(@profiles, 'urn:hbbtv:dash:profile:isoff-live:2012') or (not(@profiles) and contains(ancestor::dash:MPD\/@profiles, 'urn:hbbtv:dash:profile:isoff-live:2012'))) and (@subsegmentAlignment = 'true')) then false() else true()\"\n location=\"\/*:MPD[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]\/*:Period[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]\/*:AdaptationSet[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]\">\n <svrl:text>HbbTV-DVB DASH Validation Requirements check violated for HbbTV: Section 'MPD' - The MPD contains an attribute that is not part of the HbbTV profile', i.e., found 'subsegmentAlignment' as true<\/svrl:text>\n <\/svrl:failed-assert>\n<svrl:failed-assert test=\"if((contains(@profiles, 'urn:hbbtv:dash:profile:isoff-live:2012') or (not(@profiles) and contains(ancestor::dash:MPD\/@profiles, 'urn:hbbtv:dash:profile:isoff-live:2012'))) and (@subsegmentStartsWithSAP = '1' or @subsegmentStartsWithSAP = '2')) then false() else true()\"\n location=\"\/*:MPD[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]\/*:Period[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]\/*:AdaptationSet[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]\">\n <svrl:text>HbbTV-DVB DASH Validation Requirements check violated for HbbTV: Section 'MPD' - The MPD contains an attribute that is not part of the HbbTV profile', i.e., found 'subsegmentStartsWithSAP' as 1 or 2<\/svrl:text>\n <\/svrl:failed-assert>\n<svrl:failed-assert test=\"if((contains(@profiles, 'urn:hbbtv:dash:profile:isoff-live:2012') or (not(@profiles) and contains(ancestor::dash:MPD\/@profiles, 'urn:hbbtv:dash:profile:isoff-live:2012'))) and (@subsegmentAlignment = 'true')) then false() else true()\"\n location=\"\/*:MPD[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]\/*:Period[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]\/*:AdaptationSet[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][2]\">\n <svrl:text>HbbTV-DVB DASH Validation Requirements check violated for HbbTV: Section 'MPD' - The MPD contains an attribute that is not part of the HbbTV profile', i.e., found 'subsegmentAlignment' as true<\/svrl:text>\n <\/svrl:failed-assert>\n<svrl:failed-assert test=\"if((contains(@profiles, 'urn:hbbtv:dash:profile:isoff-live:2012') or (not(@profiles) and contains(ancestor::dash:MPD\/@profiles, 'urn:hbbtv:dash:profile:isoff-live:2012'))) and (@subsegmentStartsWithSAP = '1' or @subsegmentStartsWithSAP = '2')) then false() else true()\"\n location=\"\/*:MPD[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]\/*:Period[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]\/*:AdaptationSet[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][2]\">\n <svrl:text>HbbTV-DVB DASH Validation Requirements check violated for HbbTV: Section 'MPD' - The MPD contains an attribute that is not part of the HbbTV profile', i.e., found 'subsegmentStartsWithSAP' as 1 or 2<\/svrl:text>\n <\/svrl:failed-assert>\nSchematron validation not successful - DASH is not valid!\n\n\n"
],
"test": [
{
"spec": "MPEG-DASH",
"section": "Commmon",
"test": "Schematron Validation",
"messages": [
"XLink resolving succesful",
"MPD validation succesful",
"Schematron validation failed"
],
"state": "FAIL"
}
]
}
},
"Stats": {
"LastWritten": "2022-06-09 10:18:06"
},
"verdict": "FAIL"
},
"verdict": "FAIL",
"enabled_modules": [
{
"name": "MPEG-DASH Common"
}
]
}