Streaming Protokolle Jonas Hartmann 1
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
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
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
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
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
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
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
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
2. Offizielle RFC Streaming Protokolle 2.2.3 RTCP Reports Beispiel Sender Report 10
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
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
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
3. Ein wichtiges proprietäres Protokoll 3.2 RTMP beispielhafte Darstellung 14
4. Konkreter Anwendungsfall ZDF Mediathek 4 RTP + RTSP + RTCP + RTMP 15 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
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
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
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