-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
61894f1
commit 63e67b1
Showing
1 changed file
with
8 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,20 @@ | ||
# Real-Time, Machine Learning Approach to Predict Video-QoE for Encrypted Streaming Traffic in 5G Networks | ||
# Machine Learning Assisted Real-time DASH Video QoE Estimation Technique for Encrypted Traffic | ||
|
||
Tools required to stream DASH video content | ||
|
||
- Mininet-wifi https://mininet-wifi.github.io/ | ||
- goDASHBED https://github.com/uccmisl/goDASHbed | ||
- Caddy Web-server https://caddyserver.com/ | ||
- 5G real traces : 5G cases are available in https://github.com/razaulmustafa852/edc/tree/main/5G-Cases. For Mobility, cases name start with : Driving and for Static, cases name start with Static. For example Driving-1.csv, Static-1.csv | ||
- XAMPP https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.7/. We need xampp (mysql) to store QoS and QoE features in the database. Why? Because each experiment generate 1-QoE log & 1-QoS features. Therefore, save features in mysql and query features according to requirements. | ||
|
||
# Steps to make a complete setup | ||
1. Install Mininet. https://mininet-wifi.github.io/get-started/ | ||
2. In the next step, Install goDASHBED. How to install goDASHBED please follow: https://github.com/uccmisl/goDASHbed | ||
3. Next you need video. | ||
|
||
## Installation | ||
|
||
The topology to re-produce same results is named topo.py and stream.py. You can define your requirements in stream.py. Where you can define number of hosts streaming DASH content, ABS algorithm, Server Type (TCP, QUIC), Web-server type etc. | ||
Each time the experiments will create a directory in working location that contains goDASH logs + pcaps. After that please run single_0.5.py to extract QoS features from pcap for every 0.5s slot. | ||
|
||
```sh | ||
$ sudo python3 stream.py | ||
``` | ||
3. Next you need video. You can download videos from http://cs1dev.ucc.ie/misl/4K_non_copyright_dataset/. You will find 2,4,6,8,10 second segment size. You can recursively download file from FTP server on LINUX (Ubuntu 18.04) using command wget -r -np -R "index.html*" http://cs1dev.ucc.ie/misl/4K_non_copyright_dataset/2_sec/x264/bbb/DASH_Files/full/ | ||
4. Once you downlaod the file, move all files to /var/www/html in Ubuntu | ||
5. Now run https://github.com/razaulmustafa852/edc/blob/main/topology_bash.py with command : sudo python3 topology_bash.py. In this file there many parameters you need to set, please set ABS, Case and Protocol, Server and Mode i,e 5G. However you can also play with 3G and 4G. | ||
6. In https://github.com/razaulmustafa852/edc/blob/main/topology.py. There are many functions where path is given to store pcaps & goDASHBED logs. Please change all path according to your system. | ||
7. Each experiment generate 1-pcap and 1-goDASHBED logs. | ||
8. To extract QoS features from pcap use script: https://github.com/razaulmustafa852/edc/blob/main/QoS-MHV-2022.ipynb | ||
|
||
# Single VM for all these steps |