Erweiterung von VLC um Forward Error Correction (FEC)
- type:Studien-/Bachelor-Arbeit
- time:17.02.2011
- advisor:
Bernhard Heep, Martina Zitterbart
- person in charge:Andreas Staudt
-
Zusammenfassung
Für einen Lab-Versuch der Vorlesung Multimediakommunikation am Institut für Telematik des KIT wurde ihm Rahmen dieser Arbeit eine Forward Error Correction (FEC) für den freien Mediaplayer VLC implementiert. In einem Versuchsaufbau mit einem Multicast-Server sollten dabei die Auswirkungen von FEC auf einen durch Paketverluste gestörten RTP Stream demonstriert werden, indem ein Client mit und ein Client ohne FEC Unterstützung den selben Stream wiedergeben. Als Standard für die Umsetzung in VLC wurde das im Oktober 2010 veröffentlichte RFC 6015 verwendet, das ein dynamisches RTP Payload Format definiert, mit dem Korrekturdaten auf einem eigenen Stream transportiert werden. Für die Gewinnung der Redundanz werden die RTP Pakete der Medienströme mit exclusive-OR verknüpft. Durch ein zusätzliches Interleaving dieser Verknüpfungen werden nicht nur gleichverteilte Datenverluste, sondern auch die bei drahtlosen Netzwerken häufig beobachteten Burstverluste abgedeckt. In der Evaluation konnte gezeigt werden, dass FEC deutliche subjektive Qualitätsverbesserungen bietet und auch objektiv die Paketfehlerrate signifikant reduziert werden konnte. Unter Burstverlusten schnitt FEC ohne Interleaving signifikant schlechter ab also solches mit Interleaving.Beschreibung
Der VLC media player ist ein portabler, freier Mediaplayer für diverse Audio-, Videocodecs und Dateiformate und unterstützt unterschiedliche Streaming-Protokolle. Er kann auch als Server zum Streaming in Uni- oder Multicast in IPv4 und IPv6 verwendet werden. Forward Error Correction (FEC) ist eine Technik, die dazu dient, die Fehlerrate bei der Übertragung digitaler Daten zu senken. Der Sender kodiert dabei die zu übertragenden Daten in redundanter Weise, so dass der Empfänger Übertragungsfehler ohne Rückfrage beim Sender erkennen und korrigieren kann. VLC bietet FEC in seiner aktuellen Version nicht an.
Aufgabe
In dieser Studien-/Bachelorarbeit soll VLC um FEC bei Video- und Audio-Streaming erweitert werden. FEC soll dabei sowohl für die Server- als auch für die Client-Seite implementiert werden. Die Ergebnisse sollen nach Fertigstellung der Implementierung in einem Test-Szenario validiert und demonstriert werden. Abschließend erfolgt die ausführliche Dokumentation und Präsentation der Arbeit.
Arbeitsumgebung
Zur Bearbeitung der Studienarbeit steht in unmittelbarer Nähe der GLUCK-Station samt leistungsstarker Kaffeemaschine ein großer klimatisierter Poolraum bereit.
Voraussetzungen
Kenntnisse den Programmiersprachen C/C++ sowie der objektorientierten Softwareentwicklung werden vorausgesetzt. Grundkenntnisse über die Funktionsweise von Multimedia-Transport und Video/Audio-Streaming (s. Vorlesung Multimediakommunikation) sind vorteilhaft aber nicht unbedingt notwendig.