evaluate the adaptation algorithms on mininet.
From CmakeLists.txt, you could find it depends on
the code in https://github.com/SoonyangZhang/net
include_directories(${CMAKE_SOURCE_DIR}/logging)
include_directories(${CMAKE_SOURCE_DIR}/base)
include_directories(${CMAKE_SOURCE_DIR}/tcp)
Download the project and put the folders (logging,base,tcp) under http-dash-simu.
The adaptation algorithms are refered from https://github.com/haraldott/dash
and https://github.com/djvergad/dash
Thanks for their contribution.
Eight algorithms are implemented:
- festive: Improving Fairness, Efficiency, and Stability in HTTP-based Adaptive Video Streaming with FESTIVE
- panda: Probe and Adapt: Rate Adaptation for HTTP Video Streaming At Scale
- tobasco: Adaptation Algorithm for Adaptive Streaming over HTTP
- osmp: QDASH: A QoE-aware DASH system
- raahs: Rate adaptation for adaptive HTTP streaming
- FDASH: A Fuzzy-Based MPEG/DASH Adaptation Algorithm
- sftm: Rate adaptation for dynamic adaptive streaming over HTTP in content distribution network
- svaa: Towards agile and smooth video adaptation in dynamic HTTP streaming
cd build
cmake ..
make
Test
cd build
sudo su
python 2h1s.py
During the emulation, the pairs (time, downloaded segments, downloaded video quality) will be loggged out.
Plot the results:
chmod 777 multiplot-quality.sh
./multiplot-quality.sh