Audio/Video-Streaming

Ähnliche Dokumente
Streaming Media - MPEG-4 mit Linux

Videos für das Internet

Streaming Protokolle Jonas Hartmann

Videostreaming. Josko Hrvatin DMT. Prof. Dr. Robert Strzebkowski. TFH-Berlin WS 05/06

Multimediatechnik / Video

Multimediatechnik / Video

Verteilte Systeme Übung T5

Internet Protokolle für Multimedia - Anwendungen

Streaming Techniken zur Übertragung multimedialer Daten im Web Universität Paderborn

SCHICHTENMODELLE IM NETZWERK

Basler Components. Unicast- & Multicast-Verbindungen mit einer Basler IP-Kamera APPLICATION NOTES

Erfahrungen mit QuickTime Streaming. Bernhard Barz Uwe Pirr Humboldt-Universität zu Berlin Rechenzentrum

Das Internet-Protocol. Aufteilung von Octets. IP-Adressformat. Class-A Netzwerke. Konventionen für Hostadressen

Softwaredatenblatt #SAMCAST (für Windows PCs)

MULTIMEDIA VIA INTERNET

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering

F A C H H O C H S C H U L E W E D E L S T U D I E N A R B E I T

Campus-TV der Uni Mainz

Digitales Video I. Wie wird Video am Computer codiert? Bilder. Bewegte Bilder. Ton. Videoformate. Auflösung Speicherung am Computer

Kommunikation im lokalen Netz

... relevante Ports für Streaming bzw. Remote Control!

Kooperatives Multimedia Streaming

Page 1. Das World Wide Web: Wie erstellen wir integrierte Anwendungen fürs neue Lernen?

Audio- und Videodatenströme im Internet

Video Streaming aus der Cloud

Eigenschaften von IP-Netzen (1 / 2)

Programmobjekt-basierter Internet-Rundfunk

Einführung. Internet vs. WWW

Vorlesung 11. Netze. Peter B. Ladkin Sommersemester 2001

AGENDA. Einleitung. Übersicht Begriffsklärung Vorstellen der Tools. Vorstellen der Technologie ASF Windows Media Format DRM

Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012

Voice over IP. Voice over IP. 5. Juni P. Fiek & F. J. Ogris. Abstrakt: leitungs- vs. paketvermittelnde Netze

Informations- und Kommunikationssysteme

- Man versieht die Nachricht mit der Adresse des Empfängers und schickt Sie per Knopfdruck ab.

Verteidigung der Diplomarbeit 3D-Netzwerk-Visualisierung

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.

Proxy Caching von Multimediaströmen

Netzwerk-Programmierung. Netzwerke.

Musik und PC Input, Veränderung, Output

Videoexport & Dateiformate

Vorlesung 11: Netze. Sommersemester Peter B. Ladkin

Netzwerkprogrammierung unter Linux und UNIX

, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2006w-MMK-D-VoD.fm, ]

Reservation von Ressourcen im Internet. Prof. B. Plattner ETH Zürich

Rechnernetze Übung 11

AVerMedia Pressemitteilung

... Konfiguration des IO [io] 8000 in einem LAN?

ATM LAN Emulation. Prof. Dr. W. Riggert

2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn

Videokonferenzen & multimediale Kommunikation

SMAVIA Recording Server Version SP C

SMAVIA Recording Server Version SP A

Vorlesung SS 2001: Sicherheit in offenen Netzen

Synchrone Audio- und Videowiedergabe auf mehreren Geräten

Kommunikationsnetze 1. TCP/IP-Netze 1.2 TCP. University of Applied Sciences. Kommunikationsnetze. 1. TCP/IP-Netze 1.

Video over IP / Videostreaming

Medientransport im Internet

High Definition Geräte Anspruch und Wirklichkeit

Softwarepraktikum Sommersemester 2006

Softwaredatenblatt #SAMBC (für Windows PCs)

Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts. Thorsten Ludewig. Juni 2004

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

knxpresso IP-Interface

Live Streaming => Netzwerk ( Streaming Server )

KVN-Portal. das Onlineportal der KVN. Dokumentation für Microsoft Windows. Version 6.0 vom Kassenärztliche Vereinigung Niedersachsen

