-
Notifications
You must be signed in to change notification settings - Fork 0
jiechenmc/tcp-dash
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
# Getting Started If the repo was not cloned with --recursive, you have to: ```bash git submodule init git submodule update ``` # Set Up Video Servers 1. Put the cert and key file in `./video-server` and name them `localhost.crt` and `localhost.key` respectively. 2. Put the video manifests in `./video-server/videos` 3. Run `cd dash.js && npm i && cd ..` 4. Run `sudo docker compose up --build -d` - This will run a `HTTP/1.1` NGINX server on PORT `1443` - This will run a `HTTP/2` NGINX server on PORT `2443` - This will run a `HTTP/3` NGINX server on PORT `8443` - This will run `dash.js` on PORTS `3000-3005` -- What ABR algorithm is on what port is described in `docker-compose.yml` and below. # Set Up Client Script 1. Configure the script in `./client-test-script/main.js` 2. Run `node ./client-test-script/main.js prune` - The prune option will wipe the db - Use Node.js version 23+ 3. This will spawn a browser that will collect metrics and store to `out.db`. Note: You can access the dash.js instance directly on PORT 3000 without the client script, but that will not collect the metrics into `out.db`. # Switching ABR Algorithms We currently have 6 algorithms available in their respective branches. Do `git switch <branch_name>` inside the `dash.js` submodule and the dash.js instance will automatically reload with that ABR algorithm enabled. The 6 available algorithms and their respective branches are detailed below: BRANCH -> Algorithm 1. development -> ABR Dynamic 2. BOLA -> ABR Bola 3. FESTIVE -> ABR Festive 4. L2A -> ABR L2A 5. RB -> ABR RB 6. THROUGHPUT -> ABR Throughput To simplify our experiment, we have created 6 submodules, with each referencing the branch listed above.
About
Study of TCP congestion control algorithms and their performance for video streaming
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published