Dokumentation Landtagsstreaming

Aus FeM Streaming Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Projektbeschreibung

Das Projekt Livestreams ist eine Zusammenarbeit zwischen dem Thüringer Landtag, der Thüringer Netkom GmbH, der Universität Erfurt, der TU Ilmenau und der FeM e.V.. Gegenstand des Projektes ist der Aufbau eines Dienstes, welcher es ermöglicht, die Plenarsitzungen des Landtags des Freistaates Thüringen für alle Bürger im Internet zur Verfügung zu stellen. Das erste Ziel, welches durch das Projekt verwirklicht werden soll, ist es die Plenarsitzungen des Landtages als Livestream in das Internet zu streamen.

  • Erweiterungen durch on-demand-streaming, Verbindung von Streams mit Dokumenten zum aktuellen Sitzungsverlauf (evtl. in letzten Punkt einbringen)

Projektziel

  1. Mit dem Projekt Landtagsstreaming soll den Bürgern von Thüringen die Möglichkeit gegeben werden, die Sitzungen des Landtags live mitzuverfolgen.
  2. Das bestehende Know-How und die Ressourcen der Projektpartner sollen hierbei ausgenutzt werden, um eine möglichst kostengünstige Umsetzung des Projektes zu ermöglichen.
  3. Das Projekt soll Studenten der TU Ilmenau die Möglichkeit geben, in einem praktischen und wichtigen Projekt Erfahrungen in der Umsetzung von Livestreaminglösungen zu sammeln. Über die Erstinstallation hinaus gibt es zahlreiche Möglichkeiten das Angebot des Landtagsstreamings technisch und organisatorisch zu erweitern und mit anderen Diensten zu verknüpfen.
  • Sicherheit, Robustheit

Partner

  • Landtag:
    • Nutzung der bestehenden Technik (Videotechnik, Netzwerk?) im Landtag.
    • Zur Verfügung Stellung eines Rechners zum Encodieren der Videostreams
    • Gemeinsame Administration des Encodingrechners mit der FeM e.V.
  • Thüringer Netkom:
    • Stellt die Verbindung zwischen dem Landtag und der TU Ilmenau zur Verfügung, welche benötigt wird um den Stream vom Encoder zum Verteilserver der FeM e.V. zu transportieren. Diese Verbindung besteht aus einer 2-Mbit/s-Funkstrecke zwischen dem Landtag und der Universität Erfurt und geht dort über das Netz der TEAG Netcom zum Netzwerk der TU Ilmenau. Die Kosten für diese Verbindung übernimmt die Thüringer Netcom freundlicherweise als Sponsoring für das Projekt.
  • TU Ilmenau:
    • Die TU Ilmenau stellt ihren G-Win-Anschluss und ihre Netzwerkinfrastruktur an der TU Ilmenau für das Projekt zur Verfügung
  • Universität Erfurt:
    • Die Universität Erfurt dient als Endpunkt der Funkstrecke zwischen dem Landtag und der Universität Erfurt. Hier geht die Standleitung zur Verbindung des Encoders mit dem Verteilserver an der TU Ilmenau von der Funkstrecke in das kabelgebundene Netzwerk der TEAG über.
  • FeM e.V.:
    • Die FeM e.V. bringt in erster Linie ihr Wissen und ihre Erfahrung auf dem Gebiet des Livestreamings in das Projekt ein.
    • Desweiteren stellt die FeM e.V. ihren Verteilserver zur Verteilung der Streams in das Internet für diesen Zweck zur Verfügung
    • Gemeinsame Administration des Encodingrechners des Landtags mit der FeM e.V.
  • weiteres?:
    • Öffentlichkeitsarbeit?
    • Dokumentation?

Was ist eigentlich Streaming?

Audio- bzw. Videostreaming ist eine besondere Art der Übertragung von Audio- und Videoinhalten in Datennetzwerken. Der Begriff Streaming stammt aus dem Englischen und bedeutet soviel wie "Strömen" oder "Fließen". Im Gegensatz zur normalen Datenübertragung findet beim Streaming eine kontinuierliche Datenübertragung vom Sender zum Empfänger statt. Diese Daten werden dann beim Empfänger sofort wiedergegeben. Diese Art der Übertragung ist Vorraussetzung für eine Liveübertragung von Audio- und Videodaten.

Encoding