Multicast Routing in Ad Hoc Netzen

Computeranwendung in der Chemie Informatik für Chemiker(innen) 4. Netzwerke

Grundkurs Routing im Internet mit Übungen

I N T E R N E T. Einsteigerkurs. Teil 7 Downloads

Softwaredatenblatt #VDJ (für Windows PC und Mac)

Einführung. NETS Fokus 2018 / 1

Der neue Weg zur Audio-Verteilung in Echtzeit im LAN/WAN

Verteilte Systeme - Java Networking (Sockets) -

Rechnern netze und Organisatio on

Präsentation zum Thema. Web 2.0 Youtube ITV. von. Rafael Radziej

, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2006w-MMK-C-VoIP.fm, ]

Netzwerke. Netzwerk - Programmierung. Alexander Sczyrba. Madis Rumming.

Video-Thema Manuskript & Glossar

Universal Server & Gateway REALNETWORKS

Client-Server-Prinzip

ANLEITUNG ZUM ZUGRIFF AUF FTP SERVER FÜR DIE DRUCKDATENÜBERTRAGUNG

DVB-T FELDVERSUCH IN GRAZ

Systeme II 2. Multimedia

Einführung Internet Geschichte, Dienste, Intra /Extranet, Browser/Server, Website Upload. Dipl. Ing. Dr. Alexander Berzler

FCoE (Fibre Channel over Ethernet) Eine Lösung für konvergente Datencenter

Konfigurationsanleitung IGMP Multicast - Video Streaming Funkwerk / Bintec. Copyright 5. September 2008 Neo-One Stefan Dahler Version 1.

Webstreaming Grundlagen. Thomas Baumann

FTP File Transfer Protocol

Adaptives Unicast Live-Streaming für mobiles Fernsehen

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik

OSI Referenzmodell. Aufbau des Referenzmodells Funktionsweise

Multicast-Kommunikation Teleseminar Wintersemester 1999/2000. MOSPF (Multicast Open Shortest Path First)

Glasfaserinternet in Kaltern an der Weinstraße

Drafting behind Akamai

Übung 5: Transport. Rechnernetze. Wintersemester 2014/ Allgemeine TCP Verständnisfragen

Terrestrik mit hybriden Netzen in die Zukunft? Neue Ansätze zur Verknüpfung von terrestrischem Broadcast mit Internet

Anleitung zu VideoLAN Client (VLC)

Transkript:

Audio/Video-Streaming Echtzeitübertragung von Mediendaten Schwerpunkt-Seminar 2000 Multimedia (C) 2000 Heiko Panther heikop@mac.com

Inhalt 1. Um was geht es? (Einleitung) 2. Shoutcast 3. QuickTime TV 4. Ausblick 5. Literatur & Links

1. Um was geht es? - Einleitung Beim Streaming sollen immer Mediendaten verschiedener Art übertragen werden. Der Komfort für den Benutzer soll erhöht und die Interaktivität gesteigert werden. Die herkömmliche Methode zur Übertragung war Filetransfer. Der neue Ansatz: Streaming. Was ist mit Mediendaten gemeint? Filme und Animationen: Bewegte Bilder, entweder Bitmap- oder Vektorbilder. Bilder, Grafiken, Zeichnungen: Einzelbilder, z.b. in Form einer Slideshow. Ton, Musik, Sprache, MIDI: Verschiedene Formen von Audiosignalen. Die ersten drei Kategorien können eigenständig sein, MIDI wird meist als zusätzliche Spur von z.b. Filmen benutzt. Text: Denkbar als zusätzliche Spur für Filme und Audioprogramme (Untertitel). Spezielle Formate: Nachrichten, Wetter, Börse,... Übertragung kompletter Dateien Eine herkömmliche Dateiübertragung, z.b. über das FTP- oder HTTP-Protokoll besitzt keine Echtzeittauglichkeit. Es ist keine Liveübertragung möglich (oder nur unter bestimmten Einschränkungen und Mißbrauch des Protokolls). Die Datei ist meist erst brauchbar, wenn sie ganz übertragen ist, weil z.b. bestimmte wichtige Datenstrukturen am Ende der Datei stehen, oder Software die Bearbeitung der Datei ablehnt, weil die Prüfsumme falsch ist. Die komplette Übertragung bedingt langes Warten, bevor der Inhalt betrachtet werden kann. Weiterhin wird für die meisten Medien sehr viel lokaler Speicherplatz benötigt. Was bedeutet Streaming? to stream bedeutet auf Deutsch strömen, fließen. Das ist eine recht gute Beschreibung des Vorgangs: Beim Streaming werden ständig Daten übertragen. Die Übertragung erfolgt in Echtzeit.

