Multimedia und Internet Ständig neue multimediale verteilte Anwendungen: Die Internet-Protokollwelt 8. Multimedia-Ströme im Internet Unter Nutzung einiger Folien von Prof. Dr. -Ing. Anatol Badach Fachhochschule Fulda, FB Angewandte Informatik Video on Demand IP-Telefonie Internet Radio Telekonferenzen Interaktive Spiele Virtuelle Welten Tele-Learning Erhöhte Anforderungen an Ende-zu-Ende-Verzögerung Verzögerungsschwankungen Spezielle Streaming Protocols notwendig! Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 226 Multimedia-Client-Anwendungen Aufgaben Dekomprimierung des Datenstroms on the fly Abschwächung der Verzögerungsschwankung durch Pufferung Fehlerbehandlung durch Vorwärtsfehlerkorrektur Explizite Übertragungswiederholung in Ausnahmefällen Interpolierung verlorener Daten Bereitstellung einer grafischen Benutzerschnittstelle Ausprägungen Stand-alone Anwendungen z.b. Real Player, MS Media Player Plug-Ins für Browser Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 227 Audio/Video im Web (I) Naiver Ansatz: Übertragung der Medienströme über HTTP Medienstrom wird in einer HTTP-Response übertragen Eventuell mehrere Responses, z.b. bei Video (eine Response für das Video, eine für den Ton dazu) Client für notwendige Synchronisation zuständig Web Browser Media Player Web-Server mit Medienströmen Nachteil: Gesamter Medienstrom muss zunächst heruntergeladen werden, ehe er abgespielt werden kann. Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 228 1
Audio/Video im Web (II) Verbesserung durch Übertragung des Medienstroms direkt zum Media Player Koordination zwischen Web Browser und Media Player über Metafile Audio/Video im Web (III) Um von HTTP wegzukommen, wird ein spezieller Streaming Server eingesetzt (nicht notwendigerweise ein zweiter Rechner) Web-Server Web Browser Web-Server mit Medienströmen Web Browser (2) Metafile Media Player (2) Beschr. Media Player Streaming Server Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 229 Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 230 Optionen zur Übertragung des Medienstroms Übertragung über UDP mit konstanter Senderate und sofortiger Darstellung auf Client-Seite Beispielsweise Audiostrom mit 13 kb/s Sobald die Daten empfangen werden, werden sie dekomprimiert und dargestellt Übertragung über UDP mit konstanter Senderate und verzögerter Darstellung auf Client-Seite Client puffert den Strom für kurze Zeit (2-5 s) zu Eliminierung der Verzögerungsschwankung Übertragung über TCP mit verzögerter Darstellung auf Client-Seite Bessere Übertragungsqualität, aber Leerlaufen des Puffers wahrscheinlich Realtime Streaming Protocol RTSP Kontrolle des Medienstroms analog zu einem Videorekorder: Pause Positionieren Schnelles Vor- und Zurückspulen mit Bildwiedergabe... Protokoll zur Übermittlung der Kontrollinformation notwendig: Realtime Straming Protocol RTSP RTSP ist nicht verantwortlich für Medienkompressionsverfahren Verpacken des Medienstroms in Pakete Transport des Medienstroms Pufferung der Daten Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 231 Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 232 2
RTSP Ablauf RTSP Methoden Web Browser Media Player HTTP Get Session Description SETUP PLAY RTP audio RTP video RTCP PAUSE CLOSE Web Server Media Server OPTIONS Abfragen verfügbarer Methoden SETUP Aufbau der Transportbeziehung ANNOUNCE Änderung der Beschreibung eines Medienstroms DESCRIBE Abfragen der (low-level) Beschreibung eines Medienstroms PLAY Start der Wiedergabe / Umpositionierung RECORD Start der Aufnahme REDIRECT Umlenken des Clients zum neuen Server PAUSE Anhalten des Stroms, Aufrechterhalten des Zustands SET_PARAMETER Steuerung des Gerätes / der Kodierung TEARDOWN Löschen des Zustands CLOSE Aufheben der Transportbeziehung Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 233 Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 234 RTSP Eigenschaften Out-Of-Band-Protocol Portnummer 544 RTSP benutzt TCP oder UDP Zuverlässigkeit Wenn TCP verwendet wird, wird jeder Befehl nur einmal geschickt Wenn UDP verwendet wird, wird nach einer geschätzten Round Trip Time der Befehl bei ausbleibender Reaktion wiederholt Befehle werden durchnummeriert Implementierungen vorhanden, z.b. rtspd von Columbia University (http://www.cs.columbia.edu/irt/software/rtspd/) Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 235 Realtime Protocol (RTP) Zweck: Standardisierte Paketstruktur mit Feldern für Audio-Daten Video-Daten Sequenznummern Timestamps Nutzung von UDP zur Übertragung der Medienströme RTP ist Unterschicht der Transportschicht Übertragung bestehender standardisierter Formate für Audio, z.b. PCM- oder GSM-Kodierung für Video, z.b. MPEG1 oder MPEG2 Wichtig: RTP umfasst keinerlei Mechanismen zur Garantie der zeitgerechten Auslieferung oder sonstiger QoS-Anforderungen Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 236 3
Einordnung von RTP RTP Paketkopf Internet-Referenzmodell Anwendung RTP Transport (UDP) Internet (IP) Rechner- Netzanschluss RTP geht auch für Multicast und Multipeer RTP Session Payload Type Sequence Number Timestamp Synchronization Miscellaneous Source ID Fields 32 bit lang, abgeleitet vom Abtasttakt auf Senderseite, bezieht sich auf das erste Byte im Paket 16 bit lang, wird mit jedem Paket um 1 erhöht zur Entdeckung und eventuell Wiederholung fehlender Pakete 7 bit lang, Angabe der Codierung (s. nächste Folie) 32 bit lang, identifiziert die Quelle des RTP-Stroms (nicht die IP-Adresse, sondern eine Zufallszahl, die bei Beginn des Stromes generiert wurde) Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 237 Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 238 RTP Payload Types Payload Type Audio-Format Abtastrate Durchsatz 0 PCM m-law 8 khz 64 kb/s 1 1016 8 khz 4,8 kb/s 3 GSM 8 khz 13 kb/s 7 Linear Predictive Coding 8 khz 2,4 kb/s 9 G.722 8 khz 48 64 kb/s 14 MPEG Audio 90 khz 15 G.728 8 khz 16 kb/s Payload Type Video Format 26 Motion JPEG 31 H.261 32 MPEG1 Video 33 MPEG2 Video Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 239 RTP Control Protocol (RTCP) Steuerprotokoll in Verbindung mit RTP RTCP-Pakete werden periodisch versendet und enthalten Sender- und/oder Empfängerinformationen zur Auswertung durch die Anwendung Anzahl gesendeter Pakete Anzahl verlorengegangener Pakete Abschätzung der Abweichung der Zwischenankunftszeiten Was die Anwendungen mit dieser Information machen, bleibt den Anwendungsentwicklern überlassen. Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 240 4
RTCP Pakettypen Jeder RTP-Empfänger sendet für jeden Strom periodisch ein RTCP-Paket als Empfangsbericht Synchronization Source ID Anteil der verloren gegangenen Pakete Letzte empfangene Sequenznummer Mittlere Abweichung der Zwischenankunftszeiten Der RTP-Sender fasst die verschiedenen Berichte zusammen: Synchronization Source ID Timestamp des zuletzt gesendeten Pakets Lokale Zeit des Senders Anzahl der gesendeten Pakete und Bytes Mit Hilfe der Senderberichte können verschiedene Ströme synchronisiert werden Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 241 RTCP Skalierung der Bitrate Problem: Skalierbarkeit RTCP-Verkehr kann RTP-Verkehr übertreffen! Lösung: Anpassung der Rate, mit der die RTCP-Pakete geschickt werden Ziel: Begrenzung des RTCP-Verkehrs auf 5% des gesamten Verkehrsaufkommens in einer Session Beispiel: Gesamtes Verkehrsaufkommen: 2 Mb/s RTCP-Verkehr: 100 kb/s Aufteilung beispielsweise 25 % für Sender: 25 kb/s (nur ein Sender) 75 % insgesamt für alle R Empfänger: 75 kb/s Periode für Sender: 1 T * RTCP Paketgröße 0,25*0,05*2Mb / s Periode für Empfänger: R T * RTCP Paketgröße 0,75*0,05*2Mb / s Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 242 PC mit PC: PC mit Telefon: Voice over IP (VoIP) IP-Netz (Intra- oder Internet) IP-Netz (Intra- oder Internet) VoIP- Gateway PSTN ISDN- TK- Anlage Protokolle für VoIP Protokolle für die Übermittlung der Sprache: RTP, RTCP Protokolle für die Übermittlung der Signalisierung, d. h. VoIP- Signalsierungsprotokolle: H.323, SIP Protokolle für die Anbindung herkömmlicher TK-Systeme für die Sprachübermittlung an die IP-Netze; d. h. so genannte Media Gateway Control Protokolle: MGCP, Megaco Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 243 Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 244 5
Daten Integration von IP und Telefonie durch H.323 IP-Netz Optimiert für Datenanwendungen Effiziente Nutzung der Bandbreite Sprache Video H.323 verbindet diese unterschiedliche Welten Telefonienetz Optimiert für Sprachund Video-Anwendungen Isochrone Übertragung H.323 H.323 ist der Standard für Echtzeit-Audio- und Videokonferenzen für End-Systeme im Internet H.323 definiert auch die Kommunikation zwischen Endsystemen und herkömmlichen Telefonen Interoperabilität H.323 liefert einen Anwendungskontext für RTP RTP ist sogar integraler Bestandteil von H.323 H.323-Komponenten umfassen End Points (Stand-alone-Geräte wie Web Phones oder Web TVs oder PC-Anwendungen wie Internet Videokonferenzsoftware) Gateways (zum Übergang ins herkömmliche Telefonnetz) Gatekeepers (für die Adressumsetzung, Autorisierung, Bandbreitenmanagement, Abrechnung,...) Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 245 Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 246 H.323-Basiskomponenten H.323-Terminal Gatekeeper Multipoint Control Unit MCU H.323-Terminal H.323 Protokollarchitektur Audio- Anwendungen Video- Anwendungen Systemsteuerung H.323-Zone Telefonnetz VoIP- Gateway ISDN H.324 H.320 B-ISDN H.321 G.711 G.722 G.729 etc. RTP RTCP UDP H.261 H.263 etc. RAS Channel H.255 Call Signaling Channel Q.931 TCP Call Control Channel H.245 H.323 IP Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 247 Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 248 6
H.323 Kanäle und Sessions In einer H.323-Session werden verschiedene H.323-Kanäle benötigt: mehrere simultane RTP-Ströme Pro RTP-Strom typischerweise ein Kanal zum Senden und ein Kanal zum Empfangen ein RTCP-Kanal wie beschrieben ein H.245-Steuerkanal zum Aufbau / Abbau von Kanälen und zum Aushandeln von Stromeigenschaften ein Q.931-Kanal für traditionelle Telefonfunktionalität TCP/IP und VoIP-Protokolle Signalisierung H.323-SIG SIP RTP RTCP TCP Internet Protocol Audio / Video UDP Network to Host Layer Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 249 Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 250 SIP-Besonderheiten SIP (Session Initiation Protocol) ein RFC 2543 der IETF (Internet Engineering Task Force) SIP ist ein Signalisierungsprotokoll für Übermittlung von Audio und Video über IP- Netze SIP ist der Funktion nach mit H.323 vergleichbar, ist aber weniger komplex und einfacher zu implementieren SIP funktioniert nach dem Client/Server- Prinzip SIP unterstützt die Mobilität von Benutzern Beispiel für einen SIP-Verlauf Romeo@montague.de Julia@capulet.de INVITE Julia@capulet.de 180 Ringing 200 OK ACK Julia@capulet.de VoIP - Verbindung BYE Romeo@montague.de 200 OK Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 251 Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 252 7
SIP-Abbildung auf das D-Kanal- Protokoll Integration herkömmlicher TK-Systeme mit VoIP-Systemen INVITE 100 Trying 180 Ringing 200 OK VoIP-Verbindung BYE 200 OK VoIP- Gateway SETUP ALERT CONNECT B-Kanal DISCONNECT RELEASE RELEASE ACKNOWLEDGE Verschiedene Gateways für die Einbindung herkömmlicher Systeme für die Sprachkommunikation in IP-Netze Media Gateways Protokolle für die Steuerung von Media Gateways MGCP (Media Gateway Control Protocol), Megaco Klassische Telefonapparate können auch in VoIP-Systemen eingesetzt werden Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 253 Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 254 Media Gateways: Typen und Einsatz Ausblick Trunking Gateway VoIP..... Telefonnetz Die Standards für VoIP sind vorhanden: H.323, SIP, MGCP, Megaco Residential Gateway VoIP..... SIP und Megaco gewinnen ständig an Bedeutung SIP kann relativ einfach mit Web- Anwendungen integriert werden. Access Gateway VoIP..... TK-Anlage Experten gehen davon aus, dass SIP sich bald als das wichtigste Protokoll im VoIP-Umfeld etabliert Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 255 Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 256 8
Zusammenfassung Für Multimedia-Ströme im Internet wurden ganze Protokollfamilien definiert Funktionsumfang dieser Familien Anschluss der Geräte Transport der Multimedia-Daten Steuerung der Multimedia-Ströme Interoperabilität mit traditionellen Einrichtungen Für den eigentlichen Datentransfer wird TCP oder UDP verwendet Keine QoS-Garantie in diesen Protokollen Zusätzliche Vorkehrungen (DiffServ, IntServ) notwendig Literatur BADACH, A.: Voice over IP Die Technik. München, Wien : Carl Hanser Verlag, 2004. ISBN 3-446- 22697-4 KUROSE, J.F.; ROSS, K.W.: Computer Networking A Top-Down Approach Featuring the Internet. Boston : Addison-Wesley, 2001. ISBN 0-201-47711-4. PERKINS, C:: RTP: Audio/Video Transport for the Internet. Sams, 2002. ISBN 0-672-32249-8. SCHULZRINNE, H.: RTP: About RTP and the Audio-Video Transport Working Group. Aktueller Stand Mai 2005. http://www.cs.columbia.edu/~hgs/rtp/. SIEGMUND, G.: Next Generation Networks IP-basierte Telekommunikation. Heidelberg : Hüthig-Verlag, 2002. ISBN 3-7785-3963-9. Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 257 Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 258 RFCs (1) RFCs (2) SCHULZRINNE, H. ; CASNER, S. ; FREDERICK, R. ; JACOBSON, V.: RTP: A Transport Protocol for Real-Time Applications. Juli 2003 (RFC 3550). SCHULZRINNE, H. ; CASNER, S.: RTP Profile for Audio and Video Conferences with Minimal Control. Juli 2003 (RFC 3551). EVEN, R. : RTP Payload Format for H.261 Video Streams. August 2006 (RFC 4587). BERC, L. ; FENNER, W. ; FREDERICK, R. ; MCCANNE, S. ; STEWART, P.: RTP Payload Format for JPEG-compressed Video. Oktober 1998 (RFC 2435). ZHU, C. : RTP Payload Format for H.263 Video Streams. September 1997 (RFC 2190). HOFFMAN, D. ; FERNANDO, G. ; GOYAL, V. ; CIVANLAR, M. : RTP Payload Format for MPEG1 / MPEG2 Video. Januar 1998 (RFC 2250). ROSENBERG, J. ; SCHULZRINNE, H. ; CAMARILLO, G. ; JOHNSTON, A. ; PETERSON, J. ; SPARKS, R. ; HANDLEY, M. ; SCHOOLER, E.: SIP: Session Initiation Protocol. Juni 2002. (RFC 3261) ROSENBERG, J. ; SCHULZRINNE, H.: Reliability of Provisional Responses in Session Initiation Protocol (SIP). Juni 2002. (RFC 3262) ROSENBERG, J. ; SCHULZRINNE, H.: Session Initiation Protocol (SIP): Locating SIP Servers. Juni 2002. (RFC 3263) ROSENBERG, J. ; SCHULZRINNE, H.: An Offer/Answer Model with Session Description Protocol (SDP). Juni 2002. (RFC 3264) ROACH, A.B.: Session Initiation Protocol (SIP)- Specific Event Notification. Juni 2002. (RFC 3265) HANDLEY, M. ; JACOBSON, V. ; PERKINS, C.: SDP: Session Description Protocol. Juli 2006. (RFC 4566) SCHULZRINNE, H. ; RAO, A. ; LANPHIER, R. : Real Time Streaming Protocol (RTSP). April 1998 (RFC 2326). Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 259 Die Internet-Protokollwelt - 8. Multimedia-Ströme im Internet 260 9