Vorlesung Rechnernetze 10. Multimediakommunikation



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

Streaming Protokolle Jonas Hartmann

TCP/UDP. Transport Layer

Streaming Media - MPEG-4 mit Linux

Grundlagen der. Videokommunikation

SIRTCP/IP und Telekommunikations netze

Internet Protokolle für Multimedia - Anwendungen

Video Streaming aus der Cloud

Kontrollfragen: Internet

Videokonferenzen & multimediale Kommunikation

Multimediatechnik / Video

Multimediatechnik / Video

Voice over IP. Sprache und Daten in einem gemeinsamen Netz. Hans Peter Dittler BRAINTEC Netzwerk-Consulting GmbH

Video over IP / Videostreaming

Seminar Mobile Systems. The Session Initiation Protocol in Mobile Environment

TCP/IP-Protokollfamilie

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

CCNA Exploration Network Fundamentals. ARP Address Resolution Protocol

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

Buchner Roland, Günther Markus, Fischer Oliver

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

Swisscom TV Medien Assistent

Einführung. Internet vs. WWW

Lawful Interception (LI) für IP basierte Dienste. Standardisierung bei ETSI

Voice over IP. Sicherheitsbetrachtung

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

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

Modul 12: 12.1 Vertiefung Paket- u. Leitungsvermittlung 12.2 Voice over IP, Next Generation Networks

Anwendungsprotokolle: HTTP, POP, SMTP

im DFN Berlin Renate Schroeder, DFN-Verein

Vertrauliche Videokonferenzen im Internet

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

VoIP. Gliederung. 1. Einführung. 3.2Anforderungen 3.3Stand Dinge. 3.3Wie geht es Dinge weiter?

IMAP und POP. Internet Protokolle WS 12/13 Niklas Teich Seite 1

Einführung in die Netzwerktechnik

1. Technische Grundlagen 2. Überblick über die Testsysteme 3. Betrachtungen zur Wirtschaftlichkeit 4. Migration zu VoIP an der TU Ilmenau

KN Das Internet

Einführung in IP, ARP, Routing. Wap WS02/03 Ploner, Zaunbauer

Sicherheit bei Videokommunikation

Man liest sich: POP3/IMAP

APPS für Thecus NAS FTPManager

SIP Konfiguration in ALERT

Konferenzsysteme H.323-Videokonferenz, Acrobat Connect Webkonferenz, OCS(Lync)-Konferenz und schon wieder was Neues?

Aktuelle Möglichkeiten Informationen auszutauschen

Vorlesung SS 2001: Sicherheit in offenen Netzen

C.45 C.46 C Registrierung der Teilnehmer. 3.7 Registrierung der Teilnehmer (2) 3.7 Registrierung der Teilnehmer (3)

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

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

aft irtsch Der Vorfilm... er W er d artn etp tern In

Tess TeSign nutzen mit App's"! iphone und Bria Informationen zur Nutzung

Proseminar IP-Telefonie. Timo Uhlmann. Einleitung

PC-Kaufmann Supportinformation - Proxy Konfiguration für Elster

Öffnen Sie den Internet-Browser Ihrer Wahl. Unabhängig von der eingestellten Startseite erscheint die folgende Seite in Ihrem Browserfenster:

CNAME-Record Verknüpfung einer Subdomain mit einer anderen Subdomain. Ein Alias für einen Domainnamen.

Anleitung zur Einrichtung einer ABB Welcome Türkommunikation Anlage in den EisBär Scada V2.1 (Geprüft mit Version )

Digitale Sprache und Video im Internet

Hardware: QNAP TS 112 mit der Firmware Build 1126T mit 500GB Speicher Twonky Media Version

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele

SIP: Session Initiation Protocol (Signalisierungsprotokoll für Sessions) Request. Response

Grundlagen der. Videokommunikation

b. Sie erhalten danach von unserem Team Ihre neue Vermittler-Nummer (= VermittlerID).

Virtual Private Network

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

Vodafone Conferencing Meeting erstellen

Webstream.eu Live Streaming mit ManyCam

Digitales Video I Wie wird Video am Computer codiert?

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

telpho10 Update 2.1.6

Fachbereich Medienproduktion

Anleitung Grundsetup C3 Mail & SMS Gateway V

Telefonieren mit App's"! iphone mit Bria Informationen zur Nutzung von TeScript

Peer-to-Peer Internet Telephony using the Session Initiation Protocol (SIP)