Was bringt Streaming? Das Abspielen beginnt sofort bzw. nach einer relativ kurzen, konstanten Zeit zur Pufferung eines gewissen Datenvorrats. Der Benutzer kann sich Live-Übertragungen auch live ansehen. Bei fertigen Medien (d.h. keine Live-Übertragung) ist direktes Anwählen einer Stelle möglich. Und: Es müssen nur wenige Sekunden lokal gespeichert werden. Unterschied zwischen Live-Stream und aufgezeichnetem Stream Aufgezeichneter Stream: Die komplette Sendung liegt auf dem Server und wird per Stream übertragen. Live-Stream: Übertragung erfolgt gleichzeitig mit der Aufnahme. Beispiele für Live-Streams: IP-Telefonie Video-Chat (ivisit) MP3-Streaming (Shoutcast) Fernsehen und Live-Übertragungen (QuickTimeTV) Beispiele für aufgezeichnete Streams: Werbevideos Video-on-Demand Video- und Tonschnipsel zur Demo/Vorschau im virtuellen Kaufhaus Wo liegt die Herausforderung beim Streaming? Die Daten müssen in der richtigen Reihenfolge verschickt und empfangen werden. Daten können beim Transport verspätet, beschädigt oder verloren werden. Deshalb sind Strategien erforderlich, die das Fehlen von Daten behandeln. Möglichkeiten sind beispielsweise das Wiederholen der letzten Bilder oder ein Fade-Out. Weiterhin steht nicht beliebig viel Bandbreite zur Verfügung. Es kann aber nicht beliebig gewartet werden, bis die Daten übertragen sind. Also muß der Stream an die vorhandene Bandbreite angepaßt werden.

2. Shoutcast Shoutcast wurde vom Winamp-Hersteller Nullsoft entwickelt. Die Server-Software ist kostenlos verfügbar (Download). Shoutcast dient der Übertragung von Ton (Musik, Sprache...), analog zum Radio. Dabei wird der Ton MPEG-1 Layer 3 (MP3) - komprimiert übertragen. Als Empfänger sind die meisten MP3-Player geeignet. Der Freeware-Clone Icecast ist im Quellcode unter der GNU GPL verfügbar. Shoutcast: Topologie DJ xmms Audion Winamp Client xmms Audion Winamp Client xmms Audion Winamp Client xmms Audion Winamp Server shoutcast icecast Das Zentrum des Systems bildet der Shoutcast-Server. Er erhält einen MP3- Datenstrom vom Diskjockey (DJ) und verteilt ihn an die Clients. Der DJ benötigt entweder einen simplen MP3-Player mit Shoutcast-Plugin (damit kann er fertige MP3s senden) oder einen speziellen Echtzeit-Encoder (damit kann er dann auch live Sprache, Kommentare o.ä. senden). Daß DJ und Server auf getrennten Computern arbeiten hat den Vorteil, daß der DJ keine hohe Bandbreite benötigt, also nicht an einem Netzwerk-Hauptknoten sitzen muß.

