Detaillierte Analyse der technischen Grundlagen für Streaming

Transcrição

Detaillierte Analyse der technischen Grundlagen für Streaming
BERUFSAKADEMIE DRESDEN
–STAATLICHE STUDIENAKADEMIE–
Studienarbeit
Detaillierte Analyse der technischen Grundlagen
für Streaming-Videos sowie vorhandener
Streaming Protokolle
Verfasser:
Geb.:
Fachrichtung:
Firma:
Gutachter:
Eva Feldmann
11.09.1980
Medienproduktion
MUB VideoDesign
Dipl.Chem. Marina Beckert
Themenabgabe: 05. November 2004
Abgabetermin: 14. Februar 2005
Autorenreferat
FELDMANN, Eva: Detaillierte Analyse der technischen Grundlagen für Streaming-Videos
sowie vorhandener Streaming Protokolle; Berufsakademie Sachsen, Staatliche Studienakademie Dresden, Studienrichtung Medienproduktion, Studienarbeit, 2005.
58 Seiten, 18 Literaturquellen, 0 Anlagen
Ziel dieser Studienarbeit ist es, den Unterschied zwischen Streaming und Download in
Bezug auf die technischen Grundlagen zu erarbeiten. Bei dieser Analyse werden die
einzelnen allgemeinen Protokolle näher betrachtet und ihre Wirkung auf das Streaming von
Medieninhalten beschrieben. Die Vorteile des Streamings und die Streamingarten werden
dargestellt.
Dabei ist zu klären, wie die speziell entwickelten Streaming Protokolle auf die allgemeinen
Protokolle aufsetzen. Es werden die Einsatzgebiete dieser Protokolle und damit auch die des
Streamings erfasst.
Dafür werden nicht nur der Aufbau und die Wirkungsweise der allgemeinen Protokolle sondern
auch die der verschiedenen Streaming Protokolle analysiert. Die einzelnen Mechanismen
werden aufgeführt und erläutert. Auch die Rolle der Hauptanbieter für Streaming-Server wird
näher betrachtet.
Die detaillierte Analyse der technischen Grundlagen für Streaming-Videos sowie vorhandener
Streaming Protokolle ist Entscheidungsgrundlage beim Einsatz von Streaming-Protokollen. Die
Auswahl der geeigneten Protokolle fällt damit leichter und es kommt zu weniger Problemen bei
der Arbeit mit Streaming. Die Studienarbeit schafft eine solide Grundlage zur Betrachtung von
Streaming Media.
Inhaltsverzeichnis
Inhaltsverzeichnis
Seite
Verzeichnis der verwendeten Abkürzungen
6
1 Streaming
1.1 Warum Streaming?
1.2 Vorteile von Streaming
1.3 Streaming Komponenten
1.4 Unterschied progressives Herunterladen und Streaming
7
8
8
8
9
2 Streamingarten
2.1 Live-Streaming
2.2 On Demand Streaming – Video On Demand
10
10
11
3 Allgemeine Protokolle
3.1 ISO - OSI Referenzmodell
3.2 TCP / IP - Modell
3.2.1 Transportschicht
3.2.1.1 TCP
3.2.1.2 UDP
3.2.2 Anwendungsschicht
3.2.2.1 FTP
3.2.2.2 HTTP
3.2.2.3 HTTP - Streaming
3.2.2.4 Echtes Streaming
3.3 Vergleich HTTP und RTSP Streaming
12
12
16
18
18
21
22
22
22
23
24
25
4 Streaming Protokolle
4.1 RealTime Streaming Protokoll-Reihe
4.1.1 RTSP - RealTime Streaming Protocol
4.1.2 RTP - RealTime Transport Protocol
4.1.3 RTCP - RealTime Transport Protocol
26
28
28
33
36
4.1.4 RSVP - Resource Reservation Protocol
4.2 PNA - Progressive Network Audio
4.3 MMS - Microsoft Server Protocol
Technische Grundlagen
für Streaming-Videos
Seite 4 von 58
39
42
42
Eva Feldmann
Inhaltsverzeichnis
5 Unicast, Broadcast und Multicast
5.1 Unicast 48
5.2 Broadcast
5.3 Multicast
48
6 Schlussbetrachtung
52
7 Literaturverzeichnis
53
8 Tabellenverzeichnis
55
9 Abbildungsverzeichnis
56
10 Eidesstattliche Erklärung
58
Technische Grundlagen
für Streaming-Videos
49
50
Seite 5 von 58
Eva Feldmann
Abkürzungsverzeichnis
Verzeichnis der Verwendeten Abkürzungen
ACK
ASF
ASX
CSRC
CUDP
DRM
DVMRP
Acknoldge
Advanced Systems Format
ASF Stream Redirector File
Contributing Source List
Cyclic User Datagram Protocol
Digital Rights Management
Distance Vector Multicast
Routing Protocol
FTP
File Transfer Protocol
HTTP
HyperText Transfer Protocol
IETF
Internet Engineering Task Force
IP
Internet Protocol
ISO
International Standards Organisation
MBone Internet Muticast Backbone
MIME Multipurpose Internet Mail
Extensions
MMS
Microsoft Meda Server Protocol
MMST Microsoft Media Server
Protocol/ TCP
MMSU Microsoft Media Server
Protocol/ UDP
MOSPF Multicast Open Shortest Path First
MSBD Media Stream Broadcast Distribution
Protocol
MTU
Maximum Transmisson Unit
NAT
Network Adress Translation
NFS
Network File System
OSI
Open System Interconnection
PAR
Positive Acknowledgment with
Re-Transmisson
PIM
Protocol Independent Multicast
PNA
Progressive Networks Audio
PC
Personal Computer
Technische Grundlagen
für Streaming-Videos
QoS
RFC
RSVP
RTP
RTSP
RTCP
SDP
SID
SMIL
SMPT
SSRC
SYN
TCP
UDP
URL
WMA
WMF
Seite 6 von 58
Quality of Service
Request Independent Muticast
Resource Resercation Protocol
RealTime Transport Protocol
RealTime Streaming Protocol
RealTime Transport Control
Protocol
Streaming Download Project
Session Initiation Protocol
Synchronized Multimedia
Integration Language
Simpe Mail Transfer Protocol
Synchronisation Source List
Synchronous Idle
Transmission Control Protocol
User Datagram Protocol
Uniform Resource Locators
Windows Media Audio
Windwos Media Video
Eva Feldmann
1 Streaming
1 Streaming
Das Herunterladen eines 90-minütigen Films aus dem Internet, um im Anschluss festzustellen,
dass er nicht gefällt, ist wenig sinnvoll. Streaming bietet die Möglichkeit bereits während des
Downloads den Film abzuspielen. Es gewährt somit den schnellen Zugriff auf Audio, Video
und Multimediainhalte in Echtzeit oder auf Abruf über Internet sowie Intranet.
Einerseits können Ereignisse, welche in Bild und/ oder Ton aufgezeichnet werden in Echtzeit
übertragen werden. Diese Technik wird als Live-Streaming bezeichnet. Zum anderen ist der
Zugriff auf die vorher aufgezeichneten, im Streamingformat gespeicherten und im Internet
veröffentlichten Medien jederzeit möglich. Dies wird als Video On Demand bezeichnet. Beide
Möglichkeiten werden im nächsten Kapitel näher erläutert.
Die Streamingdaten werden über spezielle Media-Server übertragen und vom Client-Player
verarbeitet und wiedergegeben. Dieser kann mit der Wiedergabe beginnen, sobald er genügend
Daten empfangen hat und muss nicht warten, bis die gesamte Datei geladen ist. Die während
der Übertragung empfangenen Daten werden temporär in einem Puffer gespeichert, welcher
während des Abspielens immer wieder mit neuen Daten gefüllt wird. Die Client-Software
entnimmt im Takt die Daten aus dem Puffer. Dieser versagt nur, wenn die nachgeladene
Datenmenge immer geringer als die zum Abspielen benötigte ist. Die Software muss in diesem
Fall jedes ankommende Datenpaket sofort verarbeiten, der Film stockt und der Puffer muss erst
wieder aufgefüllt werden, bevor die Wiedergabe fortgesetzt werden kann.
Merkmal von echtem Streaming ist die Wiedergabe vor dem Abschließen der Datenübertragung,
die gestreamte Datei wird sofort und simultan empfangen, verarbeitet und wiedergegeben und
es verbleibt keine Kopie des Inhalts auf dem empfangenen Gerät. Damit bleibt das Urheberrecht
gewahrt, denn der Empfänger kann die Inhalte nicht in unberechtigter Weise verändern oder
weitergeben.
Der Anwender sowie das Publikum erhalten mit Streaming neue Möglichkeiten durch
die Zusammenführung aus Rundfunk/ Fernsehen und Rich Media (bewegte Anzeigen
usw.). Das Web-Erlebnis wird interaktiver. Streaming bietet interaktive Funktionen, wie
Kapitelzeitmarken, anklickbare Hot-Spots im Bild, URL-Flips, das automatische Öffnen von
Web-Seiten an bestimmten Punkten oder die Indizierung von Schlüsselwörtern.
Technische Grundlagen
für Streaming-Videos
Seite 7 von 58
Eva Feldmann
1.1 Warum Streaming?
1.1 Warum Streaming?
Sieben von zehn Internetnutzern finden Websites mit integrierten Audio- und/ oder Videoinhalten
ansprechender als ohne. Jeder vierte Nutzer sieht sich Audio- oder Video-Streamings an. Laut
einer Hewlett-Packard-Fallstudie sind nach der Integration von Streaming eine Rationalisierung
der Produkteinführung, die Verbesserung der Effektivität und Reichweite von Mitteilungen
sowie die Kostensenkung für wichtige Kommunikationen festzustellen.
Bisherige Einsatzgebiete von Streaming liegen in der firmeninternen Kommunikation,
elektronischen Schulungen sowie im Vertrieb und Marketing.
Sinnvoll sind verschiedene Erweiterungen im Einsatz, wie das Senden von E-Broadcasts an das
gesamte Unternehmen, Fernpräsentationen für Mitarbeiter, Kunden und Partner, Schulungen
zur Verbesserung, Entwicklung und Vermittlung von Personalpolitik, Produktvorführungen
sowie Kundendienst.
1.2 Vorteile von Streaming
Das Ende des Downloads muss nicht abgewartet werden. Multimediadaten müssen nicht auf die
Festplatte kopiert bzw. heruntergeladen werden. Somit verbleibt dabei keine dauerhafte Kopie
der Inhalte auf dem PC des Betrachters. Die Bedenken der Urheberrechtsverletzung werden
damit verringert. Streaming ermöglicht zusätzlich die Übertragung von Live-Ereignissen
nahezu in Echtzeit. Außerdem unterstützt es Interaktivität wie z.B. Kapitelzeitmarken bei
Video On Demand. Somit können statische Websites für das Publikum interessanter werden.
1.3 Streaming Komponenten
Für die Erstellung, Einbindung und Wiedergabe von Streamings sind drei Komponenten
notwendig. Zum einen ist der Encoder, eine Software die Media-Daten komprimiert erforderlich.
Als Authoring-Werkzeug vereint dieser die Audio-Spuren, erstellt Untertitel, anklickbare
URLs und vieles mehr. Der Server, ob als normaler Webserver oder Streaming-Server, stellt die
Encoding Ergebnisse ins Netz. Die Client-Software baut den Kontakt zum Server auf, empfängt
Daten, dekomprimiert sie und spielt diese ab.
Technische Grundlagen
für Streaming-Videos
Seite 8 von 58
Eva Feldmann
1.4 Unterschied progressives Herunterladen und Streaming
1.4 Unterschied progressives Herunterladen und Streaming
Progressives Herunterladen
Streaming
Progressives Herunterladen (auch PseudoStreaming oder Fast-Start-Streaming bei
QuickTime genannt);
Streaming (auch als echtes Streaming bezeichnet);
Beginn der Wiedergabe, während restlicher
Inhalt noch heruntergeladen wird;
Beginn der Wiedergabe, während restlicher Inhalt
noch heruntergeladen wird;
Sofortiges Sehen und Hören nur wenn
Ladegeschwindigkeit mit erforderlicher Rate
aufrechterhalten wird;
Anpassung an Übertragungsgeschwindigkeit
möglich;
Verbindung stockt oder verlangsamt, Audio und
Video nicht immer synchron;
Mediadatei (Kopie des Inhaltes) auf
Empfangsgerät gespeichert;
Es verbleibt keine Kopie des Inhaltes auf dem
Empfangsgerät (Urheberschutz);
Download kann abgebrochen werden
andere Architektur der Inhalte;
Inhalte können nur kontinuierlich von Anfang bis
Ende betrachtet werden;
höhere Interaktivität;
Inhalte durchsuchbar;
Vor- und Rückspulen;
On Demand oder Live-Streaming in Echtzeit;
Daten auf normalen Webserver bereitgestellt;
Streaming-Media-Server;
keine Anpassung der Übertragung an Verbindungsgeschwindigkeit möglich;
mehrere Versionen kodiert für unterschiedliche
Datenrate;
manuelle Auswahl geeigneter Version, anhand
Standardeinstellung des Browsers oder bezüglich
Verbingsungsgeschwindigkeit automatisch Version
auswählen;
bessere Medien-Server und Client-Software passen
Stream dynamisch an Verbindungs-geschwindingkeit
an;
Übertragung über TCP;
neue angepasste Übertragungsprotokolle;
Kommunikation zwischen Clients und Server;
Software-Lösung für Streaming-Server wechselt zu
HTTP-Streaming, wenn Firewall echtes Streaming
verhindert
Technische Grundlagen
für Streaming-Videos
Seite 9 von 58
Eva Feldmann
2 Streamingarten
2 Streamingarten
2.1 Live-Streaming
Live-Streaming lässt sich wie ein Fernsehprogramm oder ein Radiosender verstehen. Diese
beiden sind auch die Hauptanwendungen des Live-Streamings. Hierbei wird der Datenstrom
kontinuierlich ausgestrahlt. Dem Benutzer ist es nicht möglich, diesen zu steuern. Er hat keine
interaktiven Möglichkeiten, da die Abfolge der Medieninhalte serverseitig festgelegt ist. Dabei
ist dem Client die Länge und das Ende der Daten zu Beginn der Übertragung nicht bekannt.
Live-Streaming ermöglicht kleinen Sendern oder Privatpersonen Daten weltweit zu übertragen.
Der Nutzer erhält die Möglichkeit Informationen zu empfangen, die sonst nur mit erheblich
größerem Aufwand oder gar nicht empfangen werden können.
Das Live-Streaming unterteilt sich noch einmal in zwei Arten. Einerseits gibt es den geplanten
Webcast, auch als „Streaming Broadcast“ bezeichnet. Dabei werden archivierte Inhalte über
eine nur während des Webcasts gültige URL versendet. Der Host beginnt zu einem festgelegten
Zeitpunkt mit dem Stream und sendet dann von Anfang bis Ende. Die Zuschauer können erst
nach einem festgelegten Startzeitpunkt auf den Stream zugreifen.
Die zweite Variante wird als „Live Webcast“ oder manchmal auch als „Live-Live Cast”
bezeichnet. Live-Inhalte werden sofort per Streaming gesendet. Wie beim geplanten Webcast
sieht jeder die selben Inhalte im selben Moment. Es können beim „Live Webcast“ aber auch
Teile der Präsentation vorab aufgezeichneter Streams und andere interaktive Teile z.B. Chats,
Diskussionen sein.
Einsatzgebiete
Geplanter Webcast
- Konzertübertragungen
- Auktionen/ Ausstellungen
Live-Live Cast
- Internet-Radio
- Internet-TV
- Sponsoring/ Werbung
- Konferenzen
Technische Grundlagen
für Streaming-Videos
Seite 10 von 58
Eva Feldmann
2.2 On Demand Streaming - Video on Demand
2.2 On Demand Streaming – Video On Demand
Beim Video On Demand werden die Medieninhalte auf einem Server hinterlegt und eine
Benutzerschnittstelle geschaffen, z.B. ein Hyperlink auf einer Website. Der Benutzer kann
die für ihn interessanten Medieninhalte aussuchen und vom Server anfordern. Der daraufhin
angestoßene Datenfluss kann von ihm gesteuert werden. Die Wiedergabe basiert auf der
Pufferung einer fixen Datenmenge. Springt der Konsument zu einem anderen Abschnitt,
muss der Puffer neu gefüllt werden. Dieses geschieht im gleichen Zeitintervall wie am
Übertragungsanfang. Mehrere Anwender können den selben Stream abrufen und gleichzeitig
auf unterschiedliche Teile des Inhaltes zugreifen.
Ein weiteres Anwendungsgebiet ist der Pay per View. Der Anwender zahlt im Gegensatz zum
klassischen Rundfunkt nur das, was er wirklich sehen will und sieht. Bei einer Art „virtueller
Videothek“ wählt der Konsumer den Film aus, den er sehen möchte. Nach dem Bezahlen des
Entgelds wird der Film auf dem Streaming-Server freigeschaltet. Dafür sind einfache und sichere
Zahlungssysteme im Internet notwendig. Außerdem muss die Kapazität des Betreiberservers
die Anfragen bearbeiten können und die Netzwerkleistung muss sicherstellen, dass Daten beim
Kunden zuverlässig und qualitativ hochwertig ankommen.
Streaming kann nicht nur für den Download von Mediadaten wie Video und Audio genutz
werden sondern auch für die Software-Lizensierung und -ausbringung. Dabei wählt der
Anwender die gewünschte Software aus. Die Installationsdatei wird mittels eines Streams
übertragen und ausgeführt. Durch die Pufferung der Daten befindet sich nach Abschluss
der Installation die Software auf dem PC des Anwenders, aber keine Installationsdatei. Die
Weitergabe der Software an Dritte wird damit eingedämmt. Um diesen Bereich von Streaming
besser nutzen zu können, sind auch hier sichere Lizenzierungs- und Bezahlungsmechanismen
notwendig. Außerdem muss verhindert werden, dass nach Computercrashs der Anwender die
Software erneut erwerben muss.
Weitere Einsatzgebiete
- E-Commerce
- Produkt- und Firmendarstellungen durch Audio, Video und Text
- Schulung
- Image Videos
Technische Grundlagen
für Streaming-Videos
Seite 11 von 58
Eva Feldmann
3 Allgemeine Protokolle
3 Allgemeine Protokolle
Das Internet besteht aus vielen unterschiedlichen Arten von Computer-Plattformen, welche über
eine große Ansammlung unterschiedlicher Kommunikationsmedien miteinander verbunden
sind. Protokolle sind eine Reihe von Standards, die definieren wie Informationen übertragen
werden oder Teilnehmer untereinander kommunizieren.
Zur Einordnung der Netzwerkprotokolle wird meist das OSI Referenzmodell genutzt. Für
das Internet wurde das TCP/ IP-Modell entwickelt. Beide Protokoll-Modelle werden in den
nächsten Kapiteln erläutert.
3.1 ISO – OSI Referenzmodell
Das OSI Schichtenmodell (Open System Interconnection) der International Standards
Organisation (ISO) wird zur Beschreibung der Funktionsweise bzw. zur Realisierung von
Netzwerkprotokollen verwendet. Es stellt keine Implementationsspezifikation dar, sondern einen
formalen Standard zur Beschreibung vorhandener Architekturen sowie einen konzeptionellen
Rahmen zur Entwicklung neuer Protokolle. Das Modell ist aufgeteilt in 7 Schichten (Layers).
7
Anwendungsschicht
6
Darstellungsschicht
5
Kommunikationssteuerungsschicht
4
Transportschicht
3
Vermittlungsschicht
2
Sicherungsschicht
1
Bitübertragungsschicht
(Application Layer)
(Presentation Layer)
(Session Layer)
(Transport Layer)
(Network Layer)
(Datalink Layer)
(Physical Layer)
Abb.: 3.1-1 OSI Referenzmodell
Technische Grundlagen
für Streaming-Videos
Seite 12 von 58
Eva Feldmann
3.1 ISO - OSI Referenzmodell
Die hierarchische Schichtenanordnung bewirkt eine Reduktion der Komplexität der
Kommunikation. Jede Schicht bietet Dienste an, welche vollkommen unabhängig von der
Implementation der übrigen Schichten sind. Die Import- und Exportparameter sowie die
Schnittstellendefinition müssen den benachbarten Schichten bekannt sein.
Die Schichten 1-3 betreffen Protokolle für die Kommunikation zwischen direkt benachbarten
Einrichtungen während der Übertragung, die Schichten 4-7 die der von End- zu Endpunkt.
Die Vorteile des Schichtenmodells sind, dass die Probleme der technischen Entwicklung auf
einzelne Schichten beschränkt werden, so dass Neuimplementierungen separat für jede Schicht
vorgenommen werden und Probleme individuell gelöst werden können.
Bei der Übermittlung eines Datenpaketes über ein Netzwerk (siehe Abb.: 3.1.2) durchläuft
dieses beginnend von der Anwendungsschicht nacheinander alle Schichten bis zur
Bitübertragungsschicht. Auf Empfängerseite erfolgt die Prozedur in umgekehrter Reihenfolge.
Zwischen den zwei entsprechenden Schichten auf Sender- und Empfängerseite besteht eine
Art Pseudoverbindung. Die Sicherungsschicht des Sender versieht die Daten mit zusätzlichen
Fehlerkorrekturbits. Die entsprechende Empfängerschicht wertet diese Bits aus und trennt diese
von den eigentlichen Daten.
Technische Grundlagen
für Streaming-Videos
Seite 13 von 58
Eva Feldmann
3.1 ISO - OSI Referenzmodell
Empfänger
Sender
7
Anwendungsschicht
7
Anwendungsschicht
6
Darstellungsschicht
6
Darstellungsschicht
5
Kommunikationssteuerungsschicht
5
Kommunikationssteuerungsschicht
4
Transportschicht
4
Transportschicht
3
Vermittlungsschicht
3
Vermittlungsschicht
2
Sicherungsschicht
2
Sicherungsschicht
1
Bitübertragungsschicht
1
Bitübertragungsschicht
Abb.: 3.1-2 Weg eines Datenpaketes im Referenzmodell
Die einzelnen Schichten sind folgendermaßen definiert:
1 Bitübertragungsschicht
Diese Schicht definiert die physikalischen Eigenschaften der Übertragungswege,
z.B. Telefonkabel, Koaxialkabel, Lichtwellenleiter usw..
2 Sicherungsschicht
Sie sorgt für eine fehlerfreie Übertragung der empfangenen/ gesendeten Daten.
Ihre Aufgabe ist die Erkennung und Vermeidung von fehlerhaften Datenpaketen.
3 Vermittlungsschicht
Diese dient zur Verwaltung zwischen höheren Schichten und den Rechnern im
Netzwerk. Die Verbindungen können verbindungslos oder verbindungsorientiert
sein. Die Vermittlungsschicht kümmert sich um die Wegewahl im Netz.
4 Transportschicht
Jene Schicht ist für die Verbindungsqualität verantwortlich
(Quality of Service, QoS) z.B. Datendurchsatz, Fehlerwahrscheinlichkeit usw..
Technische Grundlagen
für Streaming-Videos
Seite 14 von 58
Eva Feldmann
3.1 ISO - OSI Referenzmodell
5 Kommunikationssteuerungsschicht
Sie verwaltet den Dialog zwischen den zwei Anwendungen dazu gehört der Aufund Abbau der Verbindung und die Art des Dialoges (Voll- bzw. Halbduplex).
6 Darstellungsschicht
Die Darstellungsschicht ist für Syntax der Daten, wie Format (Komprimierung)
und Kodierungsart (Zeichensatz, Verschlüsselung) zuständig.
7 Anwendungsschicht
Diese Schicht definiert die Kommunikationsschnittstellen für die Anwendungen,
die darauf zugreifen. Um das Netz zu nutzen sind die Anwendungen meist
herstellerspezifisch.
Die folgende Abbildung zeigt die relative Lage der Streaming-Protokolle innerhalb des OSI
Referenzmodells.
7
RTSP
HTTP
RTP/RTCP
Cyclic UDP
6
5
4
TCP
UDP
3
IP
2
Sicherungsschicht
1
Bitübertragungsschicht
RSVP
Abb.: 3.1-3 Zuordnung der Streaming-Protokolle ins OSI Referenzmodell
Technische Grundlagen
für Streaming-Videos
Seite 15 von 58
Eva Feldmann
3.2 TCP/ IP Modell
3.2 TCP/ IP Modell
Der Unterschied zum OSI Modell liegt hauptsächlich in der Entwicklungszeit, in der das OSI
Referenzmodell noch nicht existierte. Das TCP/ IP Modell besteht nur aus 4 Schichten, da
einige Schichten des OSI Referenzmodell zusammenfallen.
7 Anwendungsschicht
4
Anwendungsschicht
3
Transportschicht
2
Internetschicht
1
6 Darstellungsschicht
5 Kommunikationssteuerungsschicht
(Application Layer)
4 Transportschicht
(Transport Layer)
3 Vermittlungsschicht
(Internet Layer)
Netzzugangsschicht
2
(Network Access Layer)
Sicherungsschicht
1 Bitübertragungsschicht
Abb.: 3.2-1 Zuordnung des OSI Referensmodells zum TCP/ IP Modell
1 Netzzugangsschicht
Diese nicht genau spezifiziert Schicht ist verantwortlich für den Transport von
IP-Datengramme durch das Netzwerk. Sie gibt an, wie die Übertragung im Detail
zu erfolgen hat. Zum Einsatz kommen Protokolle wie z.B. X.25 oder Ethernet.
2 Internetschicht
Wenn die Paketlänge, die durch die Maximum Transmission Unit (MTU) festgelegte
Länge von Datenpaketen (Datengramme) übersteigt, übernimmt die Adressierung
und Fragmentierung das Internet Protokoll (IP).
3 Transportschicht
Es können zwei verschiedene Protokolle zum Einsatz kommen, das
Transmission Control Protocol (TCP) verbindungsorientiert mit Fehlerkorrektur
oder User Datagram Protocol (UDP) verbindungslos nur mit Fehlererkennung.
Die Aufgabe beider ist der Aufbau von Host to Host (End zu End) Verbindung.
Technische Grundlagen
für Streaming-Videos
Seite 16 von 58
Eva Feldmann
3.2 TCP/ IP Modell
4 Anwendungsschicht
Diese stellt die Anwendungssoftware bereit, wie z.B. FTP, TELNET, SMPT usw.;
Sie ist eine Schnittstelle zum Benutzer.
Telnet
FTP
SMPT
Name Server
TCP
NFS
UDP
Internet Protocol
X.25
Ethernet
Token Ring
Abb. 3.2-2: Architekturbeispiel
Die Abbildung 3.2-2 zeigt ein mögliches Architekturbeispiel des TCP/ IP Modells. Für jede
Schicht gibt es mehrere Möglichkeiten.
Technische Grundlagen
für Streaming-Videos
Seite 17 von 58
Eva Feldmann
3.2.1 Transportschicht
3.2.1 Transportschicht
3.2.1.1 TCP - Transmission Control Protocol
Das Transmission Control Protocol (TCP) ist ein verlässliches (reliable) und verbindungsorientiertes (connection oriented) Bytestrom Protokoll. Das positive Acknowledgment with
Re-Transmission (PAR) sorgt für eine fehlerfreie Datenübermittlung. Das Protokoll ist mehr
auf Software konzentriert. Es sichert das Senden, Zustellen und korrekte Zusammensetzen.
Für die Optimierung der Netzwerkbandbreite steuert es den Informationsfluss dynamisch und
verlangsamt ihn bei Überlastung des Netzwerkes.
Vor jedem Datenpaket hängt ein Header (mind. 20 Byte großer Protokollkopf), welcher aus
mehreren Datenfeldern mit für den Empfänger relevanten Informationen besteht.
1
4
8
12
16
24
20
28
32
Empfänger-Port
Sender-Port
Sequenznummer
Quittungsnummer
Datenabstand Reserviert
U A F R S F
R C S S Y I
G K H T N N
Fenstergröße
Dringend-Zeiger
Prüfsumme
Optionen
Füllzeichen
Abb. 3.2.1.1-1: Aufbau TCP-Header
Die in der Abbildung 3.2.1.1-1 einzelnen Felder haben folgende Bedeutung:
Sender-Port/ Empfänger-Port
Adressierung der Endpunkte der Verbindung
Sequenznummer/ Quittungsnummer
Angabe der Position der Daten des Segments innerhalb des Datenstroms.
Die Sequenznummer gibt die Nummer des zuletzt gesendeten und die
Quittungsnummer des nachfolgenden Datenpaketes an.
Datenabstand
Länge des Headers bzw. den Anfang der Daten im Segment
URG, ACK, PSH, RST, SYN, FIN
1-bit Flags, aktivieren bestimmte Aktionen im Protokoll
Technische Grundlagen
für Streaming-Videos
Seite 18 von 58
Eva Feldmann
3.2.1.1 TCP - Transmission Control Protocol
Fenstergröße
Anzahl der empfangbaren Bytes ab dem bereits bestätigten Byte
Dringend-Zeiger
Zeiger auf wichtige Daten innerhalb des Datenstroms
Optionen
Optional für extra Funktionen die im normalen TCP-Protokollkopf nicht
vorhanden sind
Die Datenpakete mit Header und Nutzdaten werden als Segmente bezeichnet. Jedes Segment
verfügt über eine Prüfsumme, um dem Empfänger die Fehleranalyse zu ermöglichen. Der
Empfänger bestätigt korrekt empfangene Segmente mit einem Segment. Dieses hat die
Funktion einer Quittung. Wenn die Quittung des Empfängers den Sender nicht in einer
festgelegten Zeitperiode erreicht, werden die nicht korrekt übermittelten Segmente erneut
übertragen. Dadurch kann es zu Mehrfachübertragungen kommen. Dies hat keine negativen
Auswirkungen, da anhand der eindeutigen Sequenznummer für jedes Segment Duplikate
ermittelt und vernichtet werden.
TCP ist außerdem verantwortlich für die Weiterleitung der empfangenen Daten an die
entsprechende Anwendung mittels der Portnummer, welche im Empfänger-Port des TCPHeaders vermerkt ist. Bei der Größe von 16 Bit ist eine Anzahl von 65.535 verschiedener
Portnummern möglich. Für wichtige Anwendungen sind die Portnummern nach RFC 100
standardisiert z.B. FTP = 21, Telnet = 23 usw. Durch die Portnummer und die IP-Adresse kann
ein Anwendungsprozess eindeutig angesprochen werden. Diese Kombination wird als Socket
bezeichnet.
Der Aufbau einer logischen Verbindung zwischen Sender und Empfänger erfolgt über den
sogenannten „Three way handshake“. Zum Verbindungsaufbau wird ein erstes Segment ohne
Nutzdaten vom Sender an den Empfänger übermittelt. Es enthält die Sequenznummer, mit
welcher die Verbindung startet.
Das SYN-Flag wird gesetzt und zeigt den Verbindungsaufbauwunsch an. Der Empfänger sendet
ein Segment mit gesetzten SYN- und ACK-Flag zur Bestätigung des Verbindungsaufbaus. Dieses
Segment enthält außerdem eine vom Empfänger vergebene Sequenz- und Quittungsnummer,
welche der um eins erhöhten Sequenznummer des Senders entspricht.
Technische Grundlagen
für Streaming-Videos
Seite 19 von 58
Eva Feldmann
3.2.1.1 TCP - Transmission Control Protocol
Sender
Seq=x
Seq=y
Seq=x
SYN=1
x+1
ACK=
+1 ACK
=y+1
=1
1 ACK
SYN=
Empfänger
Der Sender bestätigt dieses Segment nach dem Empfang wieder, diese Bestätigung darf
bereits Nutzdaten enthalten. Bei diesem Segment ist nur noch das ACK-Flag gesetzt
und das Sequenznummern-Feld enthält die Quittungsnummer des Empfängers und im
Quittungsnummern-Feld die um eins erhöhte Sequenznummer des Empfängers.
ACK=1
Abb. 3.2.1.1-2: Verbindungsaufbau über „Three way handshake“
Der Datenaustausch findet über das „Sliding Window“ Prinzip statt. Dabei versendet der Sender
an den Empfänger so viele Bytes, wie im Fenstergrößen-Feld im TCP-Header angegeben sind.
Er wartet vor dem Senden der nächsten Bytes auf die Bestätigung des Empfängers. Nach der
erfolgreichen Datenübermittlung wird die Verbindung wieder getrennt.
Diese Trennung geschieht mittels des „Three way handshake“ analog zum Verbindungsaufbau.
Der Rechner, der die Verbindung trennen will, sendet an den anderen Rechner ein Segment
mit gesetzten FIN- und ACK-Flag. Alle bis zu diesem Zeitpunkt empfangenen Daten werden
bestätigt. Der andere Rechner sendet nach Erhalt ein Segment, wo er auch die bis dahin
empfangenen Daten quittiert und FIN- und ACK-Flag setzt. Bestätigt der zur Trennung
auffordernde Rechner dieses durch ein ACK-Flag, wird die Verbindung abgebaut.
Technische Grundlagen
für Streaming-Videos
Seite 20 von 58
Eva Feldmann
3.2.1.2 UDP - User Datagram Protocol
3.2.1.2 UDP - User Datagram Protocol
Auch das User Datagram Protocol (UDP) gehört zur Transportschicht. Es handelt sich um ein
verbindungsloses, unzuverlässiges Protokoll und ist in RFC 768 definiert. Es heißt unzuverlässig,
weil das Protokoll nicht den Empfang der Daten garantiert. Erreichen die Daten den Empfänger,
kann aber deren Korrektheit mittels Prüfsumme überprüft werden. Ist die Prüfung negativ, sind
die Daten verloren, da sie kein zweites Mal gesendet werden.
Der UDP-Header enthält die Informationen zur Adressierung der richtigen Sender- und
Empfänger-Prozesse. Dabei gibt er die UDP-Länge, die gesamte Länge inklusive UDP-Header
an. Die Prüfsumme ist optional. Wird auf sie verzichtet, steht im entsprechenden Feld eine Null
und es findet keine Überprüfung statt.
1
4
8
12
16
20
24
28
Sender-Port
Empfänger-Port
UDP-Länge
UDP-Prüfsumme
32
Abb. 3.2.1.2-1: Aufbau UDP-Header
Die gute Effizienz des Protokolls prädestiniert es für die Audio- und VideodatenÜbermittlung. Hierbei kommt es meist weniger auf die korrekte Datenübermittlung sondern
vielmehr auf die Schnelligkeit an. Eine bestimmte Anzahl der Segmente muss jedoch korrekt
übertragen werden, sonst wird die Verbindung wegen der schlechten Übertragungsqualität
unterbrochen. Ein weiteres Einsatzgebiet ist die Übermittlung kleiner Datenmengen, für die
der Verbindungsaufbau mittels „Three way handshake“ zu aufwendig ist. Der Verlustanteil des
Gesamtdatenstroms ist durch den nur 8 Bytes großen UDP-Header sehr gering.
Speziell für die Übertragung von Audio- und Videodaten wurde Cyclic UDP (CUDP)
entwickelt. Es besteht aus einer Auswertung, welche die Mediendaten speziell nach ihrer
Relevanz sortiert und entsprechend der Priorität neu ordnet. Die Übertragungskomponente
regelt die Übertragung anhand dieser Priorität. Sie enthält einen Kontrollmechanismus für den
Datenstrom und eine spezielle Fehlerkorrektur.
Technische Grundlagen
für Streaming-Videos
Seite 21 von 58
Eva Feldmann
3.2.2 Anwendungsschicht
3.2.2 Anwendungsschicht
3.2.2.1 FTP - File Transfer Protocol
Das File Transfer Protocol (FTP) ist ein sehr effizientes Protokoll zur Datenübertragung zwischen
zwei Geräten. Es ist nicht auf das Internet angewiesen. Es wird für sehr unterschiedliche Zwecke
eingesetzt, da es den Download fast jeden Dateityps ermöglicht. Das Hauptanwendungsgebiet
ist die Übertragung von Web-Seiten zum Webserver.
3.2.2.2 HTTP - HyperText Transfer Protocol
Das HyperText Transfer Protocol (HTTP) dient der Übertragung von Hypertext Dateien im
Internet. Hypertext wurde von Ted Nelson in den 60er-Jahren erfunden. Es ist heutzutage ein
Standard für Webinhalte. Web-Seiten bestehen meist aus Hypertext Dateien. Hypertext ist
ein Datenbanksystem, welches zusammengehörige Objekte (Text, Bilder, Musik, Video usw.)
verknüpft. Die Informationen können nicht linear abgerufen werden. Aufgrund der Interaktivität
des Hypertextes wird ein Zweiwegekommunikationsprotokoll (Anfrage-Antwort-Protokoll)
benötigt. Dieses dient zur Kommunikation des Empfängers über das Netzwerk, um URLs
(Uniform Resource Locators) für Objekte aufzurufen, mit denen der Hypertext verknüpft ist.
Nach einem Verbindungsaufbau können mehrere unterschiedliche Nachrichten nacheinander
oder parallel gesendet werden. Alle Anfrage- und Antwortnachrichten enthalten vier
Komponenten. Die initiierende Anfrage-/ Antwortzeile besteht für eine Anfrage aus einem
Methodennamen, dem Lokalistionspfad eines Objektes und der Version des Protokolls und für
eine Antwort aus einem Statuscode und einer Beschreibung des Statuscodes. Der initiierten
Zeile kann eine optionale Zeile folgen, die Informationen der Anfrage bzw. Antwort enthält.
Der optionale Mitteilungsteil enthält Parameter oder Lokalisationsparameter zur übertragenen
Datei.
Technische Grundlagen
für Streaming-Videos
Seite 22 von 58
Eva Feldmann
3.2.2.3 HTTP-Streaming
3.2.2.3 HTTP-Streaming
Dateien die im Streaming-Media-Format codiert wurden, können auch von einem
herkömmlichen Webserver bereitgestellt werden. Dieses sogenannte HTTP-Streaming (oder
auch als Pseudo-Streaming, Webserver-Streaming, von QuickTime als Fast-Start-Streaming
bezeichnet) erlaubt im Gegensatz zu dem traditionellen Herunterladen die Wiedergabe der
Datei, vor dem kompletten Herunterladen.
Dem Endanwender ist es möglich, die Datei schon während des Downloads des restlichen Inhalts
anzusehen oder ihn abzubrechen. Das HTTP-Streaming ist eine Variante des progressiven
Herunterladens. Dabei wird eine im Cache gespeicherte Kopie der Medieninhalte erzeugt. Es
kann nicht verhindert werden, dass der Anwender die Datei auf seine Festplatte speichert.
Der Vorteil dieser Form des Streamings liegt darin, dass die Streaming-Media-Dateien über
Firewalls hinweg übertragen werden können. Deshalb bieten spezielle Software-Lösungen für
Streaming-Server die Möglichkeit zu HTTP-Streaming zu wechseln, wenn echtes Streaming
von einer Firewall verhindert wird.
Der Webserver übernimmt den Transport der Daten über das HTTP-Protokoll. Es wird zunächst
das Video geladen, dann dargestellt. Dies bedeutet für den Webserver für die Aufbewahrung
und Darstellung eine große Belastung. Deshalb ist es besser, wenn häufig angezeigte Files auf
separaten Streaming-Server ausgelagert werden.
Die Protokolle HTTP und FTP sind nicht für echtes Streaming geeignet, denn sie setzen auf
TCP auf, welches die erneute Übertragung verlorener oder beschädigter Daten sicherstellt. Die
Audio- und Videoinhalte kommen intakt an, aber die Zuverlässigkeit des Protokolls ist für
progressives Herunterladen ein Problem. Die Neuübertragung verlorener oder beschädigter
Daten kann die Wiedergabe unterbrechen.
HTTP und FTP sind zwei zuverlässige Protokolle für die Datenübertragung, können aber
nicht für echtes Streaming eingesetzt werden. Durch die Fehlerkorrektur wird der Zeitbezug
zwischen Video- und Audiopaketen zerstört. Das Herunterladen eines Ein-Minuten-Filmes
kann eine Sekunde, eine Minute oder eine Stunde dauern, je nach Dateigröße und Verbindungsgeschwindigkeit. Die Informationen können nicht linear abgerufen werden.
Technische Grundlagen
für Streaming-Videos
Seite 23 von 58
Eva Feldmann
3.2.2.3 HTTP-Streaming
Um Videos auf einem Webserver bereit zu stellen, muss dieser in seiner Konfiguration die
folgenden MIME-Types und die entsprechenden Datei-Endungen enthalten.
audio/x-pn-realaudio
audio/x-pn-realaudio-plugin
video/quicktime
video/x-ms-asf
ra, ram
rpm
qt, mov
asf, asx
3.2.2.4 Echtes Streaming
Streaming-Inhalte brauchen eine andere Architektur als herunterladbare Medien. Sie müssen
eine höhere Interaktivität über das Web unterstützen und haben weitere Vorzüge wie zum
Beispiel das Durchsuchen, Vor- sowie Zurückspringen in den Inhalten. Dies ist beim
progressiven Download nicht möglich, dabei muss die Datei von Anfang bis Ende betrachtet
werden. Beim Video On Demand wie beim Live-Streaming (Kapitel 2.1 und 2.2) können
Inhalte in Echtzeit über das Web übertragen werden.
Beim progressiven Herunterladen vom Webserver gibt es keine Anpassung der Verbindungsgeschwindigkeit an unkontrollierbare Schwankungen. Echtes Streaming nutzt dagegen
neue Web-Übertragungsprotokolle (siehe Kapitel 4), welche auf die zeitliche Abfolge der Pakete
achten.
Die Kommunikationstechniken zwischen Clients und Server ermöglichen eine kontinuierliche
Wiedergabe synchronisierter Klänge und Bilder in Echtzeit. Die Streaming-Media-Dateien
werden meist in mehreren Versionen kodiert und die Datenraten optimiert.
Der Streaming-Server liefert die geeignete Version entweder durch die manuelle Auswahl
des Endanwenders, die Standard-Einstellung des Browsers, oder ausgewertete Informationen
vom Client ermöglichen eine automatische Anpassung. Je nach der Intelligenz von Server und
Client-Software kann der Stream dynamisch an beiden Enden angepasst werden, wenn die
Verbindungsgeschwindigkeit sinkt.
Einige Vorteile der Nutzung spezieller Streaming-Server:
Effizientere Nutzung der Netzwerkbandbreite
Bessere Audio- und Videoqualität
Fortschrittliche Funktionen wie detaillierte Berichterstellung
Unterstützung für viele Anwender
Technische Grundlagen
für Streaming-Videos
Seite 24 von 58
Eva Feldmann
3.3 Vergleich HTTP-Streaming und RTSP Streaming
3.3 Vergleich HTTP-Streaming und RTSP Streaming
HTTP-Streaming bietet keine wirkliche Alternative zum echten Streaming. In dieser
Tabelle sind die wesentlichen Unterschiede der beiden Streaming-Methoden noch einmal
gegenübergestellt.
Vorteile
HTTP-Streaming
Echtes Streaming
+ keine zusätzl. Serversoftware nötig
+ Live-Streaming möglich
+ Inhalte werden unabhängig von der
Verbindungsgeschwindigkeit sicher
übertragen
+ Broadcast und Multicast möglich
+ Gute Verbindungsgeschwindigkeit
ermöglicht, dass Inhalte gleich schnell
wie beim echten Streaming
empfangen werden
+ Benutzt nur soviel Bandbreite, wie
es braucht
+ Verlorene Pakete werden so lange neu
gesendet, bis sie korrekt empfangen
wurden
+ Keine Probleme mit Firewalls
oder NAT
Nachteile
+ Es wird nur wenig Festplattenkapazität beim Benutzer benötigt
+ Die Urheberrechte können
geschützt werden
+ Der Benutzer kann an jede
beliebige Stelle des Inhalts
springen
-
Keine Unterstützung von Broadcast
und Multicast
-
Benötigt einen Streaming Server
oder/ und Broadcast
-
Kein Live-Streaming
-
-
Der Benutzer kann im Inhalt nicht
hin- und herspringen, er muss vorher
die gesamte Datei herunterladen
Übertragung bricht ab, wenn nicht
genügend Bandbreite zur
Verfügung steht
-
Keine Fehlerkorrektur – verlorene
Pakete sind verloren
-
Funktioniert nicht mit NAT und
Firewalls
-
Es wird eine lokale Kopie gespeichert
-
Kein Schutz der Urheberrechte
Tabelle. 3.3-1: Vergleich HTTP- und echtes Streaming
Technische Grundlagen
für Streaming-Videos
Seite 25 von 58
Eva Feldmann
4 Streaming Protokolle
4 Streaming Protokolle
Streaming Protokolle ermöglichen die Übertragung der Daten in Echtzeit. Die Daten liegen
dazu auf einem speziellen Streaming-Server. Hauptanbieter für diese Server sind die Firmen
Real, Apple und Microsoft, welche auf unterschiedlichen Protokollarten basieren und meist
nur diese unterstützen. In den nachfolgenden Abschnitten werden die einzelnen Protokollarten
näher erläutert.
Die Streaming Protokolle bieten verschiedene Mechanismen. So können einzelne End-anwender
oder bestimmte Web-Konferenzteilnehmer spezifische Streams von einem oder mehreren
Servern aufrufen, spezifische Transporttypen ein oder mehrere Ziele für die Zustellung der
Daten angeben. Es ermöglicht Ihnen auch Informationen zu den Daten in formatspezifischer
Art zu erhalten und die Zustellung der Daten starten, stoppen, unterbrechen sowie zufällig auf
bestimmte Teile der Daten zuzugreifen (nicht möglich z.B. beim Live-Streaming).
Das Diagramm zeigt das Aufsetzen der einzelnen Protokolle am Vergleich von HTTPStreaming und echten Streaming am Beispiel der RealTime Protokoll-Reihe:
Browser
Anzeige / Wiedergabe
Media Player
HTTP
Interaktivität
RTSP
TCP
Transport
RTP/ UDP
IP
Routing
IP
Physikalischer Anschluss
Netzwerk
Physikalischer Anschluss
Abb. 4-1: Protokollvergleich von HTTP- und echten Streaming
Technische Grundlagen
für Streaming-Videos
Seite 26 von 58
Eva Feldmann
4 Streaming Protokolle
Die RealTime Protokoll-Reihe bietet einen offenen Standard, der keinem Schutz unterliegt und
daher als Schnittstelle für Server und Player verschiedener Hersteller dient. RealNetworks und
Apple nutzen das RealTime Streaming Protokoll in ihren Programmpaketen RealSystem und
QuickTime.
In der Praxis wird damit der Datentransport, die Steuerung der Wiedergabe, die Wahl zwischen
den verschiedenen SureStreams und die Übermittlung der Clipinformationen sowie die
Authentifizierung realisiert.
Streaming-Server und unterstützte Protokolle im Überblick
Name
Protokolle
UDP
RTP
Bemerkungen
RTSP
HTTP
SDP
MMS
Apple Darwin
X
X
X
?
X
---
kostenlos
Apple Quicktime
X
X
X
X
?
---
kostenlos, nur für
Mac OS X Server
Real Server
X
X
X
X
---
---
Basic kostenlos,
sonst kostenpflichtig
Microsoft
Streaming Service
X
---
---
X
---
X
kostenlos, nur für
Windows Server
Tabelle. 4-1: Streaming-Server und unterstützte Protokolle
Technische Grundlagen
für Streaming-Videos
Seite 27 von 58
Eva Feldmann
4.1 RealTime Streaming Protokoll-Reihe
4.1 RealTime Streaming Protokoll-Reihe
Um leistungsfähiges Streaming zu ermöglichen, wurde eine Protokoll-Reihe mit verschiedenen
Aspekten entwickelt. Das RealTime Transport Protocol (RTP) dient der Übermittlung von
Mediadaten vom Server zum Client. Es steht im engeren Zusammenhang mit dem RealTime
Transport Control Protocol (RTCP), welches den Transport überwacht. Das RealTime Streaming
Protocol (RTSP) ist für den Aufbau der Verbindung und Steuerung der Datendarstellung
zuständig. Es handelt sich dabei um ein zweipoliges-Protokoll (ähnlich HTTP). Außerdem hat
es die Funktion einer Netzwerkfernsteuerung des Multimedia-Servers.
Resource Reservation Protocol (RSVP) reserviert die Netzwerkbandbreite für die Übermittlung
des Streaming-Videos. Es sichert eine gleichbleibende Verbindungsqualität und damit den
sogenannten Quality of Service (QoS). In den nächsten Abschnitten werden die einzelnen
Protokolle näher vorgestellt.
„Fernbedienung“ über RTSP
Server
Datenstrom über RTP
Client
Kontrolle über RTCP
Abb. 4.1-1: Verbindungen während eines Streams
4.1.1 RTSP - RealTime Streaming Protocol
Das RealTime Streaming Protocol (RTSP) entstand 1996 durch RealNetworks und Netscape in
Kooperation mit 40 weiteren Unternehmen. Später beteiligten sich an der Weiterentwicklung
gemeinnützige Organisationen, wie die Columbia University und MMUSIC Working Group
der Internet Engineering Task Force (IETF). RTSP wurde 1998 von der IETF als Standard
vorgeschlagen und in „RFC 2326“ festgelegt.
Entwickelt wurde es, um eine effiziente Übermittlung von Multimedia Streams über IPNetzwerke zu gewährleisten. Die multimedialen Datenströme werden nicht mit RTSP
transportiert, aber sie werden damit kontrolliert.
Protokolle tieferer Schichten (RTP und RTCP) übernehmen die Kontrolle der Transportverbindung, die Überprüfung der Verbindungsqualität und verlorener Daten.
RTSP ist eine Art Fernsteuerung des Mutimedia-Servers. Es ermöglicht z.B. Play, Forward
oder Stop während der Übertragung. RTSP lässt sich auf der Anwendungsschicht einordnen.
Technische Grundlagen
für Streaming-Videos
Seite 28 von 58
Eva Feldmann
4.1.1 RTSP - RealTime Streaming Protocol
Der Client kann auf die Übertragung des Servers direkt Einfluss nehmen. Syntax und Aufbau
ähneln stark dem Internet-Standardprotokoll HTTP. In der Praxis besteht häufig eine Verbindung
zwischen RTSP und HTTP bei der Übertragung. RTSP ist auf der Anwendungsebene nur eine
Befehlsbibliothek, die innerhalb eines Paketes einer Streaming Software installiert wird. Sollte
dieses nicht optional installiert sein, könnte sich dies nachteilig auf die gesamte StreamingAnwendung auswirken.
Steaming Anwendung
SDP
RTSP
HTTP
SIP
H.323
RTP
Transport-Protokolle (TCP, UDP)
RSVP (Ressource Reservation Protocol)
Netzwerk
Abb. 4.1.1-1: Zusammenhang zwischen den Protokollen
RTSP ist nicht auf ein bestimmtes tiefer liegendes Protokoll festgelegt. Die Übertragung des
Streams setzt normalerweise auf eine RTP-Verbindung auf, die wiederum auf UDP setzt. Es ist
aber auch eine Übertragung nur auf UDP-Basis möglich. Auch die RTSP-Verbindung ist von der
Transportverbindung unabhängig, normalerweise wird TCP verwendet. Es besteht sowohl die
Möglichkeit von Unicast- wie auch Multicast-Streaming (s.a. Abschnitt 5). RTSP unterstützt die
gleichberechtigte, beidseitige Kommunikation zwischen Server und Client. Nicht nur der Client
ist zu Anfragen an den Server berechtigt, sondern auch der Server an den Client. Das ClientAnwendungsprogramm hat damit die Möglichkeit, seine Benutzeroberfläche dementsprechend
anzupassen und z.B. Schaltflächen, die nicht vom Server verstanden werden auszublenden.
Ein Stream besteht häufig nicht nur aus einer Multimedia-Datei, sondern aus mehreren zeitlich
aufeinander abgestimmten Quellen in Form einer Präsentation. RTSP unterstützt die Steuerung
und kontrolliert den Ablauf solcher Multimediapräsentationen, welcher in der Präsentation
sbeschreibung festgelegt ist. Standard für Multimediapräsentationen ist die Synchronized
Multimedia Integration Language (SMIL).
Technische Grundlagen
für Streaming-Videos
Seite 29 von 58
Eva Feldmann
4.1.1 RTSP - RealTime Streaming Protocol
Beispielhafter Ablauf einer RTSP-Sitzung
Auf einer HTML-Seite befindet sich ein Link zur Präsentationsbeschreibung in Form einer
SMIL-Datei. Über das HTTP GET fordert der Client die Datei an. Nach erfolgreicher
Übertragung baut der Multimedia-Client des Anwenders die RTSP-Verbindung basierend auf
der SMIL-Präsentation auf. Hier endet der Bereich von HTTP und geht auf RTSP über. Dieses
stellt nun die Verbindung zum Media-Server her und überträgt den SETUP-Request. Dieser
wird nach erfolgreicher Ausführung vom Server beantwortet. Nach dem PLAY-Request wird
die RTP-Verbindung aufgebaut, Daten werden übertragen. Der Client hat die Möglichkeit,
diesen mit PAUSE zu unterbrechen oder mit TEARDOWN entgültig zu beenden.
HTTP GET
WebServer
Präsentationsbeschreibung
SETUP
Client
PLAY
MediaServer
RTP-Audio
RTP-Video
PAUSE
TEARDOWN
Abb. 4.1.1-2: Schematische Darstellung einer RTSP-Sitzung
Aufbau und Struktur einer RTSP-Nachricht
RTSP-Nachrichten lassen sich in zwei Haupttypen einteilen: in Request-Nachrichten und
Response-Nachrichten, ähnlich wie bei HTTP. Beide sind unterteilt in Status- oder Requestline,
Header- und Body-Bereich (folgt nur wenn im Header angekündigt).
Status- /
Requestline
HeaderBereich
BodyBereich
Abb. 4.1.1-3: Struktur einer RTSP-Nachricht
Entsprechend des Datentyps enthält die Status-/ Requestline Informationen über die Ausführung
einer Aktion oder die Aktion selbst. Parameter, die für die Ausführung der Aktionen benötigt
werden, werden im Header-Bereich aufgeführt. Wenn ein Body angehängt ist, dann enthält dieser
protokollfremde Informationen, entweder Nachrichten anderer Protokolle oder Nutzdaten.
Technische Grundlagen
für Streaming-Videos
Seite 30 von 58
Eva Feldmann
4.1.1 RTSP - RealTime Streaming Protocol
Der Zweck des RTSP-Request ist, den Empfänger zum Ausführen einer Aktion aufzufordern.
Die Requestline gleicht in etwa dem HTTP-Request. Für die URL der Quelle sind verschiedene
Optionen gültig. Zuerst wird die ausführbare Aktion (Methode) genannt, dann die Quelle auf
die sich die Aktion bezieht.
Im Header-Bereich des RTSP-Responses sind Informationen über die Ausführung der Aktion
meist in Form von Parametern vorhanden. Die Statusline enthält Angaben zur Version, einen
numerischen Status und die textuelle Beschreibung dieses Wertes. Der Statuswert gibt Auskunft
darüber, ob die Aktion korrekt oder mit Fehlern ausgeführt wurde. Die Status-/ Requestline
einer Request-Nachricht und die dazu gehörige Response-Nachricht ohne Header- und BodyBereich könnten z.B. so aussehen:
Request: PAUSE rtsp://ms.web:554/vid.rm RTSP/1.0
Response: RTSP/1.0 200 OK
Aktionen werden durch RTSP-Request ausgelöst. Eine Methode, welche die Aktion beschreibt,
löst diese durch ein Schlüsselwort im Request beim Empfänger aus.
RTSP verfügt über ein Zusatzmodell, damit Server und Client nicht ständig Statusmeldungen
austauschen müssen. Es ändert den Zustand des Teilnehmers abhängig von der empfangenen
Request-/ Response-Nachrichten. Der aktuelle Zustand bestimmt, welche Methode als nächstes
ausgeführt wird.
Wichtigste Methoden
Setup
Diese Methode kann nur durch den Client aufgerufen werden. Die Übertragung
des Datenstroms wird vorbereitet und die Transporteinzelheiten spezifiziert.
Play/ Record
Nach dem erfolgreichen Setup kann der Client damit die Übertragung beginnen
und den Film starten bzw. aufzeichnen. Spezielle Parameter können übergeben
werden, welche spezifizieren, wo die Wiedergabe beginnen soll oder ob nur ein
Ausschnitt wiedergegeben werden soll.
Pause
Fordert durch die Übergabe von Parametern Server auf, die Übertragung zu
stoppen; Zeitpunkt der Pause kann vorher festgelegt werden. Der Request wird
Technische Grundlagen
für Streaming-Videos
Seite 31 von 58
Eva Feldmann
4.1.1 RTSP - RealTime Streaming Protocol
dabei vor der eigentlichen Pause gesendet. Beim Fortsetzten der Wiedergabe ist
kein neues Setup nötig.
Teardown
Diese Methode beendet die Übertragung und schließt die Verbindung sofort.
Alle ausstehenden Methoden werden nicht mehr ausgeführt. Für einen erneuten
Aufbau eines Datenstroms ist vorher ein erneutes Setup nötig. Der Teardown ist
wie das Setup nur vom Client ausführbar.
Nicht bei jeder Verbindung stehen alle Methoden zur Verfügung, z.B. kann ein Multicast-Client
nicht im Inhalt vor- oder zurückspulen und einzelne Clients nicht mit Pause unterbrechen. Es
stehen noch weitere Methoden zur Verfügung, auf welche hier nicht weiter eingegangen wird.
Das textbasierte Protokoll RTSP interpretiert nur bekannte Befehle und Parameter und ignoriert
unbekannte.
Beispiel für Zustandsänderung
Zustand
Server-Bedeutung
Client-Bedeutung
Init
Wartezustand
SETUP wurde gesendet, warten auf
Response
Ready
SETUP/ PAUSE empfangen und ausgeführt,
Response gesendet
SETUP/ PAUSE-Response wurde
empfangen
Playing
PLAY wurde empfangen, Datenstrom wird gesendet
PLAY Response erhalten
Recording
RECORD wurde empfangen
Datenstrom wird aufgenommen
RECORD Response erhalten
Tabelle. 4.1.1-1: Beispiel für Zustandsänderung
Technische Grundlagen
für Streaming-Videos
Seite 32 von 58
Eva Feldmann
4.1.2 RTP - RealTime Transport Protocol
4.1.2 RTP - RealTime Transport Protocol
Das RealTime Transport Protocol (RTP) und das RealTime Transport Control Protocol (RTCP)
wurden von Audio-Video Transport Working Group (AVT WG) im Auftrag der IETF entwickelt
und 1995 als Standard definiert. Die Weiterentwicklung erfolgt von AVT WG und der IETF in
Zusammenarbeit mit Unternehmen wie RealNetworks und Apple.
RTP besitzt wichtige Eigenschaften eines Transportprotokoll. Es wird bislang aber fast nur für
die Applikationsebene implementiert. Es stellt sich als ein nicht vollständiges Transportprotokoll
ohne fest definierte Dienstschnittstelle dar und definiert das Format der Datenpakete. Im OSI
Referenzmodell ist es zwischen Transport- und Applikationsschichten einzuordnen, weil es
unabhängig von den darunterliegenden Netzwerkschichten ist aber meist auf UDP setzt. RTP ist
ein verbindungsloses Protokoll und besitzt weder Flusskontrolle noch Fehlerkorrektur.
Multimedia
Applikation
RTP
TCP
UDP
IP
Ethernet
FDDI
ATM/AAL
Abb. 4.1.2-1: Anordnung des RealTime Transport Protokolls
Wichtige Anforderungen an RTP sind einerseits kontinuierlicher Datenstrom in Echtzeit. Damit
kann es für verschiedene Applikationen und Aufgaben genutzt werden. Des Weiteren muss eine
minimale Bandbreite bei der Datenübertragung eingehalten werden, um eine verzögerungsfreie
Wiedergabe zu ermöglichen. Letztlich ist im Datentransportverlauf der Austausch von
Informationen über Sender und Empfänger erforderlich. Diese Informationen sind vor allem bei
Multicasting wichtig z.B. für Live-Konferenzen mit einer variablen Anzahl von Teilnehmern.
RTP wird um das RealTime Transport Control Protocol (RTCP) ergänzt, um diese Anforderung
zu erfüllen. RTP ist für den eigentlichen Transport der Echtzeitdaten zuständig und RTCP
gibt Informationen über die Übermittlung weiter, welche vom Anwender ausgewertet werden
können.
Technische Grundlagen
für Streaming-Videos
Seite 33 von 58
Eva Feldmann
4.1.2 RTP - RealTime Transport Protocol
Der RTP-Standard schreibt für die verschiedenen Medienströme unterschiedliche
Transportverbindungen vor. Bei der Verwendung von UDP/ IP müssen Kontrollkanal und
Datenkanal eine IP-Adresse besitzen. Außerdem wird eine eigene Verbindung für die
Übermittlung der RTCP-Pakete aufgebaut, meist mit einer Port-Nummer, die um eins höher
ist als die RTP-Verbindung. RTP- und RTCP-Pakete können mit normalen Verschlüsselungsverfahren gegen Fremdzugriff gesichert werden. Eine protokollspezifische Verschlüsselung
ist nicht vorgesehen.
Transportteil
RTP ermöglicht dem Sender von Streaming-Daten die Übertragung durch einen konsistenten
Datenstrom in Echtzeit an einen oder mehrere Empfänger.
Zur Umwandlung der Datenströme und Optimierung der Übertragung stellt RTP die zwei
besonderen Mechanismen Mixer und Übersetzer zur Verfügung. Der Header kann durch
einen Erweiterungsheader variabler Länge ergänzt werden, der anwendungsspezifische
Zusatzinformationen enthält. Nach dem Header folgt die eigentliche Nutzlast des Paketes, die
Art dieser wird im Header festgelegt.
Der Mixer ist ein RTP-Zeichensystem und hat die Umwandlung der Daten vor dem Transport
zur Aufgabe. Die Daten setzen sich aus einer oder mehreren Datenquellen zusammen (z.B.
Kamera für Videospur, Datrecorder für die Audiospur). RTP ordnet den Datenquellen zur
Identifizierung eine eigene, eindeutige Synchronisation Source (SSRC) zu. Der SSRC-Identifier
wird zu Beginn einer Sitzung von einem Sender zufällig generiert. Wenn es zu Kollisionen
kommt, weil zwei Sender die gleiche SSRC gewählt haben, sendet ein Sender unter seinem
alten SSRC-Identifier eine bestimmte RTCP-Kollisionsnachricht an seine Empfänger und gibt
seine neue SSRC-Identifier bekannt. Eine SSRC-Identifier kann sich ohne Auf- oder Abbau der
Verbindung ändern.
Da die verschiedenen Eingangsdatenströme in der Regel nicht synchron sind, führt der Mixer
eine entsprechende Anpassung durch. Es werden dabei alle SSRCs zu einem synchronisierten
Datenstrom umgewandelt. Dieser wird an den Empfänger gesendet und ergibt eine eigene
SSRC-Kennung. Zur Sicherstellung der Synchronisation werden alle SSRCs zu einem
synchronisierten Datenstrom durch den Mixer umgewandelt.
Alle in diesem Strom integrierten SSRCs werden in einer Contributing Source List (CSRC)
eingetragen und an ausgehende Pakete angefügt, um die SSRC-Kennung der ursprünglichen
Quelle verfügbar zu halten. Eine weitere Aufgabe des Mixers ist die Umwandlung der
Technische Grundlagen
für Streaming-Videos
Seite 34 von 58
Eva Feldmann
4.1.2 RTP - RealTime Transport Protocol
Datenströme bei Bedarf oder der Zugriff auf alternatives Material, so dass ein optimales
Verhältnis zwischen Qualität und der zu Verfügung stehenden Bandbreite erreicht werden
kann.
Kamera
(Videodaten)
SSRC:1
SSRC:1
Mixer
(Synchronisation)
Mixer-SSRC:10
Mikrophon
(Audiodaten)
SSRC:2
SSRC:10
CSRC:1,2
Netzwerk
SSRC:2
Abb.4.1.2-2: Schematische Darstellung der Arbeitsweise eines RTP-Mixers
Der Übersetzer leitet die Daten weiter, ohne Inhalt oder SSRC des Datenstroms zu verändern.
Er kann einen „Tunnel“ ermöglichen, um z.B. Multicast in Unicast zu übersetzen oder eine
Firewall zu überwinden.
Die Größe des RTP-Paketes ist abhängig von dem unterliegenden Transportprotokoll, in der
Regel also vom UDP-Paket. Jedes Paket ist in Header und Payload, die eigentlichen Nutzdaten,
unterteilt.
8
0 bit
V
P X
CC
16
M
24
31
Sequence Number (SEQ)
PT
Timestamp (TS)
Synchronization Source (SSRC) Identifier
Contributing Source (CSRC) Identifiers (0-15)
Abb. 4.1.2-3: RTP-Header
V:
P:
X:
CC:
M:
- Gibt die Versionsnummer von RTP an
- Padding Bit Flag gesetzt, wurden am Ende des Pakets Padding-Oktetts
angehängt
- Nur bei Kryptographie eingesetzt
- Extention Bit gesetzt, folgt nach dem Header noch ein optionaler
Erweiterungsheader
- CSRC-Zähler gibt an, wie viele SSRCs (max. 15) die CSRC-Liste enthält
- Anwendungsspezifisch definierbares Flag
Technische Grundlagen
für Streaming-Videos
Seite 35 von 58
Eva Feldmann
4.1.2 RTP - RealTime Transport Protocol
- Zur Markierung bestimmter Punkte im RTP-Paket-Strom verwendet
PT:
- Payloadtype gibt Art der Nutzlast (Kodierung des Datenstroms) an
- Folgt nach dem Header im Paket
SEQ: - Gibt Sequenznummer des aktuellen Pakets im Datenstrom an
- Notwendig für Empfänger, damit er Pakete in sende Reihenfolge ordnen kann
TS:
- Zeitstempel, zu dem das Paket erstellt wurde
SSRC: - Eindeutige, zufällig gewählte Kennzeichnung der Quelle des Pakets
CSRC: - Liste von bis zu 15 SSRCs, die vom Mixern im Datenstrom integriert wurden
4.1.3 RTCP - RealTime Transport Control Protocol
Beim RealTime Transport Control Protokoll (RTCP) handelt es sich um ein Kontrollprotokoll,
das in direkter Verbindung mit RTP arbeitet. RTP ermöglicht den Erhalt von Informationen über
den Ablauf des Datentransports und die Verbindungsqualität. Es basiert auf dem periodischen
Austausch dieser Informationen (Kontrollpaketen) an alle Teilnehmer einer RTP-Sitzung über
eine separate Verbindung. Dadurch wird eine dynamische Skalierung der Anwendung und
eine flexible Anpassung an die jeweilige QoS-Parameter erreicht. Die Häufigkeit der RTCPNachrichten ist abhängig von der Bandbreite und der Anzahl der Teilnehmer einer Sitzung und
wird von RTCP selbständig geregelt. Die Bandbreite für RTCP-Nachrichten ist begrenzt. Es
sollten ca. 5% der Netzauslastung einer RTP-Sitzung für RTCP-Nachrichten benutzt werden,
wobei mind. 25% dieser Bandbreite für die Übertragung von Sendeberichten verwendet
werden sollen. Durch die Auswertung der RTCP-Nachrichten kann festgestellt werden, ob zu
viele Datenpakete verloren gehen. Der Sender kann daraus schließen, dass die zur Verfügung
stehende Bandbreite zu gering ist. Um den Bandbreitenbedarf zu reduzieren, kann er Daten
umkodieren oder auf alternatives Material mit geringerer Größe zurückgreifen.
Der Empfänger kann anhand der RTCP-Berichte entscheiden, wie er mit verspäteten DatenPaketen umgeht. Ist nur eine geringe Verspätung zu erwarten, kann er auf die Pakete warten,
anderenfalls werden die Pakete verworfen. Auch Dritte, z.B. Netzwerkadministratoren, können
wertvolle Informationen aus den Nachrichten ziehen.
Die Übertragung via RTP wäre ohne RTCP fehleranfälliger. Durch die zusätzlichen
Informationen wird die Zuverlässigkeit des RTP erhöht.
Die Hauptaufgaben von RTCP sind die Ermittlung der Qualität der Datenleitung, die
Überwachung und Regulierung der Bandbreite der RTCP-Pakete, die Zuweisung eines
eindeutigen Namens zu jeder Datenquelle und der Austausch von Informationen über die
Technische Grundlagen
für Streaming-Videos
Seite 36 von 58
Eva Feldmann
4.1.3 RSVP - Resource Persercation Protocol
Sitzung und ihre Teilnehmer, also hauptsächlich die Überwachung der QoS-Parameter.
RTCP verfügt über fünf verschiedene Paketarten, welche alle eine ähnliche Struktur aufweisen.
Nach dem Header folgt der Nutzteil mit variabler Länge, dieser besteht aus einer Liste von
SSRCs und je nach Paketart aus verschiedenen Informationen. Ausnahme ist der Sendebericht,
welchem zwischen Header und SSRC-Liste ein Teil mit Senderinformationen angehängt ist.
Header
ggf.
Senderinformation
SSRC_0
mit paketartspez.
Informationen
SSRC_n
mit paketartspez.
Informationen
Abb. 4.1.3-1: Struktur eines RTCP-Paketes
Paketarten von RTCP
Senderberichte (SR) und Empfangsberichte (RR)
Der Header enthält Informationen über die Version, Padding, Länge des Paketes und die
SSRC des Senders. Der Payloadtype Wert ist 200. Beim Sendebericht folgt ein Teil mit
Senderinformationen, z.B. mit der Anzahl der bis zu diesem Zeitpunkt vom Sender erzeugten
Datenpakete. Danach folgt in beiden Berichten für jede SSRC eine Empfangsstatistik. Diese
enthält Informationen über den Transport z.B. die Sequenznummer des letzten empfangenen
Paketes und Anzahl der verlorenen Pakete seit dem letzten Bericht
Quellenbeschreibung (SDES)
Die SDES enthalten Informationen über ihre Sender. Jeder Teilnehmer der RTP-Sitzung
sendet in regelmäßigen Abständen Quellenbeschreibungspakete. Der Header gleicht in der
Struktur dem des Sendeberichtes, hat aber den Payloadtype 202. Es folgen als Nutzdaten die
Beschreibung einer oder mehrerer SSRCs.
Mögliche Angaben sind z.B.:
CNAME:
Eindeutige Identifizierung der Quelle anhand Benutzer- und
Domainnamens der Quelle. Es ist der einzige verpflichtende Eintrag
LOC:
Geographischer Aufenthaltsort des Teilnehmers
TOOL:
Eingesetztes Programm
NOTE:
Statusmeldung des Benutzers
PRIV:
Anwendungs- und benutzerspezifische Quellenbeschreibung
NAME/EMAIL:
Name bzw. E-Mail Adresse des Benutzers
Technische Grundlagen
für Streaming-Videos
Seite 37 von 58
Eva Feldmann
4.1.3 RSVP - Resource Persercation Protocol
Goodbye Pakete (BYE) hat den Payloadtype 203. BYE werden verwendet, um den Empfänger zu informieren,
dass eine oder mehrere SSRC-Quellen nicht länger zur Verfügung stehen. Die Nutzdaten
bestehen aus einer Liste der ausscheidenden SSRCs, die optional um den Grund der
Ausscheidung ergänzt ist, z.B. Log Off. Dieser muss, falls es gesendet wird, als letztes in
einem zusammengesetzten Paket stehen.
Anwendungsspezifische Pakete (APP) zum Austausch von Informationen, die noch nicht durch andere Protokolle abgedeckt sind.
Empfängt die Anwendung ein APP-Paket, das sie nicht interpretieren kann, ignoriert sie es.
Es wirkt sich nicht negativ auf den weiteren Datentransport aus. Um Nutzen aus Paketen zu
ziehen, müssen die sendende und die empfangende Applikation die jeweiligen APP-Pakete
kennen.
Technische Grundlagen
für Streaming-Videos
Seite 38 von 58
Eva Feldmann
4.1.4 RSVP - Resource Persercation Protocol
4.1.4 RSVP - Resource Persercation Protocol
Das Resource Persercation Protocol (RSVP) ist ein Kontrollprotokoll für Netzwerke
zur Reservierung bestimmter, zur Datenübertragung benötigter Ressourcen, um eine
gleichbleibende Verbindungsqualität, den Quality of Service (QoS) zu gewährleisten. RSVP
ist eine gemeinsame Entwicklung von MIT, dem Palo Alto Research Center (PARC) und dem
Internet Sciences Institute (ISI) der University of California. Im September 1997 wurde die
Version 1.0 als Standard (RFC 2205) festgesetzt. Die RSVP Working Group der IETF kümmert
sich um die Weiterentwicklung und Implementierung.
RSVP reserviert auf jedem Knoten zwischen Sender und Empfänger die entsprechende
Bandbreite. Es setzt auf der IP-Schicht auf und steht zwischen ihr und der Transportschicht.
Weder der Datentransport noch das Routing werden von RSVP übernommen, dies bleibt
anderen Protokollen überlassen. Es unterstützt die Dienste der Kommunikationsschicht besser
als andere Transportdienste.
Auch die Festlegung der QoS-Parameter, welche Art und Umfang der Reservierung festlegen,
gehört nicht zur Aufgabe von RSVP, sondern zu denen der Anwendungen die es verwenden.
RSVP übernimmt nur die Parameter, transportiert diese zu den Netzwerkknoten und kontrolliert
den Ablauf der Reservierung der Knoten.
Funktionsweise von RSVP
Die Reservierung der Bandbreite muss stattfinden, bevor die eigentlichen Nutzdaten eines
Streams über die Transportverbindung gesendet werden können.
192.168.0.13
Sender
QoS
192.168.0.44
192.168.0.13
Path-Zustand / -Nachricht
192.168.0.45
QoS
192.168.0.44
Nutzdaten
QoS
192.168.0.133
192.168.0.45
Empf.
Resv-Zustand / -Nachricht
Abb. 4.1.4-1: Ablauf RSVP Reservierung
Zur Reservierung der Bandbreite sendet der Sender eine Path-Nachricht an den oder die
Empfänger. Diese ist wie die späteren Datenpakete adressiert und wird über die gleichen
Netzwerkknoten wie der spätere Datenstrom geroutet. Es setzt in jedem Knoten den
Pfadzustand, welcher unter anderem einen Verweis auf die IP-Adresse der vorherigen Knoten
enthält.
Technische Grundlagen
für Streaming-Videos
Seite 39 von 58
Eva Feldmann
4.1.4 RSVP - Resource Persercation Protocol
Der Empfänger wertet nach Eintreffen der Path-Nachricht diese aus und sendet eine ResvNachricht zurück an den Sender. Das Resv-Paket verwendet die Pfadzustände der einzelnen
Knoten und kommt somit auf dem gleichen Weg zurück.
RSVP setzt an jedem Knoten Reservierungszustände mit der benötigten Verbindungs-qualität.
Die eigentliche Reservierung geht demnach vom Empfänger aus.
Wenn RSVP-Daten die Netzwerkknoten durchlaufen, welche das Protokoll nicht unterstützen,
werden sie unbearbeitet an den nächsten Knoten weiter gereicht. Es entsteht eine potentielle
Schwachstelle in der Knotenkette. Nachfolgende RSVP-fähige Knoten können aber
Reservierungen dennoch vornehmen. Kann eine Reservierung nicht gewährt werden, gibt
RSVP eine Fehlermeldung zum entsprechenden Empfänger zurück. Der Sender kann nach
Erhalt der RSVP-Nachricht mit dem Senden des Datenstroms beginnen. RSVP verfolgt das
„Soft-State-Prinzip“. Dies bedeutet, dass die gesetzte Reservierung für den Netzwerkknoten
aufgefrischt werden muss, um nicht zu verfallen. Der Sender übermittelt in regelmäßigen
Abständen Path-Nachrichten. Haben sich die durchlaufenden Netzwerkknoten, also das
Routing verändert, werden durch die Path-Nachrichten neue Knoten erfasst. Der Resv-Zustand
wird durch darauf folgende Resv-Nachricht aufgefrischt oder auf einen neuen Knoten gesetzt.
Die Knoten, über die nicht mehr geroutet wird, lösen den Reservierungszustand selbständig
auf, wenn sie keine RSVP-Nachrichten mehr erhalten.
Reservierungsmechanismus
In der Resv-Nachricht sind alle Informationen enthalten, die der Netzwerkknoten braucht,
um den Reservierungszustand zu setzen. Sie enthält neben allgemeinen Angaben wie
Absenderadresse oder Session einen „Flow Descriptor“. Dieser besteht aus „Flow Spec“ und
„Filter Spec“.
Der Flow Spec enthält die Informationen, der zu reservierenden Verbindungsqualität. Zum
einem ist es die Dienstklasse der Reservierung, dabei sind „Controlled-Load Service“ und
„Guaranteed Service“ möglich. Beim „Controlled-Load Service“ hat der Datenstrom eine
konstante Bandbreite unabhängig von der Knotenbelastung reserviert. Der „Guaranteed
Service“ definiert bestimmte Verzögerungen, innerhalb derer die Daten den Empfänger
erreichen müssen. Es wird die Verbindungsqualität zugesichert, nicht die Bandbreite. Die
Eckdaten der gewünschten Verbindung, wie Bitrate, sind in der Reservation Spec als Teil
der Flow Spec enthalten. Die Struktur des Datenstroms in der Traffic Spec (z.B. maximale
Paketgröße) beschreibt, welche Flow Spec abschließt.
Technische Grundlagen
für Streaming-Videos
Seite 40 von 58
Eva Feldmann
4.1.4 RSVP - Resource Persercation Protocol
Die Filter Spec ist der Teil der Reservierungsanforderung, der definiert, welche Pakete die
reservierte Bandbreite nutzen dürfen. Sie enthält hauptsächlich die Absenderadresse und
optional dessen Quellport, also ähnliche Informationen wie Resv-Nachrichten. Dies wird beim
Empfänger dann zur Erstellung von Resv-Nachrichten genutzt.
192.168.0.45
(RSVP)
Routing
192.168.0.44
Resv
QoS
Flow
Spec
Flow
Spec
Packet
Classifier
Packet
Scheduler
Admission
Control
Admission
Control
Daten
Abb. 4.1.4-2: Reservierung in einem Netzwerkknoten
Empfängt ein Knoten eine Reservierungsanforderung, dann übergibt der RSVP-Prozess die
Nachricht zunächst an die Admission Control. Er prüft den Inhalt und reserviert bei positiver
Prüfung die Ressourcen. Die Nachricht wird erst an Admission und Policy Control gegeben,
welche prüfen, ob der Besitzer zur Reservierung berechtigt ist und ob dem Knoten ausreichend
Ressourcen zur Verfügung stehen. Sind die Tests positiv, werden Packet-Classifier und Scheduler konfiguriert. Der Packet Classifier ordnet jedes empfangene Datenpaket einer QoSKlasse zu. Und der Packet-Scheduler sorgt basierend auf Flow Spec dafür, dass die Qualität
der Verbindung aufrecht erhalten wird. Anschließend wird eine neue Resv-Nachricht an den
nächsten Knoten weitergeleitet.
Funktionalitäten und wichtige Eigenschaften von RVSP
Die Verbindungsqualität wird lediglich für Daten vom Server garantiert, da RSVP bei der
Reservierung nur eine Simplex-Verbindung unterstützt. Daten vom Empfänger können die
Reservierung nicht nutzen. RSVP unterstützt Multi- und Unicast.
Bei Multicast treffen die Resv-Nachrichten von mehreren Teilnehmern an einem Netzwerkknoten
zusammen und verschmelzen zur erweiterten Reservierungsanfrage. Um den Datenverkehr
nicht unnötig zu erhöhen, kann eine große Anzahl von Teilnehmern einer Multicast-Gruppe
beitreten. Der Einsatz von RVSP ist langfristig möglich, weil es auch IPv6 netzwerkfähig ist. Es
wird auf längere Sicht Standard für die Sicherung von Bandbreiten in IP-Netzwerken bleiben.
Technische Grundlagen
für Streaming-Videos
Seite 41 von 58
Eva Feldmann
4.2 PNA - Progressive Networks Audio
4.2 PNA - Progressive Networks Audio
Das PNA-Protokoll wird von RealNetworks bis zum RealSystem 5.0 benutzt. Im RealSystem
G2 wurde es dann durch RTSP ersetzt. Die RealServer und RealPlayer unterstützen noch PNA
aus Gründen der Abwärtskompatibilität.
Sowohl PNA als auch RTSP versenden Mediaclips standardmäßig über One-Way UDPVerbindung. Zur Übertragung der Steuerungs- und Kontrollinformationen wird eine parallele
TCP-Verbindung genutzt.
4.3 MMS - Microsoft Media Server Protocol
Das Microsoft Media Server Protocol (MMS) wird von Microsoft zur Übertragung von
Datenpaketen und Steuerungsbefehlen vom Server zum Client genutzt. MMS ist die DefaultMethode der Verbindungsaufnahme der Clients mit dem Windows Media Unicast Service. Die
für Streaming notwenige Infrastruktur wird von Microsoft monolithisch gestellt. Microsoft
sieht keine Notwendigkeit der Offenlegung dieses Standards.
Denn es wird somit die Entwicklung von Software, die illegal auf digitale Rechte von Microsoft
Digital Rights Management (DRM) einwirken könnte versucht zu unterbinden.
MMS arbeitet nicht mit Klartext-Nachrichten wie RTSP, sondern die Kommandos und
Parameter werden binär kodiert (Hexadezimal-Werte). Die kryptische Verschlüsselung ist für
Netzwerkadministratoren und Streaming-Media-Architekturen von Vorteil.
MMS regelt die Kontrollmechanismen des Streams als auch den Transport selbst. Zu
Sitzungsbeginn wird das optimale Protokoll für den Client ausgewählt. Die Übertragung
kann innerhalb des MMS mittels HTTP, TCP und UDP stattfinden. Für TCP und UDP wird
serverseitig der Port 1755 zugewiesen.
Die Steuerbefehle erreichen per TCP ihr Ziel. Zur Datenübertragung wird ein Prinzip
namens Protocol Rollover genutzt. Beim Protocol Rollover sendet der Client den Datenstrom
nacheinander über verschiedene Protokolle. Zum einen über Microsoft Media Server Protocol/
UDP (MMSU), wobei versucht wird die Daten über eine UDP-Verbindung zu senden.
Beim Microsoft Media Server Protocol/ TCP (MMST) werden die Daten über eine TCPVerbindung versendet. Wenn die ersten zwei Versuche scheitern, wird versucht, die Daten über
das Hypertext Transfer Protocol (HTTP) zu senden. Der Grund für diese Technik sind die
Technische Grundlagen
für Streaming-Videos
Seite 42 von 58
Eva Feldmann
4.3 MMS - Microsoft Media Server Protocol
Firewall-Systeme vieler Firmen, die viele Dienste und Ports blocken, HTTP aber in den meisten
Fällen durchlassen. So können auch Nutzer hinter einer Firewall Streaming Media empfangen.
Phasen einer MMS-Sitzung
Die MMS-Sitzung besteht wie die RTSP-Sitzung aus verschiedene Phasen, welche anhand
dieser Grafik kurz erläutert werden.
WebServer
StreamingServer
Web-Seitenabruf
Aufbau der Kontrollverbidung
Media Player
Web-Browser
Client
Test der Verbindungseigenschaften
Medienauswahl
Aufbau der Transportverbindung
Medienkontrolle
Transportüberwachung
Abbau der Kontrollverbindung
Abb. 4.3-1: Phasen einer MMS-Sitzung
Web-Verbindung
Vor der eigentlichen MMS-Sitzung wird die Verbindung zum Webserver aufgebaut. Dabei
empfängt dieser eine Meta-Datei mit der gewünschten Adresse des Streams.
Aufbau der Kontrollverbindung
Clientseitig wird als Kontrollverbindung eine MMS-Verbindung zum Server aufgebaut. Die
MMS-Sitzung beginnt, welche bis zum Ende der Verbindung bestehen bleibt. Der Stream
wird über das Transportprotokoll zum Client gesendet.
Über die Kontrollverbindung erhält der Client vom Server Informationen wie z.B. die
verschiedenen Tonspuren, Länge des Streams usw.
Technische Grundlagen
für Streaming-Videos
Seite 43 von 58
Eva Feldmann
4.3 MMS - Microsoft Media Server Protocol
Test der Verbindungseigenschaften
Der Server versendet einige Testpakete an den Client. Es werden die Verbindungseigenschaften zwischen Server und Client und die Güte der Verbindung aus der Verzögerung
und der Empfangsrate vor dem Versenden des Streams ermittelt. So kann zur Anpassung
bei schlechten Verbindungseigenschaften ein Stream mit niedrigerer Qualität angefordert
werden.
Medienauswahl
Der Client kann anhand der Informationen über die einzelnen Streams den gewünschten
Stream auswählen. Er kann z.B. die Tonspur in seiner Landessprache wählen oder den
Stream mit einer niedrigeren Auflösung anfordern.
Aufbau der Transportverbindung
Nach der Auswahl des gewünschten Streams wird die Transportverbindung aufgebaut.
Medienkontrolle
Der Betrachter kann Einfluss auf den Stream nehmen z.B. unterbrechen, vor- oder
zurückspulen (nicht bei Live-Streaming).
Transportüberwachung
Es werden ständig statistische Daten über die Übertragung ausgewertet und damit der
Transport vom Server ständig überwacht. MMS ermöglicht die Auswertung empfangener
Daten beim Client und einen zeitlichen Versatz.
Abbau der Kontrollverbindung
Kontroll- und Transportverbindung wird in einem Schritt abgebaut, da MMS ein eigenes
Transportprotokoll definiert. Die MMS-Sitzung wird damit beendet.
Typischer Verlauf einer MMS-Sitzung
Die Grafik zeigt die relevanten Teile einer MMS-Verbindung. Die konkreten Kommandos
können dabei variieren, weil kein offener Standard in den unterschiedlichen Versionen der
Player und Server existiert. MMS ist ein relativ komplexes Protokoll.
Technische Grundlagen
für Streaming-Videos
Seite 44 von 58
Eva Feldmann
4.3 MMS - Microsoft Media Server Protocol
WebServer
1
StreamingServer
HTTP-Request GET
[URL]
HTTP-Response
2
[Meta-Datei. ASX]
3
Media Player
Web-Browser
Client
MMS-0x01
[Setup]
MMS-0x01
[Setup]
4 MMS-0x18
[Timing Request]
MMS-0x15
[Timing Replies]
5 MMS-0x05
[File Name. Path Request]
6
7
8
MMS-0x15
[Header Request]
MMS-0x06
[File Details. Packet Info]
MMS-0x33
[Stream IF, Switch]
MMS-0x07
[Start From]
MMS-0x11
[Send Header]
MMS-0x21
[Accept]
MMS-0x05
9
Stream-Pakete (ASF, Header)
10 MMS-0x0D
[Pause]
11 MMS-0x09
[Stop]
Abb. 4.3-2: Ablauf ASF Stream Redirector File (ASX)
1
Das Video wird nach Auswahl eines Links im Browser angefordert.
2
Der Webserver antwortet auf die Anfrage mit dem ASF Stream Redirector File
(ASX). Eine XML-Datei, welche derMeta-Datei bei RTSP ähnelt.
Bsp.: <ASX version=”3.0”>
<Entry>
<Ref href=”mms://stream.beispielseite.de/video/trailer.wmv”/>
</Entry>
</ASX>
Technische Grundlagen
für Streaming-Videos
Seite 45 von 58
Eva Feldmann
4.3 MMS - Microsoft Media Server Protocol
3
Der ASX-File wird an den Media Player übergeben, welcher eine Verbindung zur
URL herstellt. Er kann mehrere Streams enthalten, welche synchronisiert
wiedergegeben werden. Mit dem Kommando 0x01 wird z.B. Version, Hostname
usw. zwischen Client und Server ausgetauscht. Der Client sendet anschließend
Informationen über den Internetzugang (Providername, Benutzer-Login).
4
Der Client initiiert mit 0x18 einen Timing Request, den der Server mit zufälligen
Paketen in 0x15 beantwortet. Dies ermöglicht die Schätzung von Latenzzeiten
und Jitter der Verbindung.
5
Der Client sendet mit 0x05 eine Anfrage nach den gewünschten Dateinamen
und dessen Pfad. Der Server beantwortet diese mit 0x06 und Informationen über
Kodierung, Pakete und Länge.
6
0x15 fordert zum Senden des Headers auf.
7
Die Entscheidung, welchen Stream er erhalten will, trifft der Client. Durch einen
sogenannten Switch können besondere Eigenschaften automatisch angefordert
werden.
8
Mit 0x07 entscheidet der Client, ab welchem Frame er die Wiedergabe
beginnen möchte (Vergleichbar mit Parameter Rang der Methode PLAY
beim RTSP).
9
Ab dem Kommando 0x05 vom Server wird der Stream in Form von MMSPaketen mit ASF-Inhalten per HTTP, TCP oder UDP gesendet.
10
0x0D entspricht ungefähr der Methode PAUSE bei RTSP.
11
0x09 beendet die Wiedergabe und schließt die Verbindung.
Ähnlich wie beim RTCP sendet der Windows Media Server an den Client ca. jede Minute eine
Statistik über den Streamingverlauf und fragt von ihm Daten ab. Dadurch ist eine Anpassung
des Streams an die Netzwerksituation möglich. Erhält der Server keine Nachricht mehr vom
Client, trennt er die Verbindung automatisch.
Technische Grundlagen
für Streaming-Videos
Seite 46 von 58
Eva Feldmann
4.3 MMS - Microsoft Media Server Protocol
Transportprotokolle bei MMS
MMS kann TCP, UDP oder HTTP für den Datentransport verwenden. Es besitzt also
strenggenommen kein eigenes Transportprotokoll. Die Übertragunspakete haben eine
RTP-ähnliche Struktur. Dabei kommen ASF-Pakete zum Einsatz. Dieses Format wurde von
Microsoft offen gelegt. Man kann ASF-Streams als Audio-/ Video-Komponeten verstehen, die
gespeichert werden können: Videos in WMV (Windows Media Video) oder Audio in WMA
(Windows Media Audio)-Files. Es sind mehrere ASF-Segmente in einem IP-Paket per TCP
oder UDP möglich. Der MMS-Header ist den einzelnen Segmenten vorangestellt. Dieser
enthält analog zu RTP vor allem die Sequenznummer. Die Segmente enthalten zusätzlich ein
ASF-Zeitstempel zur Synchronisierung der Streams.
IP
UDP/TCP
ASF-Segment
ASF-Segment
Sequenznummer
Paket ID Typ
UDP Seq. / TCP Flags
Header Länge
ASF Zeitstempel
...
MMS-Header
UDP-User Datagramm Protocol, TCP = Transmission Control Protocol
Abb. 4.3-3: Struktur eines ASF-Paketes
MSBD - Media Stream Broadcast Distribution Protocol
Das verbindungsbasierte Media Stream Broadcast Distribution Protocol (MSBD) wird von
Microsoft für Live-Broadcast bei der Übertragung vom Encoder zum distribuierenden Server
verwendet.
Für bestimmte Anwendungen (z.B. für firmeninterne Präsentationen mit begrenzter
Teilnehmerzahl) kann der Windows Media Encoder über das MSBD-Protocol auch als
kleine Serverlösung genutzt werden. In der Version 7 wurde auf die Nutzung von MSBD als
verbindungsbasiertes Streaming Protokoll verzichtet und sich ganz auf HTTP verlassen.
Technische Grundlagen
für Streaming-Videos
Seite 47 von 58
Eva Feldmann
5 Unicast, Broadcast und Multicast
5 Unicast, Broadcast und Multicast
In Netzwerken wie auch im Internet stehen zum Transport von Daten vom Empfänger drei
wichtige Verfahren zur Verfügung. Die meisten Anwendungen im Internet benutzen eine
Unicast-Verbindung. Bei dieser wird eine Kopie angeforderter Daten genau an einen Empfänger
gesendet. Werden die selben Daten von verschiedenen Empfängern angefordert werden diese
mehrfach separat versendet.
Broadcast sendet eine Kopie der angeforderten Daten an alle im Netzwerk verfügbaren
Empfänger. Dabei muss jeder Empfänger diese Daten auswerten und entscheiden, ob sie für
ihn eine Bedeutung besitzen. Da es sich beim Streaming um breitbandintensive Inhalte handelt,
ist bei der Vielzahl der Clients Braodcast weder durchführbar noch zweckmäßig.
Multicast hingegen sendet an eine Gruppe von Clients eine Kopie der Daten. Die Daten
müssen nicht mehrfach vom Server versendet werden, trotz dass nur interessierte Clients diese
empfangen. Die verschiedenen Kommunikationsformen zwischen Rechnersystemen lassen
sich nach der Anzahl der Sender und Empfänger unterscheiden.
Kommunikationsform
Unicast
Concast
Multicast
Multipeer
Broadcast
Anzahl der Sender
1
N
1
N
1
Anzahl der Empfänger
1
1
N
M
Alle Netzwerkteilnehmer
Tabelle 5-1: Übersicht der Kommunikationsformen
5.1 Unicast
Unicast ist eine Punkt zu Punkt-Verbindung. Jeder Endanwender erhält einen separaten Stream.
Bei Unicast wird für jeden abrufenden Player eine neue Verbindung geöffnet, über die der Stream
die Steuerbefehle erhält. So ist es möglich, dass der Client dem Server Anweisungen zukommen
lassen kann, z.B. zum Unterbrechen, Wiederholen, Springen usw.. Diese Steuerung ist nur bei
vorab aufgezeichneten Inhalten möglich. Der Server hat keine Möglichkeit den Datenstrom zu
bündeln, wenn mehrere Clients zur selben Zeit den selben Videostream anfordern.
Technische Grundlagen
für Streaming-Videos
Seite 48 von 58
Eva Feldmann
5.1 Unicast
Der Vorteil liegt darin, dass jeder Betrachter in das Abspielen seiner Streams eingreifen kann,
um z.B. im Inhalt vor- oder zurückzuspringen. Der Nachteil ist dagegen die hohe ServerBelastung, da jeder Client einen exklusiven Datenstrom erhält.
Es kommt zu einer hohen Netzbelastung beim Senden der Daten. Netzressourcen werden
verschwendet, wenn mehrere Streams gleichzeitig den selben Teil der Übertragungsstrecke
nutzen, um verschiedene Clients zu erreichen. Mit jedem Client, der den gleichen Stream
anfordert, steigt die Belegung der Bandbreite linear an.
Der Einsatz von Unicast beim Streaming ist im Bereich „On Demand Streaming“ sinnvoll, um
die Steuerung des Clips (Pause, Stopp, Positionierung) zu ermöglichen.
Abb. 5.1-1: Grafische Darstellung Unicast-Verbindung
5.2 Broadcast
Bei einer Broadcast Verbindung würde der Stream an alle Clients im Netzwerk übertragen
werden. Der Begriff „Broadcasting“ bedeutet Rundfunk. Alle Clients im Netzwerk erhalten zur
selben Zeit den selben Teil des Mediums, unabhängig ob live oder vorab aufgezeichnet.
Broadcast löst zwar das Problem mehrfacher Streams, aber es überschwemmt das gesamte
Netzwerk damit, auch wenn nur einige Endanwender die Inhalte empfangen wollen.
Abb. 5.2-1: Grafische Darstellung Broadcast-Verbindung
Technische Grundlagen
für Streaming-Videos
Seite 49 von 58
Eva Feldmann
5.3 Multicast
5.3 Multicast
Bei Multicast überträgt der Server nur einen Stream. Dieser Stream wird von speziellen Routern
im Netzwerk zur Verteilung an Gruppen mehrerer Endanwender vervielfältigt.
Der Client erhält wenig Flexibilität, denn jeder sieht die selben Inhalte zur selben Zeit wie alle
anderen. Beim Multicast schickt der Sender die Pakete nur zum nächsten Router. Dieser erkennt
an Hand der Empfängergruppenadresse, wohin er die Pakete routen soll.
Multicast ist demnach gut zur gleichzeitigen Bereitstellung der selben Inhalte für mehrere
Clients z.B. zur Übertragung von Pressekonferenzen, Sportereignissen oder Konzerten. Es
eignet sich für Live-Streaming.
Abb 5.3-1: Grafische Darstellung Multicast-Verbindung
Multicast ist nur möglich, wenn die Streaming-Software und das Netzwerk dies unterstützen.
Serverseitig wird es von Apple, Microsoft und Real unterstützt. Es fallen weitere Kosten durch
die Implementierung an. Aber diese können sich lohnen, wenn Kosten für Schulungen nicht
anfallen und Kosten der Unternehmenskommunikation gesenkt werden.
Der Vorteil liegt in der Reduktion der Bandbreite und Einsparung von ServerVerarbeitungskapazität. Der Streaming-Server muss, wie oben bereits beschrieben, die Daten
nur einmal an eine Gruppen-Adresse senden, damit alle Clients Zugriff darauf haben je mehr
Nutzer, um so größer demnach die Ersparnis. Clients können jederzeit problemlos dynamisch
einer Gruppe beitreten. Die Gruppe ist also unkompliziert skalierbar.
Der Nutzer hat keine Möglichkeit zum individuellen Eingriff, er kann nicht im Inhalt springen.
Der Stream muss vom Server stetig gesendet werden.
Sendet der Server eine Kopie der Daten an eine Gruppe von Clients, so hat diese MulticastGruppe eine Gruppenadresse, welche in IP-Netzwerken immer einer IP-Adresse der Klasse D
entspricht. Sie liegt also im Bereich zwischen 224.0.0.0 und 239.255.255.255. Die Übermittlung
von Multicast erfolgt über spezielle multicastfähige Netzwerke. Das häufigste ist das Internet
Technische Grundlagen
für Streaming-Videos
Seite 50 von 58
Eva Feldmann
5.3 Multicast
Multicast Backbone, kurz MBone genannt. Die Subnetze bestehen aus Teilen der InternetInfrastruktur, die multicastfähig sind.
Wenn zwischen diesen Teilen gewisse Bereiche vom Internet liegen, welche nicht multicastfähig
sind, nennt man die Subnetzte „Multicast Islands“. Zwischen diesen Multicast Islands,
wird Multicasts über Unicasts weitergeleitet, um die Subnetze miteinander zum MBone zu
verbinden.
Möchte ein Client der Multicast-Gruppe beitreten, sendet er eine IGMP-Nachricht an seinen
lokalen Router mit der Anfrage. Der Client konfiguriert die IP-Einstellungen und Netzwerkkarte
so, dass Multicast empfangbar ist.
Beim Verlassen des letzten Clients aus der Multicast-Gruppe beendet der Router das Senden
auf dem Kanal und gibt die Bandbreite wieder frei. Multicast Routing Protokolle regeln die
Verteilung, um den effizienten Weg und keine Verschwendung von Bandbreite sicher zu
stellen. Verschiedene Multicast Routing Protokolle sind das Distance Vector Multicast Routing
Protocol (DVMRP), Multicast Open Shortest Path First (MOSPF) und das Protocol Independent
Multicast (PIM).
Anstatt des Begriffs Multicast wird manchmal auch der Bergriff Narrowcast verwendet, obwohl
sich Narrowcast normalerweise auf das Handelsmodell bezieht, während mit Multicast die für
die Datenübertragung tatsächlich verwendete Technologie gemeint ist.
Technische Grundlagen
für Streaming-Videos
Seite 51 von 58
Eva Feldmann
6 Schlussbetrachtung
6 Schlussbetrachtung
Streaming bietet den Vorteil, dass der komplette Download einer Multimediadatei nicht erst
abgewartet werden muss. Der Inhalt kann während des Downloads betrachtet werden. Die
bisherigen Haupteinsatzgebiete von Streaming liegen in der firmeninternen Kommunikation,
in elektronischen Schulungen, im Vertrieb und im Marketing. Eine Ausweitung auf andere
Anwendungsgebiete ist sinnvoll, um die Vorteile von Streaming auch in anderen Bereichen,
z.B. Software-Lizenzierung oder Pay per View zu nutzen.
Abschließend lässt sich bei der Analyse der technischen Grundlagen für Streaming-Videos
sowie vorhandener Streaming Protokolle feststellen, dass für jede Streaming-Anwendung eine
individuelle, angepasste Lösung gefunden werden kann. Dabei ist einerseits eine günstige
Kommunikationsform (Unicast, Muticast) zu wählen, um Netzwerkressourcen zu schonen.
(Diese Kommunikationsform legt die Streamingart, ob Video On Demand oder Live-Streaming,
fest.)
Zum anderen bilden die Allgemeinen Protokolle eine Grundlage, welche beim echten Streaming
durch speziell entwickelte Streaming Protokolle unterstützt werden.
Es lässt sich feststellen, dass die Übertragung über TCP für Streaming nicht zu empfehlen ist, da
die Fehlerkorrektur eine gleichbleibende Übertragungsgeschwindigkeit nicht garantieren kann.
Deshalb basieren die meisten Streaming Protokolle auf der Basis von UDP. Die Flexibilität der
Streaming Protokolle lässt auch eine Übertragung über TCP zu. Erst durch die Verwendung
von speziellen Streaming-Servern wird der Einsatz der Streaming-Protokolle möglich. Die
Wahl des Servers schränkt die Wahl der genutzten Protokolle ein. Der Vorteil wird dadurch
jedoch nicht aufgehoben.
Streaming-Inhalte benötigen eine andere Architektur als herunterladbare Medien. Sie
müssen eine höhere Interaktivität über das Internet unterstützen. Sie bieten dem Anwender
die Möglichkeit des Durchsuchens, des Vor- sowie Zurückspringens, der Kapitelmarken und
vieles mehr. Um dies zu gewährleisten, ist der Einsatz von speziell entwickelten StreamingProtokollen notwendig. Diese ermöglichen nicht nur eine kontinuierliche Wiedergabe, sondern
auch eine individuelle Anpassung an die Übertragungsgeschwindigkeit.
Die Verwendung von speziellen Media-Servern für Streaminginhalte ermöglicht eine
effizientere Nutzung der Netzwerkbandbreite, eine bessere Audio- und/ oder Videoqualität,
besondere Funktionen und unterstützt den Zugriff durch mehrere Anwender.
Technische Grundlagen
für Streaming-Videos
Seite 52 von 58
Eva Feldmann
6 Literaturverzeichnis
7 Literaturverzeichnis
Bücher
Künkel, Tobias (2001) Streaming Media Technologien, Standards, Anwendungen,
München: Addison-Wesley 2001
Internet Publicationen
Neumann, Marco; Heinbockel, Malte (2003): Erstellung eines Videokonferenzsystems
(13.01.2005)(online)
URL: http://www.uni-weimar.de/~kroop/dokus_MS_SS03/Marco-Neumann_Malte-Heinbockel.doc
Schäfer, Waldemar; Beise, Thorsten (2000): Seminar zur Vorlesung Multimedia
(10.12.2004)(online)
URL: http://www.it.fht-esslingen.de/~schmidt/vorlesungen/mm/seminar/ss00/HTML
Dipl.-Inform. Dachselt, R. (2004): Streaming Medien (1 Einführung in Streaming
Medien, Begriffe, Medientypen, Gesamtprozeß, Protokolle; 2 Von der Produktion bis zur
Auslieferung: Streaming-Architekturen) (30.12.2004)(online)
URL: http://www-mmt.inf.tu-dresden.de/Lehre/Sommersemester_04/Vo_SM/index.htm
Schädler, Martin (1999): Erweiterung eines RTP Recorders um Mechanismen zur
Aufzeichnung ereignisorientierter Medienströme (09.12.2004)(online)
URL: http://pi4.informatik.uni-mannheim.de/~hilt/publications/MartinSchaedlerDipl.pdf
Mieves, Hendrik: Real-time Transport Protocol / RTP Control Protocol – Ein Internet
Protokoll für multimediale Datenströme (09.12.2004)(online)
URL: www.informatik.tu-darmstadt.de/BS/Lehre/Sem99/proceedings/p106-final.ps
Bölsterli, Stefan; Frick, Philip (2003): Verteilte MPEG4 Videoüberwachung
(09.12.2004)(online)
URL: www.medialab.ch/archiv/pdf_studien_ diplomarbeiten/da03/Videouebertragung.pdf
Dr.-Ing. Theile, Günther; Dipl.-Ing. StollI, Gerhard (2005): Internet Streaming
(28.12.2004)(online)
URL: http://www.irt.de/IRT/FuE/as/ASinternet.htm
Technische Grundlagen
für Streaming-Videos
Seite 53 von 58
Eva Feldmann
6 Literaturverzeichnis
Rieger, Sebastian (2003): Streaming-Media und Multicasting in drahtlosen Netzwerken
(13.12.2004)(online)
URL: http://www.gwdg.de/forschung/publikationen/gwdg-berichte/gwdg-bericht-61.pdf
H. Schulzrinne, A. Rao, R. Lanphier (1998): Real Time Streaming Protocol (RTSP)
(23.12.2004)(online)
URL: http://www.cs.columbia.edu/~hgs/rtsp/draft/draft-ietf-mmusic-rtsp-09.pdf
Barz, Bernhard; Lanyi, Katrin (2000): Streaming Media im Internet (24.2.2004)(online)
URL: http://edoc.hu-berlin.de/e_rzm/20/bynum/3.pdf
Adobe Dynamic Media Group (2001): Leitfaden für Streaming Media (25.2.2004)(online)
URL: http://www.adobe.de/products/premiere/pdfs/smprimer_de.pdf
Staab, Markus; Indra, Andreas (2002): Streaming Media (24.2.2004)(online)
URL: http://www.tfh-berlin.de/~godberse/semesterarbeiten/ia2/streaming.pdf
Herche, Daniel u.a. (2000): Streamingtechnologien für Videodaten (31.10.2004)(online)
URL: http://eldorado.uni-dortmund.de:8080/FB4/ls1/lehre/2000/Streamingtechnologien/SeminarStreamingVid
eosig.pdf
Bauer, Thomas (1999): Webbasiertes skalierbares Videoinformationssystem (WESVIN)
für Forschung und Lehre (14.1.2005)(online)
URL: http://www.cells.de/cellsger/4wir/publikationen/diplomarbeit/tbauer/Diplomarbeit.pdf
slashCAM - channel unit GmbH: slashCAM (14.12.2004)(online)
URL: http://www.slashcam.de
Universität zu Köln: Streaming: Video und Audio im Internet (14.12.2004)(online)
URL: http://www.uni-koeln.de/rrzk/multimedia/dokumentation/streaming/
Book, Matthias (2000): Resource Reservation Protocol / Realtime Transport Protocol
(20.12.2004)(online)
URL: http://www.matthiasbook.de/papers/rsvp-rtp/index.html
Technische Grundlagen
für Streaming-Videos
Seite 54 von 58
Eva Feldmann
7 Tabellenverzeichnis
8 Tabellenverzeichnis
Kapitel
Bezeichnung Tabelle
Seite
3.3-1
Vergleich HTTP- und echtes Streaming
25
(Quelle: Staab, Markus; Indra, Andreas (2002): Streaming Media (S. 13))
4-1
Streaming-Server und unterstützte Protokolle
27
(Quelle: Universität zu Köln: Streaming: Video und Audio im Internet)
4.1.1-1 Beispiel für Zustandsänderung (Quelle: Staab, Markus;
32
Indra, Andreas (2002): Streaming Media (S. 18))
5-1
Übersicht der Kommunikationsformen
48
(Quelle: Schädler, Martin (1999): Erweiterung eines RTP Recorders um
Mechanismen zur Aufzeichnung ereignisorientierter Medienströme (S. 10))
Technische Grundlagen
für Streaming-Videos
Seite 55 von 58
Eva Feldmann
8 Abbildungsverzeichnis
9 Abbildungsverzeichnis
Kapitel
Bezeichnung Abbildung
Seite
3.1-1
OSI Referenzmodell (Quelle: Herche, Daniel u.a. (2000):
12
Streamingtechnologien für Videodaten (Seite 19))
3.1-2
Weg eines Datenpaketes im Referenzmodell
14
(Quelle: Herche, Daniel u.a. (2000): Streamingtechnologien für
Videodaten (Seite 20))
3.1-3
Zuordnung der Streamingprotokolle in sOSI Referenzmodell
15
(Quelle: Bauer, Thomas (1999): Webbasiertes skalierbares
Videoinformationssystem (WESVIN) für Forschung und Lehre (Seite 9))
3.2-1
Zuordnung des OSI Referensmodells zum TCP/ IP Modell
16
(Quelle: Herche, Daniel u.a. (2000): Streamingtechnologien für
Videodaten (Seite 21))
3.2-2
Architekturbeispiel (Quelle: Herche, Daniel u.a. (2000):
17
Streamingtechnologien für Videodaten (Seite 22))
3.2.1.1-1
Aufbau TCP-Header (Quelle: Herche, Daniel u.a. (2000):
18
Streamingtechnologien für Videodaten (Seite 27))
3.2.1.1-2
Verbindungsaufbau über „Three way handshake“
20
(Quelle: Herche, Daniel u.a. (2000): Streamingtechnologien für
Videodaten (Seite 29))
3.2.1.2-1
Aufbau UDP-Header (Quelle: Herche, Daniel u.a. (2000):
21
Streamingtechnologien für Videodaten (Seite 30))
4-1
Protokollvergleich von HTTP- und echten Streaming
26
(Quelle: Adobe Dynamic Media Group (2001):
Leitfaden für Streaming Media (Seite 19))
4.1-1
Verbindung während eines Streams (Quelle: Staab, Markus;
28
Indra, Andreas (2002): Streaming Media (Seite 15))
4.1.1-1
Zusammenhang zwischen den Protokollen (Quelle: Neumann, Marco;
29
Heinbockel, Malte (2003): Erstellung eines Videokonferenzsystems (S. 12))
4.1.1-2
Schematische Darstellung einer RTSP-Sitzung (Quelle: Staab, Markus;
30
Indra, Andreas (2002): Streaming Media (Seite 18))
4.1.1-3
Struktur einer RTSP-Sitzung (Quelle: Staab, Markus;
30
Indra, Andreas (2002): Streaming Media (Seite 16))
Technische Grundlagen
für Streaming-Videos
Seite 56 von 58
Eva Feldmann
8 Abbildungsverzeichnis
4.1.2-1
Anordnung des RealTime Transport Protokolls
33
(Quelle: Mieves, Hendrik: Real-time Transport Protocol/ RTP Control
Protocol – Ein Internet Protokoll für multimediale Datenströme (Seite 3))
4.1.2-2
Schematische Darstellung der Arbeitsweise eines RTP-Mixers
35
(Quelle: Staab, Markus; Indra, Andreas (2002): Streaming Media
(Seite 20))
4.1.2-3
RTP-Header (Quelle: Staab, Markus; Indra, Andreas (2002):
35
Streaming Media (Seite 21))
4.1.3-1
Struktur eines RTCP-Paketes (Quelle: Staab, Markus;
37
Indra, Andreas (2002):treaming Media (Seite 22))
4.1.4-1
Ablauf RSVP Reservierung (Quelle: Staab, Markus;
39
Indra, Andreas (2002):treaming Media (Seite 24))
4.1.4-2
Reservierung in einem Netzwerkknoten (Quelle: Staab, Markus;
41
Indra, Andreas (2002):treaming Media (Seite 25))
4.3-1
Phasen einer MMS-Sitzung
43
(Quelle: Rieger, Sebastian (2003): Streaming-Media und Multicasting in
drahtlosen Netzwerken (Seite 54))
4.3-2
Ablauf ASF Stream Redirector File (ASX)
45
(Quelle: Rieger, Sebastian (2003): Streaming-Media und Multicasting in
drahtlosen Netzwerken (Seite 55))
4.3-3
Struktur eines ASF-Paketes
47
(Quelle: Rieger, Sebastian (2003): Streaming-Media und Multicasting in
drahtlosen Netzwerken (Seite 57))
5.1-1
Grafische Darstellung Unicast-Verbindung
49
5.2-1
Grafische Darstellung Broadcast-Verbindung
49
5.3-1
Grafische Darstellung Multicast-Verbindung
50
Technische Grundlagen
für Streaming-Videos
Seite 57 von 58
Eva Feldmann
10 Eidesstattliche Erklärung
Ich erkläre am Eides statt, dass ich die vorloegende Arbeit (entsprechend der genannten
Verantwortlichkeit) selbständig und nur unter Verwendung der angegebenen Quellen und
Hilfsmittel angefertigt habe.
Die Zustimmung der Firma zur Verwendung betrieblicher Unterlagen habe ich eingeholt. Die
Arbeit wurde bisher in gleicher oder ähnlicher Form weder veröffentlicht noch einer anderen
Prüfungsbehörde vorgelegt.
Dresden
Ort
14. Januar 2005
Abgabetermin
Technische Grundlagen
für Streaming-Videos
Unterschrift des Verfassers
Seite 58 von 58
Eva Feldmann

Documentos relacionados