Logo TB Logo IMT

MPTCP Transmission Dataset
HEVC/H.265 Video Dataset

Dataset used the paper Cross-Layer Scheduler for Video Streaming over MPTCP at MMSys 2016.

Downloads

Download all MPTCP traces Size 766MB / 4.5GB uncompressed

Download MPTCP traces use in our paper Size 55MB / 286MB uncompressed

Download all video datasets Size 266MB / 266MB uncompressed

Download the video dataset used in our paper Size 17MB / 17MB uncompressed

Download our CPLEX solver ILP solver: the IBM CPLEX library is not provided (size 17KB / 116KB uncompressed)

Download our heuristic Heuristic source code (size 9.4KB / 68KB uncompressed)

Files Contents

MPTCP dataset

The MPTCP dataset contains 5 different type of files.

The measurement architecture is discribed in our MMSyS 2016 paper.

The file name format use always the template: Results_X_Y_Z.log with X the size of the downloaded file, Y the trace id and Z the type of the trace

Test Results_X_Y_client.log

The result of the tcpdump command on the client device for test id Y

Test Results_X_Y_server.log

The kernel logs on the server for test id Y

Test Results_X_Y_server2.log

The result of the tcpdump command on the server for test id Y

Test Results_X_Y.log

The aggregated result for the test id Y (based of the client, server and server2 log files)

Test Results_X_Y_optimizer.log

A simplification of the aggregated result Results_X_Y.log to use as an input for our ILP software and our heuristic

Video dataset

The video dataset contains 5 different type of files.

The file name template is: tears_R_g25_b5_B_E_I.[log,csv,mkv,hevc], with R the video resolution, B the video bit-rate, E some extra identifier and I a file type id.

tears_R_g25_b5_B.hevc

The original HEVC/H.265 binary encoded video: AnnexB format

tears_R_g25_b5_B.mkv

The tears_R_g25_b5_B.hevc video encapsulated into a Matroska container

tears_R_g25_b5_B.csv

A basic description of the encoded frames of the encoded video

tears_R_g25_b5_B_neededBy.log

A description of the frame direct dependencies. Indicate which frames directly need a specific frame to be decoded.

tears_R_g25_b5_B_need.log

A description of the frame direct dependencies. Indicate which frames are needed by specific frame to be decoded.

ILP source code

Contain the source code of our ILP solver.

This is a C++ software that needs a C++11 compliant compiler and the program_options from the Boost >1.4 library and the IBM CPLEX library. The CPLEX library is not provided here. A CMakeList.txt file is provided in order to use cmake to compile this software. We exclusively tested this software on linux. We do not guaranty it to work on any other operating system.

Software usage:

% ./solver -c config.ini [-s][-m][-r]

config.ini:

[Solver]                                                              
bitRates = [6000] %list of bitrate to use (in kbps)                                                    
videoName = tears %id of the videos to use                                                    
frameRates = 24   % number of frame per second                                                     
gopLength = 25    % gop length (only used to match the video file name)                                                    
bf = 4            % only used to match the video file name                                                    
lag = [1e6]       % list of client lag to test (in ┬Ás)                                                  
gmin = 0          % first trace id to use                                                    
gmax = 41         % last trace id to use                                                    
startOffset = [5000]              % list of the trace offset to test
outputId =  1080p_VOD_TILES       % Id used to generate the outpout file names                                    
traceFolder = traces100MB         % Folder inside the ./traces folder where the software will seek the trace files                                    
useDependencyFile = true          % Indicate if the dependency files should be used                                    
optimalityGap = 1e-2              % Gap parameter for the CPLEX solver                                    
weightedFramePriority = false     % Do not set it to true                                    
useSlices = true                  % Do not set it to false
	

Heuristic source code

Contain the source code of our first heuristic implementation.

This is a C++ software that needs a C++11 compliant compiler and the program_options from the Boost >1.4 library. A CMakeList.txt file is provided in order to use cmake to compile this software. We exclusively tested this software on linux. We do not guaranty it to work on any other operating system.

Software usage:

% ./heuristic -f videoDescription.csv -p transmissionTrace.csv -d videoDescription_neededBy.csv -o result.csv --maxNbFrames 296 [--startOffset 5000] --priorityFunction NetworkAware