16
Multimedia Tools (Subject) / Streaming (Lesson)
Streaming von Audio und Video
Einführung
Quality of Service
Unicast oder Multicast
Internetprotokolle für Streaming
Anpassung an (schlechte) Übertragungsbedingungen
VoIP und anderes
This lesson was created by Renato.
Advertisement
- Anforderungen an den Übertragungskanal: (4) • konstante Bandbreite für Übertragung des kontinuierlichen Datenstroms in Echtzeit• geringe Verzögerungszeit• die Häufigkeit und Charakteristik von Übertragungsfehlern sollte bekannt sein• ausreichende und gesicherte Bandbreite für gute Signalqualität
- Streaming Media und Echtzeit Streaming Media:• Übertragung von Audio und Video in Echtzeit über das Internet• gleichzeitiges Empfangen und Wiedergeben von Medieninhalten• z.B.: Web-Radio, Web-TV Echtzeit:• Transport von Information mit einer garantierten und „geringen“ Verzögerungszeit
- Übertragungscharakteristik des Internet • Übertragung paketweise, nicht kontinuierlich• Paketverlust möglich, je nach Protokoll werden verlorene Pakete erneut gesendet• keine Garantie für Dauer und Reihenfolge der Paketlieferung• effektive Bandbreite abhängig von Auslastung des Internet• keine gesicherte Statistik über Häufigkeit und Charakteristik von Übertragungsfehlern• heutige Internet-Infrastruktur ist nicht auf die Anforderungen von Streaming-Anwendungen angepasst
- Übertragungscharakteristik des Internet - Quality of Service – QoS (Dienstgütemechanismen) : • bei Übertragungen in paketbasierten Netzen sinnvoll,• beschreibt die Güte eines Dienstes (spezifizierbares Verhalteneines Systems durch quantitative Parameter),• wesentliche Einflüsse in IP-Netzen auf QoS: • Latenz, • Jitter, • Paketverlustrate, • Datenrate,• unterschiedliche Dienste haben auch unterschiedliche Anforderungen an diese Einflussfaktoren (z.B. VoIP, Datentransfer, IPTV, …)• Framework-Reservierung (Integrated Services): • Reservierung von Ressourcen entlang des Übertragungspfades, • Anmeldung der Datenübertragung,• Markierung durch Dienstgüteklassen (Differentiated Services): • Datenströme werden unterschiedlichen Dienstgüteklassen zugeordnet, • vorherige Markierung der Datenpakete Ressourcen behandeln diese Pakete mit erhöhter (definierbarer) Priorität, • Type of Service legt die Priorisierung fest
- Unicast • Übertragung im Internet üblicherweise von einem Sender zu einem Empfänger (Point-to-Point, Unicast),• Server liefert Daten an jeden Client neu aus,• Netzlast und Serverlast steigt proportional mit der Anzahl der Clients,• ist das gebräuchlichste Vorgehen.
- Multicast Server sendet einen Datenstrom an eine Reihe von Empfangsadressen, Übertragung muss vom Empfänger authentifiziert sein, Abgrenzung: Broadcast = jeder Client kann den Datenstrom empfangen, auf dem Weg zu den Clients wird der Datenstrom vervielfältigt.
- Multicast: Vervielfältigung des Datenstroms Weg eines einzelnen Multicast Datenpakets: • Server schickt Datenpaket los, • Ziel sind mehrere Clients = eine Reihe von Empfängeradressen, • Datenpaket gelangt an einen Router, • Router analysiert Bereich von Zieladressen und sendet Datenpaket, in N Richtungen weiter (=Vervielfältigung), • Nachfolgende Router verfahren ebenso, • (vervielfältigtes) Datenpaket erreicht einzelnen Client.
- Multicast über Replication Server • Server sendet 1 Streaming-Datenstrom an Replication Server,• Replication Server sendet n Streaming-Datenströme gleichzeitig an n Clients,• Übertragung per Unicast-Verbindungen zu den Clients,• entlastet nur den Server bzw. den Backbone, nicht das Internet insgesamt,• Kompromiss, solange kein echter Multicast möglich
- Multicast über Relayserver Server überträgt Daten einmal per Unicast über Internet an Relay Server,• Relayserver überträgt per Multicast an mehrere Clients im lokalen Netzwerk (“Massensendung”),• Vervielfältigung der Sendung am Gateway (G), Switch, etc.• entlastet Server und Internet,• nur anwendbar für Clients, die mit lokalem Netzwerk verbunden sind
- Multicast über IPv6 IPv6: Internet Protocol Version 6: Nachfolger vom jetzigen IPv4 • durch IPv6 ist Multicast-Unterstützung in Routern vorgeschrieben, • größerer Multicast-Adressraum, • Multicast-Adresse setzt sich aus einer oder mehreren Unicast-Adressen zusammen, • IPv6 unterstützt zusätzliche Informationen in der MulticastAdresse, • IPv6 unterstützt weitergehende Merkmale (Anycast) im / mit Hilfe der Router wie: » Lastverteilung » Webinhalte cachen » A/V store & forward
- Advertisement
- Erwartungen eines Nutzers an Streaming-Dienste (3) • Einfacher Zugriff • Keine Probleme mit Firewalls • Kein PlugIn nötig • Keine Format-Probleme • Bandbreite ausreichend• Hohe Quality of Experience • Geringe start-up Verzögerungen • Kein Re-Buffering • Hohe Wiedergabequalität• Preiswert
- Transmission Control Protocol (TCP) • Protokoll zur Verbindung von zwei Hosts über IP-Netzwerke• fehlerfreie Übertragung von Datenpaketen (garantiert fehlerfrei nicht rechtzeitig!)• Identifikation von Paketen für richtige Reihenfolge• erneute Paketübertragung bei Verlust eines Paketes (Verwerfen von fehlerhaften oder in falscher Reihenfolge eintreffenden Paketen nicht möglich)• großer Nachteil von TCP:Die eventuelle Neuanforderung von Paketen führt zur Unterbrechung der kontinuierlichen A/V-Wiedergabe!
- User Datagram Protocol (UDP) • verbindungsloses Protokoll ohne Datenkorrektur, d.h. • keine Gewähr der richtigen Reihenfolge, • kein Schutz vor Paketverlust,• keine Fehlererkennung,• keine wiederholte Übertragung bei PaketverlustNachteile bei Streaming über UDP- lokale Netzwerke nutzen Firewalls-UDP bietet Vielzahl an Angriffsmögl. für Hacker-viele Firewalls verbieten Dateneinfluss von UDP- dann nur über TCP A/VStreams zu empfangen
- Real-Time Transport Protocol (RTP) • Internetprotokoll zur kontinuierlichen Übertragung von Echtzeitdaten, z.B. Audio und Video,• sowohl für Unicast-, als auch für Multicast-Kommunikation,• Garantiert noch keine wirkliche Übertragung in Echtzeit, bietet jedoch passende Mechanismen, z.B. Timestamps = Zeitmarken zur gezielten Zeitsynchronisation zwischen Sender<>Empfänger,• RTP benutzt meist UDP, falls dies nicht möglich ist, wird auf andere Protokolle (z.B. TCP) ausgewichen.
- Real-Time Control Protocol (RTCP) • wird in Verbindung mit RTP benutzt,• überträgt Informationen über Sender, Empfänger und Verbindung, z.B. Anzahl der Paketverluste,• ermöglicht es dem Sender die Übertragung anzupassen
- Real-Time Streaming Protocol (RTSP) • Protokoll zur Kontrolle von Streaming-Daten im Internet• effiziente Verteilung von A/V-Daten an viele Benutzer• ermöglicht Kontrollfunktionen des Empfängers, z.B. Vorspulen, Zurückspulen, Pause• nur bei Unicast