Grundlagen der. Videokommunikation

So nutzen Sie die HiDrive App mit Ihrem Android Smartphone

Mobility Support by HIP

PlaceCam 3. Die Videokonferenzsoftware für Windows und Mac OS X. Jürgen Völkel Vertrieb daviko GmbH

Einfach noch mehr rausholen. Bedienungsanleitung Medien BETA

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

TK-Schnittstelleneinrichtung. Redundante Softswitches

Herzlich Willkommen - TeleSys!

Einrichtung Secure-FTP

Parallels Mac Management 3.5

Thema: VLAN. Virtual Local Area Network

SolarWinds Engineer s Toolset

Mathematik für Information und Kommunikation

Einbindung von Videos im ZMS

Kostenloser Apple-Softclient zur Nutzung von TeSign

Client/Server-Systeme

Installationsanleitung SSL Zertifikat

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung

Grundlagen Messdatennutzung

Webseiten und Web-Apps grafisch gestalten mit HTML5 Canvas ohne Flash und sonstige Tools

15 Transportschicht (Schicht 4)

Typo3 - Schulung: Fortgeschrittene I an der Hochschule Emden/Leer

HTBVIEWER INBETRIEBNAHME

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Datenfluss bei Voice-over-IP. Einflüsse auf Sprachqualität. Ende-zu-Ende-Verzögerungszeit (Delay) Schwankungen der Verzögerungszeit (Jitter) Sender

«Integration in WebSite» HTML-/Javascript-Code-Beispiele

Einrichtung eines -Kontos bei Mac OS X Mail Stand: 03/2011

==============================!" ==

Transkript:

10. Multimediakommunikation Prof. Dr. rer. nat. habil. Dr. h. c. Alexander Schill Fakultät Informatik,

Schichtenübersicht Anwendungsschicht Transportschicht Vermittlungsschicht Kap. 10 Anwendungsschicht Transportschicht Vermittlungsschicht Sicherungsschicht Logical Link Control (LLC) Media Access Control (MAC) Sicherungsschicht Bitübertragungsschicht Bitübertragungsschicht 10.2

1. Einführung Multimediakommunikation Definition: Audio und Video über das Internet (IP) in Echtzeit paketorientierte Vermittlung muss in einer bestimmten Geschwindigkeit abgespielt werden, sonst unbrauchbar neben Audio/Video häufig auch andere Medien Text Instant Messaging Sharing von Präsentationen und Dokumenten Shared Editing Anwendungen Video-Streaming YouTube, IP-TV Audio-Streaming Internetradio Voice over IP DSL-Telefonie, Skype Videokonferenzen Skype, Polycom WebConferencing WebEx, GotoMeeting Instant Messaging Jabber, WhatsApp 10.3

Anwendungsbeispiel: YouTube Werte nur beispielhaft und ohne TCP- Overhead gerechnet 10.4

Anwendungsbeispiel: Voice over IP 10.5

HTTP Audio- Codecs Video- Codecs RTSP Audio- Codecs Video- Codecs DNS SIP / SDP Audio- Codecs Überblick HTTP- Streaming Echtes Streaming VoIP TCP RTP / RTCP UDP IP 10.6

Abkürzungen letzte Folie VoIP Voice over IP IM Instant Messaging RTSP Real-time Streaming Protocol SIP Session Initiation Protocol SDP Session Description Protocol XMPP extensible Messaging and Presence Protocol RTP Real-time Transport Protocol RTCP Real-time Control Protocol 10.7

2. Codierung - Kompressionsverfahren Entropiekodierung (Kontext- und verlustfrei) medienunabhängig Lauflängen (Anzahl Muster) Huffman (Binärbaum) Quellenkodierung (kontext- und verlustbehaftet) medienabhängig Prädiktion (Differentielles PCM mit frequenzabhängiger Quantisierung) Hybrid JPEG (Joint Pictures Expert Group) (Einzelbilder) MPEG (Motion Picture Expert Group) (Video; Differenzkodierung) Arithmetisch (Datenstrom) Pattern Substitution Transformation (FFT/Fast Fourier T., DCT/Discrete Cos. T.): Zeit => Frequenzbereich H.264 (Video; Differenzkod.) MP3 (Audio) 10.8

