Usage of ONDEL StreamValidator

Overview

This document presents the usage guide for the web-assembly based StreamValidator and binary StreamValidator. The screenshots of the actual usage are added to explain how the validation process runs and the results we can get.

Usage guide on web-assembly based StreamValidator

The UI of the web-assembly based StreamValidator is shown in the screenshot below.

At the start of validation testing, the user interface has the following components, defined as:

  1. Online content URL or local file upload input bar
  2. Validation options field:
    1. StreamValidator specific requirements
    2. DASH-IF conformance tool validation options
  3. Additional functions field:
    1. Decryption: Add decryption key-value pairs to your encrypted input
    2. Demux: Demux your input to elemental stream during validation
    3. Record: Save the media files that your input points to during validation
    4. Duration: Set the duration you want to parse in your stream (recommend to be set when your input is a live stream)
  4. Validation start area:
    1. SELECT STREAMS button: start validation in a mode that allows you to select the media you want to validate and ignore the media you don't want to validate.
    2. START button: start validation, validating all the media in your input or the contents you select

 

For starting the validation testing, we generally have three steps:

  1. Provide input: This can be done in two ways, specifically, providing URL and uploading local files. And the supported input includes: DASH manifest, HLS playlist, MP4 files and DDP or AC4 elemental streams.
    1. If you want to provide URL, just type the input URL into the input bar
    2. If you want to upload your local files, click the UPLOAD button and submit your input:
      1. If your uploaded file is MP4 file or elemental stream, just choose your file and upload your file
      2. If your uploaded file is DASH manifest or HLS playlist, you should first package the manifest/playlist file and the media files the manifest/playlist points to together into a zip file, and then submit the zip file.(Details refer to Note 1)

Note 1: When you submit a zip file, it takes StreamValidator some time to unzip the file, and then, you can click the URLs below the input bar to choose the input you want in your zip file. (The image below shows an example.) Click the URLs below the input bar can also change the input.

Besides, the manifest/playlist file and the media files must be placed in a correct relative path in your zip file, otherwise, StreamValidator is unable to find the media segments when validating the manifest/playlist file.

 2. Provide the validation options and the additional functions: Once you have already provided the input, you can edit the validation process through providing the validation options and additional functions.

For validation options, StreamValidator provides the validation checking whether your input contents conformance to our Dolby specs, in the StreamValidator checkpoints field, you can click the checkboxes in the validation options field to edit the requirements set based on the content you input and the environment where you want to play your content.

Besides, StreamValidator also provides some validation testings from DASH-IF conformance tool, you can choose them in the DASH-IF checkpoints field where you can edit your test plan in DASH IF conformance tool.

There are three additional functions provided:

You can click the checkbox in front of the Decryption to set the decryption key and value for your encrypted content. After you click the checkbox, a new window will show up to let you add decryption key-value pairs on your input: you can click the plus icon to add a new key-value pair, click the minus icon to delete the bottom key-value pairs, and edit the key-value pairs in the middle input box. Finally, you can click the save button to save the key-value pairs you have edited, if you click the cancel button, that means you don't need open the decryption function, all the decryption key-value pair will be saved but disabled:

You can click the nearest checkbox in front of the Demux to make StreamValidator demuxes all the media in your input to elemental streams during the validation and finally gives you a download link of the demuxed elemental streams.

And you can also click the nearest checkbox in front of the Record to make StreamValidator saves all the media segments/files in your input during the validation and gives you a link to download them. (The download link for the demuxed elemental streams and the saved media segments/files will be shown in the Output files field. Details are explained below in the Output files explanation.)

You can click the nearest checkbox in front of the Duration and set the duration value to make StreamValidator only parse limited segments, StreamValidator will stop parsing segments when the parsed duration match the setting value. This function is recommended to be used when you want to validate a live stream.

3. Start the validation: After you providing the input with your validation options and additional functions, the last step is to click the Start button to start the validation. Additionally, if you don't want to validate all the streams in your input, you can click the SELECT STREAMS button and the information of all the streams in your input will be placed below the validation options field, the information is provided for you to select the streams that you want to validate, and then all the unselected streams will be ignored in this validation process. After the streams you want to validate have been selected, the last step to start the validation when only your selected streams will be validated is to click on the START button. (If you click on the SELECT STREAMS button by mistake, you can click the BACK button to return to the formal step, or you can also just click to select all the streams in your input. By the way, when selecting streams, the Select all checkbox may help you work more efficiently.)

When the validation testing starts, the progress and the results analysis step is shown in each Result areas as provided as seen here.

The provided information in this step is divided into three categories:

  1. Output files: Output files will appear below the validation start area if you have selected the Demux checkbox or the Record checkbox. After the validation, if you had selected the Demux checkbox (that means you want to use the function that requires StreamValidator to demux all the media in your input to elemental streams during the validation), StreamValidator will package all the demuxed elemental streams into demux_output.zip file, and give you the download link in the Output files field; if you had selected the Record checkbox (that means you want to use the function that requires StreamValidator to save all the media files in your input), StreamValidator will package all the recorded media files into segments.zip file, and the download link will also appear in the Output files field. 

2. StreamValidator validation result: The StreamValidator validation result consists of the result for manifest/playlist attributes validation (if the input is DASH manifest or HLS playlist), the results for the validation checking the conformance between the information of each level describing the same stream (for example, if your input is DASH manifest, StreamValidator will check the Representation-level information, the MP4-level information and the elemental stream level information in each Representations) and the results for specific content (such as, for AC4 content, StreamValidator will check the AC4 related A/V segments alignment for your input, and for AC4 or DDP content, StreamValidator will check whether the elemental stream in the input media files conforms to our Dolby requirements.)

In the StreamValidator validation result output area, the first tag will always be the summary of the validation and analysis reports, the following tags are the sub validation analysis reports for each part of your input stream or some specific validation testings for your input. You can click the tag to switch to each reports, and in each reports, you can see the report logs in the console sub-tag and see the location of the invalid content in tree view sub-tag.

Finally, the result whether your stream pass or fail to pass our validation testing will appear in the first StreamValidator Result Summary report field.

3. DASH-IF Conformance tool validation result: The DASH-IF conformance tool validation result field has several report areas including one summarizing all the DASH-IF reports and several representing the final result of each DASH-IF validation processes. You can click the tag of each report area to view the specific report.