Multimedia und Internet Telekommunikationsdienste und -protokolle 8. Multimedia-Ströme im Internet Unter Nutzung einiger Folien von Prof. Dr. -Ing. Anatol Badach Fachhochschule Fulda, FB Angewandte Informatik Ständig neue multimediale verteilte Anwendungen: 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! TKDP - 8. Multimedia-Ströme im Internet 224 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 TKDP - 8. Multimedia-Ströme im Internet 225 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. TKDP - 8. Multimedia-Ströme im Internet 226
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 Browser (2) Metafile Media Player (1) HTTP-Req/Rsp für Metafile (3) HTTP-Req/Rspfür Medienstrom Web-Server mit Medienströmen Web Browser (2) Beschr. Media Player (1) HTTP-Req/Rsp für Metafile (3) Übertragung des Medienstroms über spezielles Protokoll Web-Server Streaming Server TKDP - 8. Multimedia-Ströme im Internet 227 TKDP - 8. Multimedia-Ströme im Internet 228 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 TKDP - 8. Multimedia-Ströme im Internet 229 TKDP - 8. Multimedia-Ströme im Internet 230
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 TKDP - 8. Multimedia-Ströme im Internet 231 TKDP - 8. Multimedia-Ströme im Internet 232 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/) TKDP - 8. Multimedia-Ströme im Internet 233 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 TKDP - 8. Multimedia-Ströme im Internet 234
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, identifiziert die Quelle des RTP-Stroms (nicht die IP-Adresse, sondern eine Zufallszahl, die bei Beginn des Stromes generiert wurde) 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) TKDP - 8. Multimedia-Ströme im Internet 235 TKDP - 8. Multimedia-Ströme im Internet 236 RTP Payload Types Payload Type Audio-Format Abtastrate 0 PCM μ-law 1 1016 3 GSM 7 Linear Predictive Coding 9 G.722 14 MPEG Audio 90 khz 15 G.728 Payload Type Video Format 26 Motion JPEG 31 H.261 32 MPEG1 Video 33 MPEG2 Video Durchsatz 64 kb/s 4,8 kb/s 13 kb/s 2,4 kb/s 48 64 kb/s 16 kb/s 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. TKDP - 8. Multimedia-Ströme im Internet 237 TKDP - 8. Multimedia-Ströme im Internet 238
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 TKDP - 8. Multimedia-Ströme im Internet 239 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 TKDP - 8. Multimedia-Ströme im Internet 240 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 TKDP - 8. Multimedia-Ströme im Internet 241 TKDP - 8. Multimedia-Ströme im Internet 242
Daten Integration von IP und Telefonie durch H.323 IP-Netz 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,...) TKDP - 8. Multimedia-Ströme im Internet 243 TKDP - 8. Multimedia-Ströme im Internet 244 H.323-Basiskomponenten H.323 Protokollarchitektur H.323-Terminal Gatekeeper Multipoint Control Unit MCU H.323-Terminal 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 TKDP - 8. Multimedia-Ströme im Internet 245 TKDP - 8. Multimedia-Ströme im Internet 246
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 TKDP - 8. Multimedia-Ströme im Internet 247 TKDP - 8. Multimedia-Ströme im Internet 248 SIP-Besonderheiten Beispiel für einen SIP-Verlauf 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 Romeo@montague.de INVITE Julia@capulet.de 180 Ringing 200 OK ACK Julia@capulet.de VoIP - Verbindung BYE Romeo@montague.de 200 OK Julia@capulet.de TKDP - 8. Multimedia-Ströme im Internet 249 TKDP - 8. Multimedia-Ströme im Internet 250
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 TKDP - 8. Multimedia-Ströme im Internet 251 TKDP - 8. Multimedia-Ströme im Internet 252 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 TKDP - 8. Multimedia-Ströme im Internet 253 TKDP - 8. Multimedia-Ströme im Internet 254
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. TKDP - 8. Multimedia-Ströme im Internet 255 TKDP - 8. Multimedia-Ströme im Internet 256 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). TURLETTI, T. ; HUITEMA, C. : RTP Payload Format for H.261 Video Streams. Oktober 1996 (RFC 2032). 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) OLSON, S. ; CAMARILLO, G. ; ROACH, A.B.: Support for IPv6 in Session Description Protocol (SDP). Juni 2002. (RFC 3266) SCHULZRINNE, H. ; RAO, A. ; LANPHIER, R. : Real Time Streaming Protocol (RTSP). April 1998 (RFC 2326). TKDP - 8. Multimedia-Ströme im Internet 257 TKDP - 8. Multimedia-Ströme im Internet 258