Lauflängencodierung Wenn in Zeichenfolge n mal das gleiche Byte hintereinander folgt (mit n >= S; S ist ein fest vorzugebender Schwellwert) => kürzere Kodierung durch Wiederholungszähler möglich z.b. S = 4: Byte Marke n - 4 4 259 Byte durch 3 Byte darstellbar, dabei Eindeutigkeit der Kodierung durch Bitstuffing, Verallgemeinerung von Nullenunterdrückung 10.9

Huffman Hohe Auftrittswahrscheinlichkeit (Zeichen) führt zu kürzerem Code p(avbvcvdve) = 1 1 p(avcvdve) = 0,5 p(b) = 0,5 1 p(cvdve) = 0,25 p(a) = 0,25 1 0 0 0 (Füge jeweils Zeichen mit kleinstem p zu Teilbäumen eines linearen Binärbaums zusammen, Zuordnung 0/1 beliebig => verschiedene Codes möglich) a = 10 b = 0 c = 1111 d = 110 e = 1110 p(cve) = 0,1 p(d) = 0,15 1 0 p(c) = 0,05 p(e) = 0,05 Mittlere Anzahl Bits pro Zeichen: 0,5 + 2*0,25 + 3*0,15 + 4*0,05 + 4*0,05 = 1,85 10.10

Audio-Codecs Musik + Streaming MP3 (=MPEG-1 Audio Layer 3) AAC (=MPEG-4 Advanced Audio Coding) jeweils in verschiedenen Qualitätsstufen (ca. 128 256 kbit/s für Stereo-Musik hoher Qualität) Voice over IP G.711 Sample-basierter Codec für Sprache, 64 kbit/s G.729 Segment-basierter Codec für Sprache, 8 kbit/s bei gleicher Qualität, dafür ca. 30 ms Delay (Segmentgröße) Methoden Fourier-Transformation, Quantisierung hoher und maskierter Frequenzanteile Linear Predicitive Coding Spracherzeugungsmodell, beim Empfänger Sprachsynthese + Restsignal Silence Suppression Stille erkennen und bei VoIP nicht übertragen 10.11

Video-Codecs Ausgangsbasis Einzelbilder mit 24 Bit/Pixel (RGB) typische Auflösungen: SD (640x480), HD (1280x720), Full HD (1920x1080) 24 30 Frames pro Sekunde (fps) sehr hohe Rohdatenraten, z.b. SD bei 30 fps = 200 MBit/s Schritt 1: effiziente Codierung von Einzelbildern (JPEG) Schritt 2: Entfernen zeitlicher Redundanz (Differenzbild- Codierung MPEG) 10.12

JPEG Blockvorbereitung Diskrete Kosinus- Transformation Quantisierung Differenzielle Quantisierung Blockvorbereitung: YCbCr-Codierung - 16 Bit pro Pixel (8 Bit für Helligkeit) Blöcke von 8x8 Pixeln (64 Pixel) DCT-Koeffizienten: Spektralanteile in X- und Y-Richtung fallen zum Rand der 8x8-Matrix hin ab Quantisierung: Dividieren durch Quantisierungstabelle Ausfiltern unwichtiger Frequenzanteile Differenzielle Quantisierung: (0,0)-Wert der Matrix wird als Differenz zu vorhergehender Matrix codiert Wert wird verkleinert lässt sich besser codieren Lauflängencodierung der Koeffizienten häufig Folgen von Nullen effizient darstellbar anschließend Huffman-Codierung Lauflängencodierung Statistische Ausgabecodierung 10.13

MPEG I/P/B-Frames I-Frame P-Frame B-Frame Intra-coded Frame JPEG kodierter Original- Frame Kann unabhängig von anderen Frames dekodiert werden Predictive-coded Frame Differenzbild zu vorhergehendem I-Frame / P-Frame Benötigt einen Referenzframe zum Dekodieren Bidirectional-predictive-coded Frame Differenzbild zu vorhergehendem und nachfolgendem I-Frame / P-Frame Benötigt 2 Referenzframes zum Dekodieren 10.14

3. Transport - Paketierung Stream Mediendaten von Anwendung kontinuierlich erzeugt LDU Logical Data Unit medienabhängige logische Paketierung, z.b. Frame Hierarchie: Film Szene Frame Makroblock Pixel PDU Protocol Data Unit Paket eines Protokolls = Protokollnachricht verschachtelte Header: 10.15