Shoutcast: Details Vom DJ zum Server wird Bandbreite entsprechend der Stream-Bitrate benötigt, z.b. 56kBit oder 128 kbit. Vom Server aus wird für jeden Client nochmal dieselbe Bandbreite benötigt (Unicast). Ein typischer Server mit 100 Streams benötigt so 12,8 Mbit. Die Bitrate ist durch den Stream festgelegt, es findet also keine Anpassung auf die Verbindungsgeschwindigkeit des Clients statt. Wenn die Bitrate zu hoch ist, besteht keine Möglichkeit, den Stream zu empfangen. Shoutcast benutzt das HTTP-Protokoll. Der Client sendet einen einfachen HTTP- Get-Request an den Server, dieser antwortet mit einem kurzen Header und sendet nachfolgend den Stream selbst. Das HTTP-Protokoll bietet hier den Vorteil, daß es fast jede Firewall durchdringt und auch sehr einfach zu implementieren ist. Dem Streaming-Gedanken entgegen steht jedoch, daß es mit Fehlerkorrektur arbeitet und daher nicht immer in kürzestmöglicher Zeit Daten liefert. Shoutcast: Vorteile Ein typisches Setup ist sehr einfach: Shoutcast kommt meist mit vorhandener Infrastruktur (Server / Netzanbindung / Routing) aus. Durch die MP3-Kompression ist hervorragende Klangqualität möglich. Mit Shoutcast wird Radio von jedem, für jeden möglich. Wer möchte, kann mit recht einfachen Mitteln einen eigenen Internet-Sender aufbauen. Das bedeutet tatsächlich eine gewisse Demokratisierung des Mediums Rundfunk. Denn früher war es wirklich undenkbar, ein Audioprogramm weltweit mit einfachen Mitteln verfügbar zu machen. Shoutcast: Nachteile Beim einfachen Unicast-Prinzip von Shoutcast wächst der Bandbreitenbedarf der Serveranbindung linear. Dadurch ist keine besonders hohe Nutzerzahl realisierbar. Man bedenke: Selbst eine kleine Rundfunkstation kann mehrere 100.000 Hörer versorgen. Das über das Internet mit einem 64kBit-Stream zu versuchen, würde die unglaubliche Bandbreite von 6,4 GBit verschlingen - eine Bandbreite, die heute nur die größten Backbones besitzen. Das Problem bei jedem Unicast-Verfahren ist die enorme Redundanz. Wenn über einen bestimmten Knoten n Clients angebunden sind, so muß dieser Knoten n-mal die gleichen Daten übertragen, obwohl eine einzige Übrtragung reichen würde. Shoutcast kann die Interaktivitäts-Vorteile des Internet nicht nutzen, es bleibt ein unidirektionales Medium wie das klassische Radio.

3. QuickTime QuickTime ist ein Multimedia-Gesamtsystem, bestehend aus Applikationen und Bibliotheken (API - Application Programmer Interfaces). Der Hersteller Apple Computer bietet es für Windows und Macintosh an. Die wichtigste Applikation aus dem QuickTime-Paket ist der QuickTime Player. Er kann ein enormes Spektrum an Medien darstellen (Sound, Video, Virtual Reality, Flash usw.). Dieselben Möglichkeiten, die der QuickTime Player hat, kann jeder Entwickler auch in seinem eigenen Programm nutzen. Über die QuickTime API s können alle Funktionen aufgerufen werden. Die Basis dafür bietet ein komplexes Framework, welches Codecs für alle gebräuchlichen Mediaformate (MPEG, H263+, usw.) und verschiedene Spezialformate besitzt. QuickTime: QuickTime TV QuickTime TV ist der Name für die Technik, mittels QuickTime Fernsehprogramme oder beliebige andere Video-Streams über TCP-Netzwerke zu übertragen. Die Technik ist integriert in QuickTime und kann sowohl über die den QuickTime Player als auch über die QuickTime APIs verwendet werden. Tatsächlich abstrahiert das System auf der Ebene Movie : Es ist für den Benutzer (und Programmierer) egal, ob der Film lokal oder auf einem Server gespeichert ist. QuickTime bietet für Streams die gleichen Funktionen wie für lokal gespeicherte Filme. Damit ist der Zugriff auf verschiedene Internet-TV-Sender möglich, die ihre Ausstrahlung im QuickTime-Format über QuickTime Streaming Server anbieten. Alle namhaften Sender haben ihr Programm auf diese Weise im Internet, Beispiele sind CNN, Disney und MTV. Wegen des enormen Bandbreitenhunger dieser Anwendungen hat sich Apple an Akamai beteiligt (12%). Akamai baut ein weltweites Verteilnetz für Streaming- Anwendungen.

