JavaScript-based Media Stream Manipulation

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

With the introduction of HTML5 Video a cross-platform alternative to third-party plugins (e.g. Flash or Silverlight) emerged. It allows video players and applications to become interoperable. Content providers have to consider the multitude of devices available today, ranging from smart phones to smart TVs – all of these devices are used for video streaming. In order to provide the same user experience on different devices, HTML5 offers the means to develop a single application that is compatible with the Web browser on the respective devices.

Open source JavaScript-based frameworks such as codem-isoboxer and mp4box.js enable extraction of MPEG-4/ISOBMFF metadata. This allows stream analysis, processing, transformations and more advanced use cases in a Web browser environment. For example, a Web application could extract images or events from a media stream for further processing.


Your Tasks:

  • Understand MPEG-4/ISOBMFF box structure
  • Analyze JavaScript-frameworks for media stream manipulation
  • Research and develop use cases

Required Skills:

  • Web Technologies: JavaScript, HTML, CSS
  • Basic Knowledge in media formats
Related technologies:


Related FAME projects:


Contact:

Stefan Pham



Context-sensitive 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.).


Tasks:

  • 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:

Contact: 

Stefan Pham


Optimizing Media Streaming using Next Generation Web protocols

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

With the introduction of HTML5 Video a cross-platform alternative to third-party plugins (e.g. Flash or Silverlight) emerged. It allows video players and applications to become interoperable. Basic media streaming over HTTP 1.1 (e.g. using MPEG-DASH) is based on a client-side pull mechanism. Next Generation Web protocols such as SSEHTTP/2WebSockets or QUIC promise to reduce transmission latency by allowing server push mechanisms. Moreover network load and server resources can be better optimized by giving more control to the server.

Tasks:

  • Research next generation Web protocols
  • Investigate improvements with regard to media streaming latency
  • Test and benchmark browser implementations
Required Skills:

  • Web Technologies: JavaScript, HTML, CSS
  • Basic Knowledge in: HTTP, TCP,  Bandwidth emulation

Related technologies:


Related FAME projects:


Contact: 

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:

  • MPEG-DASH, HLS
  • Edash-packager

Related project:


Contact:

Daniel Silhavy
Stefan Pham

Accurate Bandwidth Limitation

Student project (1-2 participants)

Technologies like MPEG-DASH and HLS enable adaptive media streaming in today´s browser.

Adaptive media streaming solutions adjust the quality of video and audio content depending on the current available bandwidth on the client. The key component of such a solution is the algorithm that decides on the best possible quality. To measure the performance of different algorithms, bandwidth fluctuations need to be emulated. The Linux traffic control (TC) provides means to shape the bandwidth.

Your tasks:

You will setup a HTTP proxy server that allows accurate shaping of the output bitrate. A list of target bitrates will be provided. You will develop a small application to test and verify the accuracy of your setup.

Required skills:

  • Interested in media streaming
  • A basic understanding of Linux 


Related technologies:

  • Linux Traffic Control and Token Bucket Filter

Contact:

Volker Jung
Stefan Pham
Daniel Silhavy

Server side re-encryption of MPEG-DASH based media streaming content

Student project (1-3 participants)

Technologies like MPEG-DASH and HLS enable adaptive media streaming in today´s browser. Premium content providers like Netflix, Maxdome and Sky need to control the use and distribution of their copyrighted content. 

Typically, this is done using one or more Digital Rights Management (DRM) systems. As of today, different combinations of operating systems and browsers require different DRM systems and therefore different encryption schemes. 

The aim of this project is to analyze server side re-encryption of DASH based media content. Participants in this project will get a good understanding of the principles and challenges behind streaming of protected media content. 

Your Tasks:

  • Understand adaptive streaming technologies DASH and HLS
  • Understand the principles behind common encryption (CENC) and the encryption mechanisms used in DASH and HLS (AES-CTR and AES-CBC)
  • Analyze on the fly repackaging from encrypted DASH content into HLS. (How long does it take? How can it be realized? It is possible to use it in a real scenario?)
  • If applicable implement a prototype for demonstration purposes

Required skills:

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


Related technologies:

  • MPEG-DASH, HLS
  • Edash-packager


Related project:

Contact: 

Franck Russel Kuipou 
Stefan Pham
Daniel Silhavy



Development of real-time video and audio workflows using high performance processing software 

Student project (1-2 participants), Bachelor Thesis

With the increasing demand for WebTV, over-the-top (OTT) services and IPTV solutions, high performance encoding and transcoding software has become an important part in the media distribution chain. Different available codecs, container and protocols require a sophisticated configuration of the processing software. In the context of this project students will have the opportunity to take a deeper look into the latest high-end encoding software.


Tasks:  

  • Configuration of next generation processing software like Elemental Server, Elemental Delta, Elemental Live, Thomson VS7000, Envivio Muse and Envivio Halo 
  • Develop adaptive streaming workflows for different implementations like MPEG-DASH and HLS (live and on demand content)
  • Define your own encoding chains and test them in different players (e.g set up a webcam on the roof and configure a livestream)
  • Check for possible content protection of the streams(Cenc, PlayReady,Widevine) 


Required Skills:

  • Interest in media streaming and video/audion encoding

Related Links:


Related FAME projects:

Contact:

Robert Seeliger
Daniel Silhavy