Empirical Analysis of ABR streaming over QUIC.
Aniketh Girish
![](https://s3.amazonaws.com/media-p.slid.es/uploads/618982/images/5835147/amrita-new-logo-color-10.png)
Dr. Subhasri Duttagupta
Collaboration with:
Max Planck Institute's Internet Architecture group, Germany
Hasselt University, Belgium
gnuTLS community
videoLAN community
A quick news!
ACM students research competition in SOSP'19, Toronto, Canada
What is QUIC?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/618982/images/6974725/Blank_Diagram__1_.png)
Research interest:
0-RTT connection setup
Low Latency
![](https://s3.amazonaws.com/media-p.slid.es/uploads/618982/images/6534217/tcp.jpg)
Head of line blocking
![](https://s3.amazonaws.com/media-p.slid.es/uploads/618982/images/6534195/pasted-from-clipboard.png)
Within the scope of this thesis!
QUIC TLS API for crypto in gnuTLS
Custom QUIC version integration in VLC for better streaming experience.
Work update: Mini Project!
Exposing QUIC TLS APIs in gnuTLS
- A callback to notify the key (epoch) change
- A callback to write a Handshake messsage, when it is being sent
- A callback to write an Alert messasge, when it is being sent
- A callback to flush the message.
- A function to push data received from the peer to the TLS layer
Initial QUIC setup
ngtcp2 + ngHTTP3
Work update: Mini Project!
Updates after Mini Project
1) quicsy: A HTTP3/QUIC tool devised.
It does HTTP/3 request-response pair.
2) Segmentation: segments and manifest created for a mp4 file. Scripts to do encoding/segmentation were written
3) Host the segments in a web server
4) Mininet script to emulate a topology for controlled network experiments
5) Work in progress: HTTP/3 and QUIC implementation in VLC
1) Quicy: A HTTP3 tool
- Based on ngtcp2 + nghttp3
- A stand-alone network module
- Can send and recieve any size of data
![](https://s3.amazonaws.com/media-p.slid.es/uploads/618982/images/6971905/Quicsy_design.png)
Demo!
2) Segmentation: Flow
![](https://s3.amazonaws.com/media-p.slid.es/uploads/618982/images/6968588/Blank_Diagram.png)
2) Segmentation: HLS Streaming
![](https://s3.amazonaws.com/media-p.slid.es/uploads/618982/images/6968294/hls.jpg)
2) Segmentation: DASH Streaming
![](https://s3.amazonaws.com/media-p.slid.es/uploads/618982/images/6968295/dash.jpg)
2) Segmentation: Process
![](https://s3.amazonaws.com/media-p.slid.es/uploads/618982/images/6968292/segementation.png)
Demo!
3) Host the segments in a web server
ABR streaming test with VLC
Bug in VLC found, frames being dropped.
Literature reads:
Te-Yuan Huang et al. A Buffer-Based Approach to Rate Adaptation: Evidence from a Large Video Streaming Service
Mengbai Xiao et al. DASH2M: Exploring HTTP/2 for Internet Streaming to Mobile Devices
Sheng Wei et al. Low Latency Live Video Streaming over HTTP 2.0
Anatoliy Zabrovskiy et al. Multi-Codec DASH Dataset
Stefan Lederer et al. Dynamic Adaptive Streaming over HTTP Dataset
By the next review:
Complete Mininet scripts
Evaluation of existing ABR over HTTP/1.1 and HTTP/2 in VLC
Simple live streaming over HTTP application using any ffmpeg or libav library to test our quicsy tool
Wrap up the VLC implmentation of HTTP/3 and QUIC.
Live streaming over HTTP application using any ffmpeg or libav library to test our quicsy tool
![](https://s3.amazonaws.com/media-p.slid.es/uploads/618982/images/6974487/Copy_of_Quicsy_design.png)
Finally, What's proposed...?
In Custom QUIC extension (QUIC-tweaked) ....?
-
Selective Reliable Transport
-
Deadline Awareness
-
Message-Oriented Abstraction
-
Forward Error Correction
-
I-P-B frame handling
-
Head-Of-Line blocking resilience
[WIP]: A complete documentation is available at: https://synackd.gitbook.io/research/
[WIP]: Code and scripts available at: https://github.com/Aniketh01/quicsy
Thank You!
anikethgireesh@gmail.com
Empirical Analysis of ABR over QUIC.
By Aniketh Gireesh
Empirical Analysis of ABR over QUIC.
- 934