Video over IP / Videostreaming - einige wenige Aspekte - Prof. Dr. Robert Strzebkowski Beuth Hochschule für Technik Berlin Unterscheidung: 'Echter Streaming' mit Streaming-Server HTTP-Download als 'Pseudostreaming' mit Web-Server Quelle: www.tagesthemen.de Quelle: http://trailers.apple.com/trailers/universal/larrycrowne/
'Echter Streaming' mit Nutzung eines Streaming-Servers Quelle: www.tagesthemen.de 'Echter Streaming' mit Nutzung eines Streaming-Servers Als Streaming kann eigentlich nur eine AV-Übertragung bezeichnet werden, die mit Hilfe eines sog. Streaming-Servers geschieht, der darauf spezialisiert ist, AV-Daten schnell und möglichst zuverläßig an viele gleichzeitige Nutzer auszuliefern. Vorteile: - Es wird nur das an den Endnutzer übertragen, was er gerade sieht plus sog. 'Buffering-Daten', also stets nur ein kleiner, wenige Sekunden dauernder Ausschnitt der gesamten Videodatei. - Die Nutzer können im Stream soweit als sog. 'Video-on-Demand' angeboten - flexibel navigieren / hin und her springen Nachteile: - spezielle Ports müssen in dem Netzwerk geöffnet sein, was oft ein Problem bei Firmen und Einrichtungen ist. - man muss einen Streamingserver betreiben, die in der Regel ab ca. 1000,- kosten. - Die Qualität des Videostreams kann unter Umständen stark variieren, wenn der Videostream im offenen Internet übertragen wird.
'Echter Streaming' mit Nutzung eines Streaming-Servers basiert auf speziellen Streaming-Protokollen (siehe hierzu Ausführungen weiter in der Präsentation) Auch ein 'echter' Streaming kann heute bei den neuen Streaming-Servern auch als sog. 'HTTP-Streaming' (oder auch als sog. 'dynamisches HTTP-Streaming) ausgeführt werden, damit die Problematik mit den speziellen geöffneten Ports nicht auftritt und der Stream über die gängigen Ports '80' oder '8080' geschickt werden können. Mehr zu dem Thema können Sie unter folgendem Link lesen: - http://www.adobe.com/de/products/httpdynamicstreaming/faq/ 'Pseudo-Streaming' mit Nutzung eines Web-Servers Quelle: http://trailers.apple.com/trailers/universal/larrycrowne/
'Pseudo-Streaming' mit Nutzung eines Web-Servers Das als sog. 'progressive Download' bezeichnete 'Pseudostreaming' bedarf keinen speziellen Streaming-Server und kann mit normalen Web-Server angeboten werden. Diese Art des Streamings funktioniert wie ein gewöhnlicher Datendownload mit dem Unterschied, dass während des Ladens der Videodatei diese bereits abgespielt werden kann. Dies wird manchmal als sog. 'Fast Start' bezeichnet. einige Vorteile: - kein Streamingserver notwendig - keine Probleme mit gesperrten Ports - Die Qualität der Datei wird durch die Übertragung NICHT beeinträchtigt! Daher wird heutzutage diese Form des Videoangebots im offenen Internet für die Präsentation der Kinofilm-Trailer verwendet! Es einige Nachteile: - bei längeren Videobeiträgen und damit während des Downloads kann der Zuschauer nicht im Video nach hinten navigieren. - Beim Anfordern des Videos versucht der Client die ganze Datei herunterzuladen auch wenn der Zuschauer nur einen kleinen Teil des Videos sich anschaut negativ hinsichtlich des Verbrauchs vo Datenvolumen beim User und Anbieter.
Unterscheidung beim Streaming: Live Streaming (Livebroadcasts) On-demand Streaming / Prerecorded Content Unterscheidung beim Streaming: Live Streaming (Livebroadcasts)
Unterscheidung beim Streaming: On-demand Streaming Unterscheidung beim Streaming: On-demand Streaming mit Faststart-Funktion
Notwendige Komponenten für Live-Videostreaming Digitales oder analoges Videosignal, z.b. über die HDMI- Schnittstelle Videostream gepackt in ein Videostreaming- Format und Protokoll, z.b. als RTMP per Netzwerkverbindung Web-Server mit der WebTV-Applikation, die das Videostream von dem Streaming- Server einbindet. Encoder-Rechner oder Gerät zur Aufbereitung des Videosignals von der Kamera in einen IP-basierten Videostream, z.b. als RTMP Streaming-Server zum Streamen des Videostreams an viele parallele User Internet und Internet-Protokolle sind ursprünglich für sicheren Datentransport und nicht für die Übermittlung von Multimedia-Daten konzipiert worden TCP/IP mit Kontrollen der Datenpaketübermittlung meistens werden Daten erst übermittelt und dann dargestellt Beim Streaming geht es um die Darstellung der Daten bereits während der Übertragung Streaming Media Technologien müssen flexibel mit dem Verlust kleiner Teile der Informationen umgehen
Für die Übertragung der Mediendaten wird auf das bereits existierende UDP User Datagram Protocol zurückgreifen UDP kann alternativ oder ergänzend zu dem TCP-Protokoll genutzt werden verzichtet auf die aufwendigen Kontroll- und Bestätigungsmechanismen Spezielle Protokolle für Streaming Real-Time Streaming Protocol (RTSP) Real-Time Transport Protocol (RTP) Real-Time Control Protocol (RTCP) Ressource Reservation Protocol (RSVP) Microsoft Media Server Protocol (MMS) RTSP (Real-Time Streaming Protocol ) ist ein offener Standard im OSI-Referenzmodell liegt es in der Anwendungsschicht stellt eine Schnittstelle für Server und Player verschiedener Hersteller dar erfüllt verschiedene Funktionen: - Bereitstellung der Videorecroder-Kontrolle: Play, Stop, Pause, Sprung zur bestimmten Stelle im z.b. On-Demand Stream - Verantwortlich für den Zugriff auf Stream-Dateien - Management von mehreren Streams in einem Movie-File - Kontrolle mehrerer Sessions - Wahl zwischen UDP, TCP, IP Multicast - Authentifizierung und Aufbau einer Session
RTP (Real-Time Transport Protocol ) Paketiereung der Media-Daten basiert auf UDP enthält Informationen im Datenkopf, die die korrekte zeitliche Übermittlung und Darstellung sowie Synchronisation der Daten ermöglichen - Timestamp - Source identifiers (für mehrer verlinkte Movies)
RTCP (Real-Time Control Protocol) wird in Verbindung mit RTP benutzt kontrolliert die Datenübermittlung, Paketauslieferung usw. Feedback vom Client zum Server zur Feststellung der Übertragungsqualität der Leitung Ressource Reservation Protocol (RSVP) erlaubt dem Client mit den Routern die Reservierung einer bestimmten Bandbreite für dien Übertragung bestimmter Streaming-Daten zu vereinbaren
Quelle: Diplomarbeit von Johannes Scholl, 02/2009 Quelle: Diplomarbeit von Johannes Scholl, 02/2009
Variable Bitrate Encoding (VBR) mit VBR-Encoding wird die benötigte Bandbreite im Netz anhand der 'Szenenkomplexität' eines Videostreams angefordert Szenen mit großen Bewegungen und damit höherem Datenaufwand brauchen mehr Bandbreite als Szenen mit wenig Inhaltswechsel Bit Rate (Kbps) 250 200 150 100 50 1 2 3 4 5 6 7 8 9 10 11 12 13 Zeit Unicasting / Multicasting beim Unicasting wird für jeden Client eine extra Verbindung zwischen Client und Server zum Empfangen eines Livestreams oder einer Videokonserve aufgebaut bei Ondemand Video, also keinem Livestream, ist es notwendig wegen der Möglichkeit zur Steuerung des Videos bei Livestreams führt Unicasting zu Belastungen des Servers und des Netzes, da sehr viele Nutzer (z.b. 2000) gleichzeitig auf den Server zugreifen und 2000 Streams gleichzeitig vom Server übers gesamte Netzwerk geschickt werden
Beispiel: Unicasting 2000 Streams werden durch das ganze Netz bis zu den Empfängern verschickt und es werden 2000 Verbindungen gleichzeitig zum Server aufgebaut hohe Server- und Netzbelastung Unicasting / Multicasting Bei Multicasting wir ein Stream vom Server ins Netz geschickt Die Verteilung des Videostreams übernehmen Multicast- Fähige Router, die den Multicast-Stream im Netz weiterleiten auf diese Weise können Empfänger (Clients) einer Videostreaming Session beiwohnen, indem die Daten vom nächst gelegenen Router übertragen werden, der bereits andere Clients mit dem Videostream versorgt dadurch wird die Server- und Netzwerkbelastung drastisch reduziert
1 Stream wird ins Netz geschickt. In dem Beispiel splittet der erste Mcast-Router den Stream in 2 Streams ujnd die Empfänger bekommen den Stream von dem nächsten Router. Splitting Verteilung der Videodaten auf mehrere Server - z.b. bei einem Livestream rufen einige Server den Videostream von dem 'Source'-Server ab und geben es weiter an die Clients (die Clients werden automatisch von dem Sourceserver auf die Splitting-Server umgeleitet)