TAPAS: a Tool for rApid Prototyping of Adaptive Streaming algorithms

TAPAS is an open-source Tool for rApid Prototyping of Adaptive Streaming control algorithms. TAPAS is a flexible and extensible video streaming client written in python language that allows to easily design and carry out experimental performance evaluations of adaptive streaming controllers without needing to write the code to download video segments, parse manifest files, and decode the video. TAPAS currently supports DASH and HLS and has been designed to minimize the CPU and memory footprint so that experiments involving a large number of concurrent video flows can be carried out using a single client machine.

TAPAS is built on the components shown in the following figure.


In order to implement a new controller it is sufficient to create a new controller class, f.i. MyController, in a python file placed in the controller/ directory. The MyController class has to inherit from baseController class and implement only a few methods. For an exhaustive description, please refer to the available documentation shipped with the source code and the TAPAS paper (see References section).


The latest (and first) release of TAPAS is:

TAPAS v1.0 (md5sum:2deb3e12dd72d03a59c4dbc9619d0bcb)

Github website


If you use TAPAS in your works, please cite it as follows:

  • Luca De Cicco, Vito Caldaralo, Vittorio Palmisano, Saverio Mascolo
    TAPAS: a Tool for rApid Prototyping of Adaptive Streaming algorithms
    Proc. of ACM VideoNext Workshop, Sydney, Australia, December 2014 (PDF)