Das Bild und der Ton liegt zunächst als normales PAL-Videosignal vor. Um das Audio-/Videosignal in einer für das Internet geeigneten Form zu übertragen, ist es notwendig, das Signal stark zu komprimieren. Hierfür ist der Streamingencoder verantwortlich.

Hardware

Für das Digitalisieren der analogen Video- und Audiosignale werden 2 Capturekarten vom Typ Viewcast Osprey230 verwendet. Das Komprimieren der digitalisierten Videosignale stellt hohe Anforderungen an die CPU des Encoders. Die Komprimierung von Videodaten wird durch die Qualtität des Videosignals beeinflusst. Bildrauschen oder andere Störungen im Bild erhöhen die Entropie des Videosignals, was sich negativ auf die Komprimierung auswirkt. Aus diesem Grund sollte beim Streaming auf möglichst hochwertige Signalwege und Capturekarten geachtet werden.

Software

Der Streamingencoder arbeitet mit dem Betriebssystem Windows XP und 2 Instanzen der Encodingsoftware Windows Media Encoder 9.0, welche jeweils einen Stream encodieren.

Konfiguration

Der Streamingencoder ist so konfiguriert worden, dass ein Stream für Nutzer mit Modem- oder ISDN-Anschlüssen und ein Stream für Nutzer mit breitbandigeren Internetanschlüssen (z.B. DSL) zur Verfügung steht. Der Modemstream-/ISDN-Stream besitzt eine Bandbreite von ca. 51Kbit/s bei einer Auflösung von 128x96 Bildpunkten (jeweils 1/6 Höhe und Breite von PAL). Der DSL-Stream hat 257Kbit/s bei 384 x 288 Bildpunkten (jeweils 1/2 Höhe und Breite von PAL).


Multibitratenstreams

Windows Media ermöglicht es mehrere Streams mit verschiedenen Bitraten und Auflösungen in einem Streamcontainer zu encodieren. Die Auswahl der passenden Bitrate wird dann zwischen dem Client (dem Player) und dem Server ausgehandelt. Leider wird diese Methode nur von den Microsoft Windows Media Playern ab Version 9 unterstützt. Andere Player, welche beispielsweise unter anderen Betriebssystemen eingesetzt werden, unterstützen diese Möglichkeit nicht vollständig. In diesem Fall wird immer die kleinste Bitrate in einem Stream ausgewählt. Somit würde ein Nutzer mit dem Windows Media Player für Mac OS X immer den Stream für Modem- und ISDN-Nutzer bekommen, unabhängig davon, ob sein Internetanschluss auch den größeren Stream unterstützen würde. Da der kleine Stream eigentlich nur eine Notlösung ist, um den Nutzern mit Modemanschlüssen trotzdem eine Teilnahme an den Übertragungen der Plenarsitzungen zu ermöglichen, wäre es natürlich unakzeptabel, wenn alle Nutzer, welche keinen Microsoft Windows Media Player >9 einsetzen oder einsetzen können, gezwungen wären, trotzdem den kleinen Stream zu nutzen.

Profile

DSL-Stream

Audiocodierungsmodus:	CBR
Videocodierungsmodus:	CBR

Zielgruppe:	257.02 Kbit/s
Audiocodec:	Windows Media Audio 9.1
Audioformat:	48 Kbit/s, 44 kHz, mono CBR
Videocodec:	Windows Media Video 9
Videobitrate:	200 Kbit/s
Videogröße:	384 x 288
Framerate:	25 fps
Schlüsselframe:	8 s
Bildqualität:	80
Puffergröße:	5 s

Modem-Stream

Audiocodierungsmodus:	CBR
Videocodierungsmodus:	CBR

Zielgruppe:	51.01 Kbit/s
Audiocodec:	Windows Media Audio 9.1
Audioformat:	20 Kbit/s, 22 kHz, mono CBR
Videocodec:	Windows Media Video 9
Videobitrate:	25 Kbit/s
Videogröße:	128 x 96
Framerate:	15 fps
Schlüsselframe:	8 s
Bildqualität:	80
Puffergröße:	5 s

Verteilung der Streams

logische Streamverteilung