RTP Real-time Transport Protocol Echtzeit-Transport über UDP weitere Mechanismen benötigt, um alle Anforderungen zu erfüllen RTP = Zusatzprotokoll zwischen Schicht 4 (Transport) und 5 (Anwendung) für Echtzeit- Transport IETF-Standard: RFC 3550 und 3551: RTP Version 2 (2003) kommt in fast allen Systemen mit Voice- und/oder Videokommunikation zum Einsatz Funktionalität Identifikation der Medienquelle (Source-ID) Herstellung der richtigen Reihenfolge (Sequenznummer) Synchronisierung (Zeitstempel) Jitter entfernen Synchronisierung von Audio und Video dynamische Flusskontrolle (RTCP) 10.16

RTP-Header RTP- Version Padding Füll-Bytes angehängt Erweiterungs- Header vorhanden Payload-Type ID für Codec + Parameter Sequenznummer (für Paketreihenfolge) Zeitstempel Playback-Zeit Anzahl CSRC- Identifier Byte 0 Byte 1 Byte 2 Byte 3 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 V P X CC M PT sequence number timestamp (in sample rate units) synchronization source (SSRC) identifier contributing source (CSRC) identifiers (optional) Header Extension (optional) Identifikation der Quelle (Zufallszahl) optional mehrere zusätzliche Quellen, die zum Datenstrom beitragen (Mix) Header-Erweiterung (im Payload) 10.17

RTCP Real-time Control Procotol Zusatzprotokoll zu RTP Kontroll-Kanal mit ständigem Austausch von Status-Nachrichten (macht ca. 5% des gesamten Traffics aus) mit RTCP werden keine Medien transportiert Aufgaben Identifikation aller Teilnehmer einer RTP-Session Rückmeldung zu Paketverlusten und Round-Trip-Zeit Input für Flusskontrolle und Fehlerkorrektur wichtige Pakettypen Sender-Report (SR): Informationen von Sendern Receiver-Report (RR): Informationen von Empfängern o Beispielfelder: Last Sequence Number, Interarrival Jitter, Cumulative Number of Lost Packets, Fraction Lost, Source-Description-Items (SDES): nähere Angaben zur Quelle, z.b. Name und E-Mail 10.18

4. Streaming HTTP-Streaming 1. Benutzer klickt auf Link Metadatei wird angefordert Codierungsmethode und Link zu Mediendatei 2. Content-Type identifizieren entsprechenden Media Player starten Metadatei an Player übergeben 3. HTTP-GET Media Player an Web-Server Datei wird in Response übertragen (Header am Anfang) 10.19

Einbettung in HTML5 <video width=320 height=240 controls poster=image.jpg> <source src=myvideo.ogv type=video/ogg> <source src=myvideo.mp4 type=video/mp4> Laden Sie mein Video [Textlinks] </video> direkte Einbindung ohne PlugIn erfordert Codec-Unterstützung im Browser controls Steuerelemente (vor, zurück, Pause) werden angezeigt poster Bild, wenn Video noch nicht abgespielt wird source mehrere alternative Formate (Browser wählt erstes unterstütztes Format) 10.20

Ablauf 10.21

Vor- und Nachteile HTTP-Streaming Vorteile preisgünstige Variante kein separater Streaming- Server benötigt Nachteile Download schneller als Abspielen viel unnütze Datenübertragung o z.b. nur 2 min Video angesehen, aber 5 min heruntergeladen o mögliche Lösung: Datenrate des Servers anpassen meist vollständige lokale Kopie vorhanden urheberrechtliche Probleme keine Verhandlung von Parametern (Datenrate, ) Nutzer kann nicht an beliebige Stelle des Films springen keine Wiedergabe von Live-Streams möglich 10.22

Echtes Streaming - Architektur 2-Server-Architektur Web-Server verwaltet die Webseiten, Streaming-Server stellt Audio/Video zur Verfügung Nutzung anderer Protokolle als HTTP zwischen Media Player und Streaming-Server möglich 10.23

RTSP Real-time Streaming Protocol Text-basiertes Protokoll - an HTTP 1.1 angelehnt wichtige Unterschiede zu HTTP: zustandsbehafteter Server Daten Out of Band transportiert URIs "rtsp:" "//" host [ ":" port ] [ abs_path ] Bsp: rtsp://media.example.com:554/twister/audiotrack 10.24

