Candela Technologies Logo
Network Testing and Emulation Solutions

Test Video Streaming using DASH Server and InterOp APK

Goal: Host DASH server on LANforge and test Video Streaming using InterOp apk.

This cookbook requires LANforge GUI version 5.4.6 and above.

Background

DASH is used for embedding videos in a web page without using third party services such as youtube or vimeo. It is mostly used in OTT platforms.

Dynamic Adaptive Streaming over HTTPS (DASH) is a variant of Dynamic Adaptive Streaming (DAS) that uses the HTTPS protocol for delivering video content over the internet. HTTPS is the secure version of HTTP, and it provides encryption and authentication to protect the privacy and integrity of the data being transmitted.

With DASH, the video content is encoded at multiple bitrates and is divided into small segments that can be downloaded and played back in a continuous stream. These segments are delivered over the internet using HTTPS, which provides secure and reliable delivery of the video content.

Android App has inbuilt Video Media Player (Exoplayer) which can run various types of Media Types which includes:

·       Progressive

·       DASH (Dynamic Adaptive Streaming over HTTPS)

·       HTTP Live Streaming

·       Real Time Streaming Protocol

Diagram of Setup

  1. Connect Android Phone to LANforge via USB such that the device will appear in Interop Tab.

    • Note: Make sure to enable developer settings in android phones.

  1. Select the device in Interop Tab and click on Batch Modify tab.

  1. Select Launch GUI option to view the mobile screen.

  1. Click Install to install Interop apk onto the mobile phone.

  1. Enter LANforge Manager IP, SSID, Encryption and Password. Then, click Apply and start options such that device will be connected to Wi-Fi and enter testroom. Here, mobile got clustered to the LANforge with Resource-Id 10.

  1. After entering the Test room, device must appear in Port Manager Tab. That is the Wi-Fi port of Mobile.

  1. To run nginx on eth1 port enable http on eth1 interface by double-clicking on the port and apply the settings.

  1. To host DASH server on LANforge use the following commands.

    1. sudo dnf install ffmpeg

    FFmpeg is a popular multimedia framework that can be used to record, convert, and stream audio and video files.

    1. sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

    This command installs the RPM Fusion repositories on a Fedora system. RPM Fusion is a repository of software packages that are not included in the default Fedora repositories, such as multimedia codecs and drivers.

    1. sudo dnf install gpac

    GPAC is an open-source multimedia framework that can be used to create, package, and stream multimedia content.

    This command, when run, downloads and installs the GPAC package and its dependencies on your system. After the installation is complete, use the GPAC tools to create and manipulate multimedia content.

  2. Place below mentioned wifivideo.mp4 and convert.bash file in the html directory:
    /usr/local/lanforge/nginx/html/

    1. convert.bash

    2. wifivideo.mp4

  3. Run the convert.bash to convert .mp4 to .mpd file using the command:
    sudo bash convert.bash wifivideo.mp4

  1. A new directory will be created automatically to store the .mpd file. In the below picture, wifivideo.mpd is stored in wifivideo directory.

  1. Create a L4 Endpoint by clicking on Layer 4-7 tab and opening the Video Streaming tab on app.

  1. Add the URL and Source/Dest File. Select Resource port number of your mobile, enable Real Browser, and Video Stream options. Add the eth1 IP address on which nginx server is enabled and enter the URL.

  1. Start the endpoint. The video will be play on the phone and the stats will be reported in the Layer-4 tab in the GUI as well as on LANforge Interop app.

The stats can also be viewed in the MPD file by using the command: vi wifivideo.mpd in the terminal.

Mpd file maps with bandwidth that is mentioned in LANforge InterOp app. From the Mpd we can observe bandwidth as 366837 which is same as mentioned above in InterOp.

If the network has issues, the bitrate goes down and the same can be reported in LANforge InterOp app. This can be tested using WANlinks in lanforge.

  1. To create a WANlink go to the Status tab and select Netsmith.

  1. Right-click in the Netsmith window and select New Connection.

  1. Select Port 1-A as the port where the server is running (eth1 in this case) and skip Port 1-B. Click OK.

Then click on Apply in the Netsmith window, the WANlink will be created between eth1 and rddvR1.

In Port manager this endpoint will also be reflected.

  1. Click on the first of the two ports of the RDD pair, which will open a Configuration Window. Click the DHCP-IPv4 and HTTP checkbox.

  1.  Now go to Wanlinks tab and click on start option to run the connection. In the Port Manager the IP address will be allocated to the first (non-b) port of the RDD pair.

  1. Then, Click on Stop to bring the device out of test room.

  1. Click on the Batch Modify and enter all the details in the screenshot below. LANforge Manager IP must be WAN link IP. Here rddVR1 is allocated with “192.168.1.90” IP address.

  1. Click Layer 4-7 tab, create one cross-connect with the following details, Apply the changes,and play the video. Nginx will run on rddVR1.

  1. Click on WANlinks tab, select the WANlink to modify, and click on Modify button to modify the wanlink.

Here the Wanlink transfer rate is 1.54Mbps and the video bitrate reported is 366837. This can be observed in Layer 4-7 and in InterOp.

  1. Modify the WanLink to slow DSL and click on Apply. Video Bit rate is reduced to 173307.

It clearly indicates that the Video Player has adapted the lower quality when network is slow.

We can observe the same in the .mpd file.


Candela  Technologies, 2417 Main Street, Suite 201, Ferndale, WA 98248, USA
www.candelatech.com | sales@candelatech.com | +1.360.380.1618
Facebook | LinkedIn | Blog