QuickTime Streaming Server: TV-Sender für jeden Die QuickTime Client Software ist kostenlos erhältlich (Download). Der QuickTime Streaming Server (QTSS) ist als Darwin Streaming Server kostenlos und sogar im Quellcode erhältlich. Als Protokolle benutzt QTSS entweder Standard-HTTP oder die Kombination von RTP (Realtime Transport Protocol) und RTSP (Real Time Streaming Protocol). RTSP ist dabei ein Steuerprotokoll und RTP ein Übertragungsprotokoll. Diese Protokolle sind offene Internet-Standards. Auf Apples Ankündigung und Veröffentlichung der Sourcen hin bekannten sich u.a. auch IBM und Real Networks zum RTSP. Einfaches (Unicast-) Streaming Der Client findet Information über den Server in einem Movie- oder SDP(Session Description Protocol)-File, das z.b. auf einer WWW-Seite abgelegt sein kann. Er teilt dem Server über eine Control-Anfrage mit, daß er den Stream empfangen möchte. Daraufhin beginnt der Server mit der Übertragung. Für jede Spur (Video/Audio/etc.) wird dabei ein einzelner Port belegt. Unicast: Nachteile Unicast benötigt viel Bandbreite, vor allem bei der Server-Anbindung! Siehe Diskussion von Shoutcast. Die Abhilfe: Multicast. Damit wird zwischen zwei Knoten derselbe Stream nur einmal übertragen.

Multicast Beim Multicast wird vom Server nur ein Stream übertragen. Da dieser an mehrere Zielrechner gerichtet sein kann, ist es unsinnig, den Paketen eine Ziel-TCP-Adresse zu geben. Statt dessen ist ein Teil der TCP-Adressen für Multicast vorbehalten. Der Server nimmt sich also aus dem Pool der vorhandenen Multicast-Adressen eine, die dann zur Adresse des Streams wird. Ein Client kann nun den Stream, der mit dieser Multicast-Adresse versehen ist, entgegennehmen. Voraussetzung dafür ist, daß der Stream beim Client ankommt. Multicast und Router Nicht alle Router sind Multicast-fähig. Je nach Baujahr verwerfen ältere Router Multicast-Pakete oder leiten sie unbedacht weiter (was natürlich den Anteil an unerwünschtem Traffic steigert). Außerdem: Der Router muß erst einmal erreichen, daß der Stream überhaupt an ihn gesendet wird. Denn wenn ein anderer Router den gewünschten Stream nicht weiterleitet (z.b. weil ihm nicht bekannt ist, daß jemand den Empfang wünscht) ist dieser Router auch machtlos. Multicasting über das gesamte Internet ist ein sehr komplexes Thema, welches hier nicht erschöpfend diskutiert wird. Der in den Literaturhinweisen angegebene c t- Artikel ist zur Vertiefung sehr empfehlenswert. Multicast ohne MC-fähigen Router Lösung: Reflektoren im Multicast-fähigen Netzbereich empfangen den Multicast und bauen zu den Clients Unicast-Verbindungen auf So wird wenigstens ein Teil des Netzes entlastet.

HTTP vs. RTP HTTP Keine Echzeit Sequentieller Download TCP-Übertragung mit Fehlerkorrektur bringt Verzögerung bei Paketfehlern HTTP kommt durch fast jede Firewall RTP Nur Echtzeit (keine Dateiübertragung, keine Speicherung) Beliebiges Springen UDP-Übertragung ohne Fehlerkorrektur ignoriert Paketfehler Paranoide Firewalls verbieten UDP oder Port-Access auf unbekannten Ports QuickTime Stream-Aufbau Zum Streamen über RTP müssen die Mediendaten paketiert werden. Die Pakete werden dabei mit zusätzlichen Informationen ausgestattet. Entweder wird die Paketierung in Echtzeit erledigt (bei Live-Sendungen) oder offline berechnet und für den späteren Gebrauch durch den Server in einem Hint Track gespeichert. Paketierung Der Paketierer muß das Format des Mediums kennen. Er erzeugt Pakete (bei Live- Streaming) oder Hint-Tracks. Der Server kann dann die paketierten Daten bzw. Daten mit Hint-Tracks ohne Kenntnis des Medienformats übertragen. Hint Tracks Hint-Track kann man mit Hinweis-Spur übersetzen. Hint Tracks werden beim Exportieren eines Films (z.b. aus dem Editor / Schnittprogramm) erzeugt, meistens über Exportsettings wie Für Streaming. Hint Tracks steigern die Effizienz des Servers und ermöglichen das Springen im Film. Ein Reflektor benötigt keine Hints.