Ablauf einer RTSP-Session Antwort: unterstützte RTSP- Methoden (optional) Antwort: Beschreibung des Streams im SDP-Format = Session Description Protocol (s. Folie 10.30) Antwort: Bestätigung des spezifizierten Transport- Protokolls (z.b. RTP) und der Ports Antwort: Startparameter für die RTP-Session (streamid, seq) Antwort: OK 10.25

5. Voice over IP - Überblick 10.26

Signalisierungsprotokolle für VoIP H.323 SIP weit verbreiteter Standard für Voice over IP und Videokonferenzen ( packet based multimedia communication systems ) der ITU-T (International Telecommunication Union) ASN.1-basierte Binärcodierung der Protokolle Komponenten: Terminal, MCU (Multipoint Control Unit), Gatekeeper, Gateway zu H.323 konkurrierender Standard für Session-Aufbau der IETF (Internet Engineering Task Force) Text-basierte Codierung (ähnlich HTTP) der Protokolle Komponenten: User Agent, Proxy, Registrar, Gateway Megaco/H.248 Protokoll für Endgerätesteuerung in Telefonanlagen gemeinsamer Standard von IETF und ITU-T regelt Kommunikation zwischen Media Gateway (MG) und Media Gateway Controller (MGC) 10.27

Session Initiation Protocol Was ist SIP? SIP is an agile, general-purpose tool for creating, modifying, and terminating sessions that works independently of underlying transport protocols and without dependency on the type of session that is being established. (Quelle: RFC 3261) Session Initiation Session = Datenaustausch in einem Verbund von Teilnehmern Probleme: Teilnehmermobilität; unter mehreren Namen erreichbar; kommunizieren mit verschiedenen Medien Funktionen von SIP Lokalisierung von Teilnehmern, bzw. des Endgerätes, das sie zur Kommunikation benutzen wollen Anzeige der Verfügbarkeit (Presence) von Teilnehmern Aushandlung von Parametern, z.b. welche Audio-/Videocodecs für die Kommunikation verwendet werden sollen Aufbau einer Session Management einer Session, z.b. Rufweiterleitung und Abbau von Sessions 10.28

Einfacher Session-Aufbau mit SIP alice@a.de kontaktiert bob@b.de IP-Adressen und Portnummern sind bekannt Im Body der INVITE- Nachricht wird Offer mitgeschickt Welcher Codec? - SDP Im Body der 200-OK- Nachricht wird Answer geschickt Codec ausgewählt Bob beendet die Session mit BYE (legt auf) Mit der SIP-Session wird auch die RTP-Session beendet 10.29

SDP Session Description Protocol, Beispiel eines Offers Alice macht ein Angebot für Session 1234 (mit Zeitstempel), ihre Internet (IN) IPv4- Adresse ist angegeben Textbezeichnung für die Session Art der Verbindung: Internet, IPv4 keine feste Startund Stopp-Zeit Text-basierte Codierung für Offers und Answers kann im Body der SIP-Nachrichten versendet werden v=0 o=alice 1234 238989823 IN IP4 121.34.65.33 s=video von Alice c=in IP4 121.34.65.33 t=0 0 m=audio 20000 RTP/AVP 97 a=rtpmap:97 ilbc/16000 m=video 20001 RTP/AVP 31 RTP-Audiostrom auf Port 20000 mit RTP- Payload-Typ 97 (dynamisch) RTP-Typ 97 wird für diese Session mit ilbc-codec bei 16 khz belegt RTP-Videostrom auf Port 20001 mit RTP- Payload-Typ 31 (statisch) entspricht H.261 10.30

SIP-Session über Proxies 10.31

Lokalisierung Zusammenspiel mit DNS 10.32

HTTP Audio- Codecs Video- Codecs RTSP Audio- Codecs Video- Codecs DNS SIP / SDP Audio- Codecs Zusammenfassung HTTP- Streaming Echtes Streaming VoIP TCP RTP / RTCP UDP IP 10.33

Weiterführende Referenzen Tanenbaum, Wetherall: Computernetzwerke, 5. Auflage, Pearson, 2012. 7.4: Streaming Audio und Video Vertiefung durch Vorlesung Multimediakommunikation 10.34

Gliederung 1. Einführung 2. Bitübertragungsschicht 3. Netztechnologien Teil 1 4. Netztechnologien Teil 2 5. Sicherungsschicht 6. Vermittlungsschicht 7. Transportschicht 8. Netzwerkperformance 9. Internetdienste 10. Multimediakommunikation 11. Verteilte Systeme 12. Mobile Computing 10.35