Adaptive Media Streaming

Student Project (1-3 participants), Bachelor- and Master Thesis

MPEG-DASH enables multiple representations with varying bitrate and resolution for media streams. One of the most crucial challenges of using MPEG-DASH is the implementation of a client enabling smooth media playback. The key component is the adaptivity algorithm of the client. The bandwidth that is available defines the maximum possible bitrate for a media stream representation to be used. An approach that is often used for reaching the best quality representation is to start with the lowest bitrate available and gradually increase the quality of the representation. This allows the player to switch to the maximum bitrate. 

At the same time network conditions need to be checked by the client. Network condition can vary everywhere the Web is accessed. The most affected devices are obviously mobile phones and tablets connected via a cellular network. The coverage of a mobile network's base station is limited as well as its amount of clients that can be served. This quickly leads to a bottleneck and bandwidth losses for each user. An advanced algorithm should be aware of its context (e.g. network type, other clients, user history, time etc.).


  • Research & develop context-sensitive adaptive media streaming algorithms
  • Integration with open source MPEG-DASH players (e.g. 
  • dash.jsshaka)
  • Test and compare implementation
Required Skills:

  • Web Technologies: JavaScript, HTML, CSS
  • Basic Knowledge in media streaming
Related technologies:
Related FAME projects:


Daniel Silhavy
Stefan Pham

Implementation of an MPEG-DASH segmenter using Node.js

Student project (1-3 participants)

Adaptive media streaming solutions adjust the quality of video and audio content depending on the current available bandwidth on the client. MPEG-DASH is a standard to enable adaptive media streaming in the browser using conventional HTTP servers. DASH conformant content is encoded in different qualities and segmented into small chunks. Adaptive behavior is realized by appending chunks of different qualities. 

The goal of this project is to implement a Node.js based DASH segmenter.  Participants in this project will get a good understanding of the principles and challenges behind DASH based media streaming. Moreover, the project offers the chance to work with Node.js. 

Your Tasks:

  • Understand adaptive streaming technologies, MPEG-DASH in particular
  • Understand the container structure of DASH based media files (ISOBMFF)
  • Extend a Node.js based DASH segmenter to support new box types
  • Implement an MPD creator to support use cases like multi-period, ad-insertion

Required skills:

  • Interested in media streaming and web technologies
  • Programming languages:  Javascript/Node.js

Related technologies:

  • Edash-packager

Related project:


Daniel Silhavy
Stefan Pham