4. Ausblick Mit dem Voranschreiten der Technik und dem Ausbau der Bandbreite wird Videound Audio-Streaming zur Konkurrenz für die herkömmlichen Verteilwege (terrestrischer bzw. Satellitenfunk, Kabel, Videokassetten). Dabei kann man sehen, daß sich die Technik von unten an die bestehenden Massenmedien annähert. Die Qualität und das Handling sind zur Zeit noch nicht vergleichbar, die Interaktivität und die Auswahl an Programmen ist jedoch vielversprechend und birgt ein großes Potential. Während davon auszugehen ist, daß Internet-Streaming sich noch stark entwickeln wird, daß es geradezu noch am Anfang steht, kann bei bestehenden Massenmedien keine große Entwicklung beobachtet werden. Die Einführung von Digitalfernsehen kann nicht über die mangelnde Vielfalt des Programms hinwegtäuschen, die z.zt. im deutschen Fersehmarkt herrscht. Hier existieren große Marktlücken für Spartenprogramme und Video-on-Demand. So wird es auch einfacher, an beliebige Medien zu kommen. Konnte man bisher z.b. exotische Low-Budget-Produktionen höchstens als teuren Importfilm bekommen, kann man den Film vielleicht schon bald über das Internet direkt ansehen. In Zukunft wird jeder die technische Möglichkeit haben, ein eigenes Programm anzubieten. Damit bieten sich der Demokratisierung der Medien neue, ungeahnte Möglichkeiten. Dieselbe Auswirkung, die das WWW auf die Printmedien der Informationsgesellschaft hatte (jeder kann nun seine Informationen einer Weltöffentlichkeit präsentieren) wird es in ähnlicher Form auch bei den audiovisuellen Medien geben. So ist heute schon bei den Shoutcast-Sendern eine erstaunliche Vielfalt zu bewundern. Natürlich werden auch hier die kommerziellen Interessen immer Vorrang geniessen. Ein kapitalkräftiger Konzern kann sich mehr Bandbreite und einen höheren Quality of Service leisten als eine private Station, und erscheint so für das Massenpublikum attraktiver. Natürlich ist Streaming nicht auf die öffentliche Medienverbreitung beschränkt. Die Verfahren z.b. zur Videotelefonie oder Videokonferenz entwickeln sich gleichzeitig und lassen völlig neue Wege des menschlichen Zusammenlebens und Kommunizierens entstehen. Die Menschen rücken näher zusammen, und gleichzeitig auch weiter voneinander weg. Gerade im Zeitalter der elektronischen Kommunikation erhalten zwischenmenschliche Beziehungen eine neue Bedeutung.

5. Literatur & Links F. v. Leitner, Bilder für alle; Multicast: Sendeverfahren für Audio und Video im Netz, c t 12/2000 212 ff. ivisit, Videokonferenzsoftware, http://www.ivisit.com/ Shoutcast, MP3-Streaming, http://www.shoutcast.com/ Icecast, freier Shoutcast-Clone, http://www.icecast.org/ Akamai, Anbieter von Streaming-Services und Infrastruktur, http://www.akamai.com/ Quicktime, Media-Toolkit, http://www.apple.com/quicktime/ Quicktime Player, Media-Player, http://www.apple.com/quicktime/download/ Quicktime TV, Internet-TV, http://www.apple.com/quicktime/qtv/ Quicktime Streaming Server, http://www.apple.com/quicktime/products/qtss/ Darwin Streaming Server, http://www.publicsource.apple.com/projects/streaming/ Quicktime Entwickler-Seiten, http://developer.apple.com/quicktime/