== Background == In this tutorial we are going to experiment with Dash and some basic tweaks in its rate adaptation policy. Dash (Dynamic Adaptive Streaming HTTP) is a protocol adopted by 3GPP and based on technologies such as Adobe HTTP Dynamic Streaming and Apple Live Streaming and Microsoft Smooth Streaming, for streaming video over HTTP. It is embraced by important content providers such as Apple, Microsoft, Netflix and other important players such as Adobe and Qualcomm. == The Idea == Dash running on HTTP, is a server-client system. A HTTP Server runs on the server side and provides the media content to the client upon request. The media (MPEG-4 or MPEG-2 video) is divided into several chunks based on both timing and bit-rate. A Media Presentation Description file in XML format serves as a map of the media, enabling the server to send the chunks requested based on the rate adaptation, affected by channel conditions, at a given time. * A media player client, such as vlc, connects to the server through the url of the MDP. * The server sends the the media chunks based on the implemented policies and using the mdp file. == The Scenario == We will run a series of experiments trying to evaluate 3 primitive dash rate adaptation policies. * Policy 1: When the buffer is less than 30% full, the bit-rate is becomes 0. * Policy 2: No provision for the bit-rate. * Policy 3: When the buffer is less than 30% full, the bit-rate is halved. These experiments will be conducted in a cellular environment using the WiMAX Base Station and nodes at Winlab. * A node loaded with the video chunks, the MDP file and an Apache HTPP server running will serve the media content. * Another node will run an OML-ized VLC client requesting the media. Also it will monitor the link quality. * After the end of the experiment the measurements collected will be archived in iRODS where the experimenter can plot and evaluate each adaptation policy used. == Further Reading == * [http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=79041 What is MPEG DASH] * [http://dashif.org/mpeg-dash/ Overview MPEG DASH] * [http://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP Dynamic Adaptive Streaming over HTTP] '''[wiki:WiMAX/WiMAX-Tutorial/Dash/01 Next]'''