Packet Video 2018 Submission
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
AStreamPlayerQUIC
CsvMerger/src/com/github/sevketarisu/quicstreaming
QUICClient/src/net/tools/quic
TCPClient/src
LICENSE
README.md

README.md

quic-streaming

This repository contains the modified player code, the QUIC and the TCP clients for Packet Video 2018 submission

https://dl.acm.org/citation.cfm?id=3210426

Modules

  • QUIC Client and Server (C++)
  • TCP Client (C++)
  • AStreamPlayerQUIC (Python)
  • CsvMerger (Java)

QUIC Client and Server

To build the quic_server and quic_server, follow the instructions at Google's page

Then replace the following files and build again

  • To disable quic_server's in-memory cache:
quic_http_response_cache.h
quic_http_response_cache.cc
quic_simple_server_bin.cc
  • To keep quic_client running when downloading segment files with same QUIC connection:
quic_simple_client_bin.cc

TCP Client

Use the single .cpp file to build the client

LibCurlCppConsole.cpp

AStreamPlayerQUIC

Modified from original version: https://github.com/pari685/AStream

AStream is a Python based emulated video player to evaluate the perfomance of the DASH bitrate adaptation algorithms.

Command line options

dash_client.py [-h] [-m MPD] [-l] [-p PLAYBACK] [-n SEGMENT_LIMIT] [-d]

Process Client parameters

optional arguments:
  -h, --help            show this help message and exit
  -m MPD, --MPD MPD     Url to the MPD File
  -l, --LIST            List all the representations and quit
  -p PLAYBACK, --PLAYBACK PLAYBACK Playback type ('basic', 'sara', 'netflix', or 'all')
  -n SEGMENT_LIMIT, --SEGMENT_LIMIT SEGMENT_LIMIT The Segment number limit
  -d, --DOWNLOAD        Keep the video files after playback
  -quic, --QUIC         Use QUIC client for downloading segments
  -curl, --CURL         Use TCP client for downloading segments  
  -host, --HOST			Host Ip for Quic server
  -jump, --JUMP			Jump feature enabled
  -js, --JUMP_SCENARIO  Jump Scenario Example: -js 40->100,150->200

CsvMerger

A utility for merging the player's log files into a single CSV file