Newsletter subscription
Please enter your e-mail address to subscribe to our newsletter.                     
 
E-Mail*
Title
First Name
Last Name
Company



The protection of your personal data is very important to us. Please refer to our data protection .

Low-Latency Streaming

Low Latency streaming is key when it comes to delivering live content like sport events over the internet. The DVB/DASH-IF joint development effort to update ffmpeg to include support for Low Latency and DVB’s Low Latency mode has progressed well.

Your Tasks:

  • Set-up low-latency streaming end-to-end chain using open source tools.
  • You get all the code by a download / clone of the current FFmpeg repository, e.g. from [link 1].
  • All the corresponding documentation can be found at [link 2].
  • Find an example command line using the DVB profile at the FFlabs repository of the origin server implementation at [link 3]. See file "extras/gen_live_ingest_dvb.sh" [link 4].
  • Running this script creates a DVB-DASH+LL version of the manifest.
  • Playback the content in dash.js


Required skills:

  • Basic understanding and interest in media streaming
  • JavaScript programming


Related Links:

  1. https://git.ffmpeg.org/ffmpeg.git
  2. http://ffmpeg.org/ffmpeg-formats.html#dash-2
  3. https://gitlab.com/fflabs/originjs
  4. https://gitlab.com/fflabs/originjs/-/blob/master/extras/gen_live_ingest_dvb.sh


Supervisors
: Stefan PhamDaniel Silhavy

Quality-aware Adaptive Bitrate Streaming

Adaptive bitrate (ABR) algorithms typically only look at throughput measurements to select an appropriate bitrate. Quality of Experience (QoE) becomes more important as streaming technologies have matured. In this project you will experiment with ABR algorithms/strategies that are aware of quality metrics such as VMAF, PSNR or SSIM.

Your own ABR algorithm can be integrated into the open source players dash.js or shaka-player.

The goal is to show that a quality-aware ABR algorithm can increase the overall QoE for the user. For the evaluation, a testbed needs to be setup that simulates different network conditions und compares the different ABR algorithms against each other.


Your tasks:

  • Set-up of a testbed with ABR players and bandwidth limitation tools (e.g. tc)
  • Prototype implementation of your quality-aware ABR strategy and integration into dash.js or shaka-player
  • Evaluation and comparison of different ABR strategies


Required skills:

  • Basic understanding and interest in media streaming
  • JavaScript


Related links:

Supervisor: Louay BassboussStefan Pham, Daniel Silhavy

dash.js

dash.js is a free, open source MPEG-DASH player that serves as a JavaScript reference client for implementing production grade DASH players.The dash.js player is written in JavaScript and relies on the Media Source Extensions (MSE) and the Encrypted Media Extensions (EME). Since a majority of the common target platforms like Desktop browsers, mobile devices, Smart TVs and gaming consoles support both MSE and EME, dash.js is a prominent option to be used as a foundation for a production grade player.

The goal of this project is to add new features to dash.js as well as improve and enhance existing features. This includes:

  • Low-Latency algorithms
  • XLink onRequest features
  • MPD Patching
  • Event handling

Your tasks:

  • Add new features to dash.js as well as improve and enhance existing features

Required skills:

  • Basic understanding and interest in media streaming
  • JavaScript

Related links:

Supervisor: Stefan Pham, Daniel Silhavy

Next gen video codecs

Video codecs are an essential part of todays media streaming ecosystem. Encoding a video leads to a significant compression of data and enables the delivery of video streams over the internet. Existing video codecs deliver different compression rates.

In the context of this project different video codecs are evaluated and their performance is compared in terms of quality and encoding/decoding time.


Your tasks:

  • Compare performance of next generation video codecs like AV1, HEVC,VP9 to H.264 (runtime etc.)
  • Create BD curves
  • Calculate PSNR,SSIM and VMAF values


Required skills:

  • Basic understanding and interest in media streaming


Related links:


Supervisors:
Louay BassboussStefan Pham, Daniel Silhavy

Real-Time Streaming Analytics UI for CMCD and SAND

Real-Time streaming analytics enable content providers to identify problems on certain platforms or devices. Specifications like Server and Network assisted DASH (SAND) and Common-Media-Client-Data(CMCD) define the format and the types of metrics send from a client to a metric server. A user interface build on top of the collected data helps evaluating and structuring the massive amount of information.


Your tasks:

  • Understand specifications: DASH, SAND and CMCD
  • Summarize metrics
  • Build a real-time analytics UI to visualize streaming analytics using VueJS


Required skills:

  • Basic understanding and interest in media streaming
  • JavaScript, MongoDB


Related links:


Supervisors: Christoph Müller, Stefan Pham, Daniel Silhavy

Machine Learning for Per-Title Encoding

Per-title encoding enables a more efficient and tailored video encoding ladder based on the complexity of a video. Conventional per-title encoding solutions are computational heavy and required a high amount of test encodes to identify the optimal encoding settings. In the context of this project machine learning techniques are to be used in order to reduce the complexity of conventional per-title encoding solutions while maintaining its benefits.


Your tasks:

  • Understand the basic principles of encoding and per-title encoding
  • How can conventional per-title encoding be improved with Machine Learning?
  • Train and evaluate different machine learning models

Required skills:

  • Interest in video encoding and media streaming
  • Interest in machine learning
  • Basic Python or R skills

Related links:


Supervisors: Christoph Müller, Sebastian Schmidt, Daniel Silhavy

Web Platform Tests for Web Media APIs

The Web Platform Tests (WPT) project is a cross-browser test suite for the Web-platform stack. Writing tests in a way that allows them to be run in all browsers gives browser projects confidence that they are shipping software which is compatible with other implementations, and that later implementations will be compatible with their implementations. This project will focus only on tests for media related APIs especially the W3C Media Source Extensions API (MSE). The media content to use in the tests as well as the test specification will be provided during the project kickoff.


Your tasks:

  • Write new media related tests using the WPT testharness framework.
  • Run and validate tests in at least 2 desktop browsers (Chrome, Firefox, Edge, Safari)

Required skills:

  • JavaScript
  • HTMLVideoElement
  • W3C MSE API


Related links:


Supervisor: Bassbouss, Louay