Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach Streaming Protokolle Jonas Hartmann 1 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach Streaming Protokolle Inhaltsverzeichnis 1. Definition / Anwendungsfälle 2. Offizielle RFC Streaming Protokolle 3. Ein wichtiges proprietäres Protokoll 4. Konkreter Anwendungsfall ZDF Mediathek 5. Weitere Protokolle 6. Fazit 7. Ausblick 2 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 1. Streaming – Definition / Anwendungsfälle 1.1 Definition Streaming •Download: gesamte Datei muss erst heruntergeladen werden (z.b. Rapidshare) •Progressive Download: nur kleiner Puffer muss geladen sein (z.b. Youtube, Megavideo) •wirkt oft schon wie echtes Streaming •Streaming: Wiedergabe von Dateien in Echtzeit (z.b. ZDF Mediathek Fussballübertragung) •es werden keine Dateien gespeichert 3 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 1. Streaming – Definition / Anwendungsfälle 1.2 Anwendungsfälle Streaming •Anwendungsfälle und Dimensionen: •On Demand •Livestream •im offenen Internet: InternetTV / WebTV •in "Managed Networks": IP-Telefonie, IPTV 4 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 2. Offizielle RFC Streaming Protokolle 2.1.1 RTP (Real-Time Transport Protocol) •1996, RFC 1889 •2003 abgelöst durch RFC 3550 •befindet sich wie HTTP auf OSI 7 – Anwendungen •zuständig für den Transport der Streams •verwendet UDP => TCP ist zu langsam •UDP ist zwar verbindungslos, Problem wird jedoch anders gelöst 5 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 2. Offizielle RFC Streaming Protokolle 2.1.2 RTP - Technisch •Version (V),Padding (P), Extension (X) •CSRC Count (CC), Marker (M) •Payload Type (PT), z.b. Video, Audio, Bild •Sequence Nr. (SN), dient der Sortierung •Timestamp (TS), Synchronisierung Audio, Video •Synchroniz. Source (SSRC) Identifier, Quelle ID 6 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 2. Offizielle RFC Streaming Protokolle 2.2.1 RTCP (RealTime Control Protocol) •2003, RFC 3605, aus dem gleichen Jahr wie RTP Überarbeitung •zuständig für Kontrolle und Flusssteurung •enthält Quality of Service Parameter •Informationen über bisher erbrachte Dienstqualität •befindet sich wie HTTP auf OSI 7 - Anwendungen •wird einen Port höher als RTP gesendet •ist bewusst klein gehalten, max 5% der Bandbreite 7 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 2. Offizielle RFC Streaming Protokolle 2.2.2 RTCP - Technisch •Version (V) •Padding (P) •Report Counter (RC) •PacketType (PT), Art des Reportes •length (L) •je nach Packettyp verschiedenes Packetformat 8 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 2. Offizielle RFC Streaming Protokolle 2.2.3 RTCP - Reports •Verschiedene Packetarten / Reportarten: •Sender Report: gesendete Packete, Zeitpunkte •Receive Report: empfangene Packete, Zeitpunkte •Source Description: Senderbeschreibung •Goodbye: Ende •Application defined: Info über Erweiterbarkeit 9 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 2. Offizielle RFC Streaming Protokolle 2.2.3 RTCP Reports – Beispiel Sender Report 10 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 2. Offizielle RFC Streaming Protokolle 2.3.1 RTSP (Real-Time Streaming Protocol) •1998, RFC 2326 •textbasiert •dient der Sessionsteuerung •auch als Netz Fernsteuerung bezeichnet •ähnlich HTML (GET, POST) für Medienströme •URL mit Methode, z.b. rtsp://blablubb Method=Play 11 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 2. Offizielle RFC Streaming Protokolle 2.3.2 RTSP - Befehle •Options (akzeptierte Requests des Servers) •Describe (Aushandlung der Session - SDP Protokoll) •Setup (Transporteigenschaften, z.b. RTP, Unicast, Source IP, Ports) •Play •Pause •(Record (ggf. Aufnahme)) •Teardown (Ende) 12 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 3. Ein wichtiges proprietäres Protokoll 3.1 RTMP (Real Time Messaging Protokoll) •kein RFC ! •entwickelt von Adobe •Spezifikation 2009 offengelegt •hat große Verbreitung im Internet •Browser mit Flash reicht zum Empfang => Flash hat große Verbeitung im offenen Internet 95-100% •wird verwendet von ARD, ZDF, RTL, PRO SIEBEN, Zattoo TV, JustinTV etc. 13 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 3. Ein wichtiges proprietäres Protokoll 3.2 RTMP – beispielhafte Darstellung 14 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 4. Konkreter Anwendungsfall ZDF Mediathek 4 RTP + RTSP + RTCP + RTMP •Request an ZDF Server mit flashfähigem Browser •ZDF Server handelt RTMP Session mit Client aus •ZDF Server handelt Session mit CDN (Content Delivery Network Anbieter, z.b. Akamai) per RTSP aus •Infos über Sitzung erfolgen mit RTCP •Stream von CDN zu ZDF Server erfolgt über RTP •Stream von ZDF Server zum Client wird über RTMP an Client gesendet •Stream kommt beim Client im Browser an 15 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 5. Weitere Protokolle (mit weniger Verbreitung) 5 MMS / Shoutcast •MMS (Microsoft Media Server Protocol) •mms:// •entwickelt von Microsoft •Spezifikation 2008 offengelegt •Shoutcast, Protokoll primär für Audiostreams •entwickelt von Nullsoft •Spezifikation nicht veröffentlicht 16 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 6. Streaming Protokolle – Fazit / Ausblick 6.1 Fazit •Offizielle RFC Protokolle: RTP,RTCP,RTSP •komplexe Entwicklung •werden in großen geschlossenen Netzen von großen TelKo oder CDN Anbietern für Streams, IPTV, IP-Telefonie verwendet •proprietäre Protokolle: RTMP (MMS, Shoutcast) •im offenen Internet, z.b. Mediatheken Frontend, Videoplattformen anzutreffen, da viele Clients für den Endanwender vorhanden, z.b. Flash, VLC 17 Geistes-, Sozial-, Technik- und Naturwissenschaften – gemeinsam unter einem Dach 6. Streaming Protokolle – Fazit / Ausblick 6.2 Ausblick •Zukünftige Entwicklung bzgl. RIA (Rich Internet Application) bleibt Clients abzuwarten •Flash vs. Silverlight (in Windows 7) vs. JavaFX •neue Transportprotokolle, welche die Schwächen von UDP / TCP beheben könnten •DCCP, RFC 2006 (Datagram Congestion Control Protocol) •SCTP, RFC 2007 (Stream Control Transmission Protocol) 18