Die Grafik rechts zeigt, wie die Streams logisch verteilt werden. Zunächst erzeugt der Streamingencoder 2 einzelne Streams mit unterschiedlichen Bitraten, welche für die Bedürfnisse der unterschiedlichen Clients angepasst sind. Anschliessend werden beide Streams an den Verteilserver übertragen, welcher die Streams anschliessend an die Clients verteilt.

Netzwerk

Grafik Netzwerkstruktur

Die obenstehende Grafik zeigt die Netzwerkstruktur für das Projekt Landtagsstreaming. Vor Beginn des Projektes war der Verteilserver der FeM e.V. bereits mit 100Mbit/s an das Netzwerk der TU Ilmenau und darüber an das Internet angeschlossen. Eine geeignete Verbindung für den Encoder bestand allerdings noch nicht. Zunächst wurde versucht den bestehenden DSL-Anschluss, welcher für das WLAN im Plenarsaal verwendet wird, mitzunutzen. Leider war die Verbindungsqualtität nicht zufriedenstellend, da größere Downloads aus dem WLAN im Plenarsaal Verbindungsabbrüche der Streams verursacht haben. Die Thüringer Netkom GmbH stellt für die Durchführung des Projektes für ein Jahr eine Funkstrecke mit 2Mbit/s vom Landtag zur Universität Erfurt mit einem direkten Anschluss an die TU Ilmenau zur Verfügung. Die Bandbreite dieser Verbindung reicht aus um die Streams vom Encoder zum Verteilserver zu übertragen und bietet sogar noch ausreichend Kapazitäten für höhere Bandbreiten. Als Fallbackleitung wurde vom Thüringer Landtag noch ein 2. DSL-Anschluss beauftragt, welcher dediziert für die Streams zur Verfügung steht.

Encoder

Die Trennung von Encodieren und Verteilen der Streams hat den Vorteil, dass der Encoder keine so leistungsfähige Internetverbindung benötigt, um alle Clients zu versorgen. In unserem Fall benötigt der Encoder beispielsweise mit den derzeitigen Einstellungen ca. 300Kbit/s Upstreamdatenraten, um beide Streams zum Verteilserver zu transportieren. Diese 300Kbit/s können zum Beispiel über relativ kostengünstige DSL-Leitungen oder über eine 2Mbit/s-Funkstrecke, wie sie für dieses Projekt von der Netkom zur Verfügung gestellt wird, realisiert werden. Für eine Verteilung der Streams an eine große Anzahl von Clients reicht der Uplink eines DSL-Anschlusses oder eine 2Mbit/s-Funkstrecke jedoch nicht mehr aus.

Der Transport der Streams kann prinzipiell auf 2 verschiedene Arten initiiert werden. Bei der Push-Methode wird der Verbindungsaufbau vom Streamingencoder initiiert. Der Verteilserver nimmt die Verbindung vom Encoder (ggf. nach erfolgreicher Authentifizierung und Autorisierung) an und verteilt den Stream dann weiter an die Clients. Diese Methode hat Vorteile, wenn der Verteilserver nicht weiß, wo er den Encoder im Netz "findet". Sie kann zum Beispiel angewendet werden, wenn der Encoder keine feste Netzwerkadresse bzw. keinen festen Standort besitzt. Nachteil dieser Methode ist, dass die Verbindung nach einem Verbindungsabbruch nicht automatisch wieder aufgebaut wird. In diesem Fall müsste man am Encoder den Verbindungsaufbau manuell neu initiieren. Es ist aber auch möglich, dass der Verteilserver sich den Stream vom Encoder "abholt". Bei der Pull-Methode wird die Verbindung vom Verteilserver aus initiiert, sobald ein Client den Stream beim Verteilserver anfordert. Vorteil dieser Variante ist, dass die Verbindung vom Verteilserver auch bei Verbindungsabbrüchen automatisch neu initiiert wird. Auf der anderen Seite muss der Encodingrechner über eine feste Adresse erreichbar sein. Hierfür wird also entweder eine feste IP-Adresse oder zumindest ein DNS-Eintrag (DynDNS)/ eine URL benötigt.

Verteilserver für das Internet

Der Verteilserver ist derzeit über eine 100Mbit/s-Verbindung an das Netz der TU Ilmenau angeschlossen und nutzt den DFN-Uplink der TU Ilmenau für die Verbindung ins Internet. Somit könnte der Verteilserver theoretisch 389 Teilnehmer über den DSL-Stream oder 1960 Teilnehmer über den Modemstream gleichzeitig versorgen. Somit dürfte der Verteilserver eine ausreichende Anzahl an Clients versorgen können.

