Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
razaulmustafa852 authored Feb 1, 2022
1 parent 61894f1 commit 63e67b1
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions README.md
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

0 comments on commit 63e67b1

Please sign in to comment.