Paper
Inhaltsverzeichnis |
Zwischenbericht zum Projekt Satcast
Projektgegenstand
Das Projekt Satcast hat zum Ziel, einen Dienst zum Empfangen von Fernsehprogrammen im Intranet der FeM e.V. zu entwickeln, der qualitativ (Bildqualität) und quantitativ (Anzahl der empfangbaren Programme) einem normalen Fernsehempfang über Kabel gleichwertig ist. Hierbei soll die vorhandene Netzwerkinfrastruktur des FeM-Net genutzt werden.
Motivation
Das Projekt ist eigentlich aus der Unzufriedenheit mit der Qualität des Fernsehkabelanschlusses in den Studentenwohnheimen entstanden. Des weiteren wurde nach einer Möglichkeit gesucht, das Angebot an fremdsprachigen Fernsehsendern für unsere ausländischen Kommilitonen zu verbessern. Aber auch jenseits dieser speziellen "Probleme" an der TU Ilmenau gibt es einige interessante Vorteile einer derartigen Kabelfernsehinfrastruktur. Derzeit kommt es einerseits zu einer immer weiter fortschreitenden Verbreitung von Computern und Netzwerken und andererseits zu einer immer stärkeren Einbindung des Computers in die Unterhaltungselektronik. An zahlreichen Stellen werden klassische Telefonnetze durch VoIP-Lösungen ersetzt um Kosten durch die Mehrfachverkabelung einzusparen. "Kabelfernsehen over IP" ist somit nur eine konsequente Weiterführung dieser Idee.
Partner
Bei der Durchführung des Projektes arbeiten wir mit folgenden Partnern zusammen:
- Fachgebiet Telematik der TU Ilmenau im Bereich Kooperatives Streaming
- Rechenzentrum der TU Ilmenau und dem Technikteam der FeM e.V. bei der Konfiguration des Routers für Multicast
- die Firma Spaun stellt uns freundlicherweise einen Multiswitch zur Verfügung
Vorraussetzungen
Folgende Vorraussetzungen sind im Netzwerk der FeM e.V. gegeben:
Netzwerk
Das FeM-Net ist das Studentenwohnheimnetzwerk an der TU Ilmenau, welches von der FeM e.V. selbstständig aufgebaut und verwaltet wird. Derzeit sind durch die FeM e.V. 10 von 12 Wohnheimen auf dem Campus, sowie 2 Standorte in der Stadt über das FeM-Net angeschlossen. Das Netz auf dem Campus besitzt einen GigabitEthernetBackbone und die einzelnen Endnutzeranschlüsse sind über FastEthernet realisiert. Die beiden Standorte in der Innenstadt von Ilmenau sind derzeit über 11Mbit/s-Funkstrecken realisiert. Diese Bandbreite ist für eine Versorgung mit Videostreams mit hohen Datenraten zu gering und wird deshalb zunächst nicht in das Projekt eingebunden. Das FeM-Net ist zur Zeit logisch in 9 Subnetze (VLANS) unterteilt, welche durch einen Cisco-Router der 6500-Serie geroutet werden. Im FeM-Net kommen in erster Linie managebare Switche von Hewlett Packard (Procurve 2524, 2650 und 2626) für die Endnutzeranschlüsse zum Einsatz.
Satellitenempfangsanlage
Zum Empfang der digitalen Programme dient eine 100cm Satellitenschüssel mit Multifeedaufnahme. Diese ist ausgerichtet zum Empfang von Astra (19.2° Ost) und Eutelsat Hotbird (13° Ost). An der Multifeedhalterung sind 2 Quattro LNBs angebracht. Für jede Satellitenposition ist ein LNB zuständig. Das empfangene Frequenzband wird unterteilt in Low-Band und High-Band. Für jedes Band existieren 2 Polarisationsebenen, horizontal und vertikal. Jedes LNB liefert also 4 Ausgangssignale (SAT ZF Ebenen). Diese 8 Singale werden mit Hilfe eines SAT-Multiswitches auf die Teilnehmer, hier die DVB Karten, verteilt. Zur Steuerung des Multiswitches und somit Zuordung von Teilnehmer zu SAT ZF-Ebene werden bestimmte DiseqC-Kommandos von der DVB-Karte zum Multiswitch gesendet. Diese werden über das Koaxkabel, mit dem die Karten an den Multiswitch angeschlossen sind, mit übertragen.
Zu lösende Probleme
Die Fernsehprogramme müssen also ausgehend vom DVB-S-Datenstrom, der an den Empfangskarten abgenommen wird, über das Netzwerk zu den einzelnen Clients übertragen werden. Dabei sind 3 verschiedene Probleme zu beachten - die Netzwerklast, der Rechenaufwand und die Signalqualität. Des Weiteren muss das System in der Lage sein, möglichst viele Sender gleichzeitig zu verarbeiten.
Netzwerklast
Im Idealfall kann der DVB-S-Datenstrom direkt über das Netzwerk übertragen und vom Clientrechner ausgewertet werden. Dies kann aber nicht über normale Unicast-Verbindungen erfolgen, da ein einzelner DVB-Datenstrom mit einem Fernsehprogramm bereits eine Bitrate von 2 - 6 Mbit/s verursacht. Ein Server, der mit 100Mbit/s an das Netzwerk angeschlossen ist, könnte also in der Theorie ca 15 Clients versorgen. Aber selbst wenn die Server per Gigabit-Ethernet angeschlossen wären, würde es zu einer Überlastung des Backbone kommen. Es müssen also Alternativen gesucht werden. Durch die Nutzung von Multicastdatenströmen ist es möglich die Netzwerklast, welche direkt am Server entsteht und die Netzwerklast im Backbone effektiv zu verringern. Nachteil dieser Lösung ist die Belastung aller Endnutzeranschlüsse eines Subnetzes, sobald nur ein Nutzer in diesem Subnetz einen Stream nutzt. Dieses Problem kann allerdings durch die Nutzung von IGMP-Filterfunktionen in den im FeM-Net verwendeten Switches behoben werden. Eine weitere Idee, durch die man die Netzwerklast besser verteilen könnte, ist die Verwendung von P2P-Techniken Hierbei werden die Videoströme nicht allein von einem einzelnen Server zur Verfügung gestellt, sondern auch durch die Clients weiterverteilt. Ein neuer CLient könnte dann nicht nur durch den Server den Datenstrom direkt empfangen, sondern auch durch einen anderen Client, welcher das gleiche Programm anschaut, den Datenstrom beziehen.
Rechenaufwand
Eine weitere Möglichkeit die Netzwerklast zu verringern ist eine Umrechnung des Audio-Videodatenstroms in ein Format mit einer höheren Komprimierung. DVB-S verwendet zwar bereits einen relativ stark komprimiertes Datenformat. Allerdings lässt sich dieser Datenstrom noch um ein vielfaches komprimieren. Nachteil dieser Variante ist allerdings der hohe Rechenaufwand, welcher damit verbunden wäre und der Verschlechterung der Bildqualität.
Gleichzeitige Verarbeitung von mehreren Sendern
Des Weiteren stelle sich die Frage, wie man möglichst viele Sender möglichst ökonomisch gleichzeitig verarbeiten kann. Es ist zwar theoretisch Möglich, jeden einzelnen Sender über eine eigenen Server zu verarbeiten, in der Praxis macht das sicherlich keinen Sinn, da dadurch sehr viel Ressourcen verschwendet werden würden. Ziel sollte also sein, herauszufinden, wie man möglichst viele Sender gleichzeitig mit einem möglichst minimalen Aufwand an Hardware übertragen zu können. Die dabei zu beachtenden Parameter sollten Größe, Preis, Rechenleistung und Abwärme sein.
Lösungsansätze
Topologie
Entscheidend für die Problematik der Netzwerklast ist die Frage, auf welche Art und Weise die Daten im Netzwerk verteilt werden. Hierfür sind wie bereits angedeutet 3 Varianten theoretisch denkbar:
- Unicast
- Multicast
- Peer-to-Peer
Unicast
Bei einer Unicastübertragung wird jeder Nutzer einzeln vom jeweiligen Server selbst versorgt. Die notwendige Netzwerkbandbreite steigt also direkt proportional mit der Anzahl der Nutzer. Aus diesem Grund ist diese Variante nur bei sehr geringen Nutzerzahlen sinnvoll.
Multicast
Bei einer Multicastverbindung, wird der Datenstrom nur an einzelne Gruppen in einem Netzwerk übertragen. Dies hat den Vorteil, dass der Server den Datenstrom nur einmal in das Netzwerk schicken muss. Die Netzwerklast am Server ist hierbei also eher unproblematisch. Nachteile einer Multicastübertragung sind:
- In einem Subnetz (Layer2) verhält sich Multicast wie ein Broadcast -> Lösung IGMP-Snooping, höhere Kosten für Netzwerktechnik
- Multicast ist eine eher exotische Variante der Netzwerkübertraung -> in Intranets aber lösbar, eventuell höhere Kosten für Netzwerktechnik
Peer2Peer
Eine weitere Lösungsvariante für dieses Problem stellt die Verwendung von Peer2Peer-Streaming (auch kooperatives Streaming genannt) dar. Hierbei agieren die einzelnen Clients gleichzeitig als Server, die den Datenstrom an andere Clients weiterleitet. Dadurch kann man die Netzwerklast effektiv über das Netzwerk verteilen. Peer2Peer-Streaming für das Projekt "Kabelfernsehen over IP" soll gemeinsam mit dem Fachgebiet Telematik der TU Ilmenau erforscht werden.
Paralleles Übertragen von mehren Streams
Mit einer DVB-Karte kann man die Inhalte eines Transponders gleichzeitig übertragen. In der Praxis sind das meistens 4 bis 5 Sender. Das von uns eingesetzte Linux-System kann bis zu 4 DVB-Karten gleichzeitig verwenden. Man kann also mit einem Rechner bis zu 16 bis 20 Sender gleichzeitig übertragen. Es ist zu untersuchen, ob die Grenze von 4 DVB-Karten pro Rechner noch erhöht werden kann.
Rechtliche Fragen
Die Übertragung von Fernsehprogrammen über ein Computernetzwerk ist unserer Auffassung nach, urheberrechtlich gesehen nichts anderes als der Betrieb eines normalen Kabelnetzbetreibers. (Paragraph im UrhG). Eine Nachfrage bei der Gema bestätigte diese Auffassung. Für den Betrieb unseres Projektes sind somit Verwertungsrechte für die Kabelweitersendung zu beschaffen. Diese Verwertungsrechte erhält man teilweise durch die Gema und teilweise durch die VG Media. Problematisch ist die Tatsache, dass es offenbar zur Zeit noch keine Möglichkeit gibt, Rechte für eine digitale Kabelweitersendung von Sendern der TV Veranstalter RTL und ProSiebenSat1 gibt.
Software
Server
Für die Multicastvariante der Streamverteilung setzen wir die Software dvbstream ein. Diese Software setzt den Transportdatenstrom der DVB-Karten in das RTP-Protokoll (RFC 1889) um und versendet diesen in Multicast-IP-Paketen.
Client
Die Clients müssen mit dem RTP-Protokoll und dem MPEG2-Transportstrom zurechtkommen. Im Augenblick nutzen wir den Mplayer als Clientprogramm, da er kostenlos ist und leicht an unsere Bedürfnisse anpassbar ist, und für zahlreiche Betriebssysteme zur Verfügung steht.