TAPAS is a tool that allows rapid prototyping and experimental evaluation of Adaptive Streaming control algorithms. If you are a developer and you want to design and test a new Adaptive Streaming control algorithm you should check the documentation placed in the doc/ directory.
If you are a user and you want to experiment with the control algorithms made available by TAPAS you can follow the instructions given below.
Today, TAPAS implement a "conventional" adpative streaming controller as described in this paper
Of course, we urge developers and researchers to send us their controllers so we can add them to TAPAS. In this way reproducible experimental comparisons between different algorithm can be made by using the same tool.
TAPAS has been tested to work on Ubuntu 14.04 LTS and 14.10. If you use TAPAS on other distributions please let us know.
Ubuntu does not ship gstreamer0.10-ffmpeg package since 14.04 LTS, you need to add a repository with the following commands.
For Ubuntu 14.04 LTS:
sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
For Ubuntu 14.10:
sudo add-apt-repository ppa:mc3man/gstffmpeg-keep
sudo apt-get update
All the required dependencies are listed below:
sudo apt-get install python-twisted python-twisted-bin python-twisted-core python-twisted-web \
gstreamer0.10-plugins-* gstreamer0.10-ffmpeg gstreamer0.10-tools python-gst0.1 libgstreamer0.10-dev \
python-scipy python-psutil
Play a default playlist:
$ python play.py
Play a default playlist with a "conventional" adaptive controller:
$ python play.py -a conventional
Play a playlist specified by its URL:
$ python play.py -u http://mysite.com/myplaylist.m3u8
Play a sample MPEG-DASH video:
$ python play.py -u http://yt-dash-mse-test.commondatastorage.googleapis.com/media/car-20120827-manifest.mpd
Play a playlist for logs, without decoding video:
$ python play.py -m nodec
Play a playlist with a fake player (emulated playout buffer and no decoding):
$ python play.py -m fake
Play only the highest quality of the playlist:
$ python play.py -a max
Player options: ::
$ python play.py --help
Enable debug mode:
$ DEBUG=2 python play.py
If you use TAPAS for your research, please cite the following paper
Luca De Cicco, Vito Caldaralo, Vittorio Palmisano, Saverio Mascolo, "TAPAS: a Tool for rApid Prototyping of Adaptive Streaming algorithms", in Proc. of ACM VideoNext Workshop, Sydney, Australia, December 2014