Skip to content

REST Interface

Daniel Silhavy edited this page Aug 23, 2023 · 6 revisions

With version 2.0.0 of the DASH-IF Conformance Tool we offer a REST interface. Internally, the REST interface uses the Command Line Interface documented here. The basic syntax is as depicted below:

  • http://localhost/Utils/Process_cli.php?url=[insert MPD url here]?[add modules as query parameters]

For instance, to run https://dash.akamaized.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd and enable the DASH-IF IOP module run:

  • http://localhost/Utils/Process_cli.php?url=https://dash.akamaized.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd?iop=1

The list of available query parameters/modules corresponds to what is available in the command line interface:

  • cmaf=1 : Enable CMAF checking
  • ctawave=1: Enable CTA WAVE checking
  • hbbtv=1: Enable HbbTV Checking
  • dvb=1: Enable DVB checking (2018 xsd)
  • dvb_2019=1: Enable DVB checking (2019 xsd)
  • lowlatency=1 : Enable DASH-IF IOP Low Latency checking
  • iop=1 : Enable DASH-IF IOP checking
  • dolby=1 : Enable Dolby checking
  • segments=1 : Enable Segment validation
  • compact=1 : Provide compact JSON output
  • latest_xsd=1: Use the latest xsd files for verification
  • silent=1: Do not output JSON to stdout
  • autodetect=1: Automatically detect profiles
  • disable_detailed_segment_output=1: 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:

{
  "parse_segments": false,
  "source": "https:\/\/dash.akamaized.net\/dash264\/TestCases\/1a\/netflix\/exMPD_BIP_TC1.mpd?iop=1",
  "entries": {
    "MPEG-DASH Common": {
      "verdict": "PASS",
      "BeforeMPD": {
        "verdict": "PASS"
      },
      "MPD": {
        "verdict": "PASS",
        "info": [
          "Schematron output: 0XLink resolving successful\n\n\nMPD validation successful - DASH is valid!\n\n\nSchematron validation successful - DASH is valid!\n\n\n"
        ],
        "test": [
          {
            "spec": "MPEG-DASH",
            "section": "Commmon",
            "test": "Schematron Validation",
            "messages": [
              "XLink resolving succesful",
              "MPD validation succesful",
              "Schematron validation succesful"
            ],
            "state": "PASS"
          }
        ]
      }
    },
    "Stats": {
      "LastWritten": "2022-11-08 02:51:25"
    },
    "verdict": "PASS"
  },
  "verdict": "PASS",
  "enabled_modules": [
    {
      "name": "MPEG-DASH Common"
    }
  ]
}
Clone this wiki locally