/2020-DQM-UV

DASH metrics capture software

Primary LanguageC#Apache License 2.0Apache-2.0

DQM-UV - DASH QoS Metrics tool

This software is designed to analyze the traffic generated by videos that follow the MPEG-DASH protocol (for adaptative streaming videos). It works both for single processes and for multi-process programs. It can extract the initial requested MPD file ( that defines the characteristics of the MPEG-DASH video), and analyze overtime the performance of the stream: quality of the video, segments requested, codecs, response time, real bandwidth… Besides analyzing MPEG-DASH traffic, it can calculate the total network usage and bandwidth of a process overtime.

Download

git clone https://github.com/ETSE-UV/DQM-UV.git

Requirements

  • This software has been designed to work in Windows Systems because it makes use of the Windows’ PowerShell for several purposes and its compatibility with different OS hasn’t been tested yet.
  • For the proper functioning of the application, the tool TShark (the scripting tool of Wireshark) must be installed in the computer and a route to the installation folder must be provided.
  • As the software analyzes the MPEG-DASH video performance by analyzing network traffic, the connection must be unencrypted, otherwise the analysis won’t be possible.

Before starting

  • The route to TShark can be provided during program execution, however it is recommended to change it in the text file on the program folder to save time.
  • If there doesn’t appear any interface to capture traffic it is a problem of Wireshark. To solve this issue on windows, it is necessary to open a console with administration rights and execute the order <> to start the necessary service.
  • The correct functioning of the program is based in the capture of the initial MPD request. When using a browser, between executions it is necessary to delete the cookies and browsing data of the online MPEG-DASH player because if the MPD file is already stored it won’t be downloaded again and the analysis won’t be possible.

How to use

Demo video

Watch a demo video of the tool by clicking on the picture below:

Watch the video

Total network usage and bandwidth for a single process

In this case we will only analyze the total network usage and bandwidth of a single process. We won’t be able to analyze mpeg-dash traffic.

  1. We start with the confirmation of the TShark route (it is read from a text file on the program folder). Screenshot 1

  2. We select the network interface where we want to capture traffic. Screenshot 2 In case no interface appears we execute with administrative rights the command <> Screenshot 3

  3. We select the time duration of the capture. Screenshot 4

  4. By default, we will use a single interval, but we can divide the capture in several time intervals. Screenshot 5

  5. Select that we want to study a single process Screenshot 6

  6. Select that we will only use a name process Screenshot 7

  7. Confirmation of process name Screenshot 8

  8. We start the process to study and make the preparations to play the video without loading it yet. Screenshot 9 Screenshot 10

  9. We start the capture and start playing the video Screenshot 11 Screenshot 12

  10. The program will detect the network connections of the process and will capture the generated traffic. However as it has to wait until the first connections are established, it misses the initial MPD request an it is not possible to analyze the MPEG-DASH traffic, but it is captured. The results will be saved in logs in the corresponding folder. Screenshot 13 Screenshot 14

Analysis of MPEG-DASH traffic for a single process

We follow the previous process up to step 5. On step 6 chose not to only use a name process. 7. Provide an URL for the MPEG-DASH video. The program will check if it is a valid URL. Finally we confirm the name of the process to study. Screenshot 15 Screenshot 16

  1. We start the capture and then we load and play the video (if we start the video before capturing we’ll miss the initial MPD request). When the capture ends the MPD request will be shown and the MPEG-DASH traffic analyzed. The results will be stored in logs. Screenshot 17 Screenshot 18

Analysis of MPEG-DASH traffic for a multi-process program (browser)

First we follow the previous steps up to the 5th. Then we select that we are NOT going to study a single process. Screenshot 19

  1. We prepare the online MPEG-DASH player without loading the video yet. We should check that the connection is not encrypted. Screenshot 20

  2. We start to capture and then we load and start the video. Screenshot 21 Screenshot 22

  3. When the capture is done the results will be shown and stored in logs. Screenshot 23 Screenshot 24 Screenshot 25

Other tools used during development

During the development of this tool we needed a single process capable of playing MPEG-DASH videos. After asking for permission, the tool we used was the plugin NexPlayer™ for Unity

NexPlayer