Clients

Der Stream kann durch beliebige Mediaplayer, welche in der Lage sind, Windows Media 9 Streams abzuspielen, genutzt werden.

unter Windows:

Das Abspielen der Streams unter Windows ist mit verschiedenen Playern möglich. Dazu gehören:

  • Windows Media Player
  • VLC
  • Mediaplayer Classic
  • weitere

Ein Windows Media 9 Codec sollte aber installiert sein. Wenn der Windows Media Player 9 oder höher installiert ist, sind Windows Media 9 Codecs automatisch installiert. Ansonsten kann man die Windows Media 9 Codecs unter http://www.microsoft.com/windows/windowsmedia/format/codecdownload.aspx herunterladen.

Die aktuelle Version des Windows Media Player erhalten Sie unter: http://www.microsoft.com/windows/windowsmedia/de/mp10/default.aspx

unter Linux

  • Mplayer (mit win32-codecs)
  • VLC Player (mit win32-codecs)

unter MacOSX

Die Streams der Plenarsitzungen können unter Mac OS X ebenfalls mit dem Windows Media Player 9 abgespielt werden. Die Version des WMP9 für Mac OS X kann hier heruntergeladen werden: http://www.microsoft.com/mac/downloads.aspx?pid=download&location=/mac/download/misc/winmp_osx.xml&secid=80&ssid=8&flgnosysreq=True

Die Links zu den Streams werden unter Mac OS X wahrscheinlich nicht von alleine funktionieren. Bitte kopieren Sie deshalb die Adresse für den Link und fügen Sie die Adresse unter "URL öffnen" (Blumenkohl + U) im Menü Ablage ein.

FAQ

Warum verwenden Sie Windows Media für das Streaming und keine anderen Formate?
Windows Media ist für unsere Arbeit im FeM-Streamingteam im Augenblick die beste Lösung um Livestreaming und On-Demand-Streaming zu realisieren. Eine Lösung, welche besser standardisierte und offene Fileformate verwendet oder frei verfügbar ist und unsere Anforderungen an Verlässlichkeit, Skalierbarkeit, Bildqualität und Hardwareanforderungen erfüllt, haben wir bis jetzt leider noch nicht gefunden.
Wenn ich auf den Link zum Stream klicke, erhalte ich eine Fehlermeldung von meinem Browser.
Wahrscheinlich weiß ihr Browser nicht, wie er die Links zum MMS-Protokoll interpretieren soll. Sie können die Links zu den Streams auch per Hand in ihrem Mediaplayer öffnen. Die Links zu den Streams lauten mms://streaming.fem.tu-ilmenau.de/landtag_dsl bzw. mms://streaming.fem.tu-ilmenau.de/landtag_modem.
Ich habe weder einen DSL, noch einen Modem-Anschluss, welchen Stream soll ich verwenden?
Verwenden Sie den Stream, welcher am Besten ihrer Internetverbindung entspricht. Wenn Ihr Anschluss mehr als 250Kbit/s Downloadrate unterstützt, verwenden Sie den DSL-Stream. Ansonsten (zum Beispiel ISDN, GPRS) verwenden Sie den Modemstream (ca. 50Kbit/s).
Firewall
Antwort kommt später noch.
Warum ist die Kameraführung so schlecht im Vergleich zu Übertragungen aus dem Bundestag zum Beispiel?
Die Übertragung aus dem Landtag erfolgt zum größten Teil automatisiert und mit einer einzelnen Kamera. Über eine Trittplatte erkennt das System, ob sich ein Redner am Pult befindet oder nicht. Wenn ein Redner am Pult steht, dann zoomt die Kamera auf den Redner, ansonsten wird eine Totale gezeigt. Desweiteren wird die Kamera vom MDR verwendet, um Aufnahmen für ihre Fernsehbeiträge zu den Plenarsitzungen zu machen.
Der MDR kann zu diesem Zweck die Kamera während der Plenarsitzungen steuern.

Weitere Ziele und Erweiterungsmöglichkeiten

  • Veränderung der Datenraten am Encoder
  • zusätzlicher Audiostream
  • zusätzliche Verteilserver
  • Verbinden der Streams mit zusätzlichen Inhalten