WebRTC Update · 2015-11-23 · … allerdings die Aufgabe von SDP tut niemanden weh und Google...

23
© Copyright 2015 ComConsult Research GmbH, Aachen WebRTC Update Aktuelle Situation & neue Trends Markus Geller [email protected]

Transcript of WebRTC Update · 2015-11-23 · … allerdings die Aufgabe von SDP tut niemanden weh und Google...

© Copyright 2015 ComConsult Research GmbH, Aachen

WebRTC UpdateAktuelle Situation & neue Trends

Markus [email protected]

Was bisher geschah …

Codec Krieg:

Google vs. MPEG LA (Nokia)

iSAC, iLBC & VP8 werden zu Royalty Free Codecs

Cisco‘s cleverer Schachzug:

H.264 wird für End-User ebenfalls kostenfrei gestellt

Mozilla Foundation reagiert:

H.264 für Firefox verfügbar Quelle: WebRTC.org

Was hat Cisco vergessen …

H.264 als kostenfreie Lizenz gilt nicht für die Hardware Hersteller

SoC Hersteller wie Qualcomm, nVidia, Mediathek, Marvell, Broadcom, Allwinner, Rockchip, Intel & Samsung haben heute schon VP8 HW Decoder verbaut, einige davon auch schon HW Encoder

Allein Apple sträubt sich…

Wenige Consumer Produkte unterstützen

H.264 wegen der hohen Kosten:

Beispiel: Logitech c930e mit HW Unterstützung für

H.264 ca. 100€Quelle: Logitech

Eine Frage des guten Tons:

Opus hat die GIPS Entwicklungen

• iLBC und iSAC

im WebRTC Draft ersetzt

Die Aufnahme von G.711a & µ ist als Zugeständnis an die klassischen UCC Anbieter zu verstehen…

Quelle: opus-codec.org

Microsoft … oder Sie wissen nicht was Sie tun:

• Kein Support für WebRTC und VP8 für IE 11 und älter

• Edge Support für VP9 und ORTC API aber kein WebRTC

Problem: Immer weniger IE und Edge User

Google möchte jedoch Microsoft ins WebRTCBoot holen und plant daher die Integration von ORTC für WebRTC 1.1

… mit der Prämisse, dass WebRTC 1.1 abwärtskompatibel ist.

Was ist ORTC?

Zunächst ein Blick zurück:

• Microsoft lanciert 2013 CU-RTC-Web als Gegenentwurf zu Google‘sWebRTC Initiative

• Resonanz auf den MS Vorschlag? Keine!

Zweiter Versuch 2014:

Microsoft & Hookflash bringen mit ORTC eine Alternative zu WebRTC

Warum macht Microsoft das?

Weil Microsoft WebRTC nicht erfunden hat und Google ein direkter Konkurrent ist

Technische Betrachtung:

• ORTC und WebRTC basieren auf Javascript

• Die API‘s sind unterschiedlich

• bei ORTC weniger detailliert dafür mehr Objekt orientiert

• ORTC nutzt kein SDP zum Sessionaufbau

Trotz der Unterschiede soll ORTC in WebRTC 1.1 integriert werden

Warum macht Google das?

Der Chrome Browser hat immer noch nicht die Durchdringung im Enterprise Umfeld wie der IE von Microsoft.

Fazit zu ORTC:

Microsoft hat sich erfolgreich zurück gekämpft

… allerdings die Aufgabe von SDP tut niemanden weh und Google erhält mit WebRTC 1.1 den Zugang zum Enterprise Markt

Google wird dafür sorgen, dass vieles bleibt wie es ist und Microsoft kann behaupten sie hätten den Standard entscheidend beeinflusst

Am Ende könnten zwei API‘s zur Verfügung stehen, die von allen Browsern unterstützt werden müssen

WebRTC.org vs. OpenWebRTC by Ericsson

Seit 08/2014 eine Alternative zur Google getriebenen Entwicklung

Quelle: bloggeek.me

QUIC - Ein neues UDP Protokoll ?!

Was ist QUIC?

1. Ein Transportprotokoll irgendwo zwischen UDP und TCP

2. Es erweitert UDP um Funktionen aus dem TCP

3. Es ist speziell für HTTP Anwendungen gedacht

4. Google will das Verfahren bei der IETF vorstellen, aber nicht standardisieren lassen

Hauptanliegen von QUIC ist: besserer Datendurchsatz

• Erreicht wird dies unter anderem durch Reduktion der Round Trips zwischen Client und Server

• Statt des üblichen TCP Handshake – oder den im Falle einer per TLS verschlüsselten Verbindung erforderlichen drei Round Trips – ist meist kein einziger notwendig

• Im ersten Paket können, sofern der Diffie-Hellman-Schlüsselaustausch schon mal vollzogen wurde, bereits erste Applikationsdaten abgeschickt werden

• QUIC-Pakete werden nicht durch IP-Adressen identifiziert, sondern durch 64 Bit lange, eindeutige Verbindungs-IDs

• Übertragungen überleben daher IP-Adressänderungen, etwa beim Wechsel vom WLAN zum Mobilfunk und kommen auch mit der NAT zurecht

Quelle: heise.de

Wann und wo benötigt WebRTC QUIC?

1. Bei der Signalisierung; die ist zwar im bei WebRTC nicht festgelegt, aber ein beschleunigter Verbindungsaufbau wird trotzdem angestrebt

2. Als Ersatz für SCTP im Datenkanal

Muss ich mich jetzt damit beschäftigen?

• Nein, noch nicht

• QUIC ist zwar ab Chrome 29 implementiert, aber es wird derzeit nicht benötigt und ist auch kein Thema für WebRTC 1.0

Was plant Google … News & Roadmap bis Anfang 2016

Über 720 Unternehmen nutzen WebRTC (Stand 09/2015)

Darunter sind bekannte Anwendungen wie:

• Hangouts

• Facebook Messanger

• Amazon Mayday (Support für Fire Tablets)

• Wire(Neues Projekt um Janus Friis, dem Mitbegründer von Skype)

Neues von der Codec Front:

Diverse Marktteilnehmer versuchen ihre neuen Video Codecs zu platzieren:

• Google – VP9

• Mozilla – Daala

• Cisco – Thor

Während Apple auf dem iPhone 6s H.265/HEVC fallen lässt

Gute Neuigkeiten … Alliance for Open Media gegründet

Ziel:

• Die Entwicklung von NG Media Formaten, Codecs und Technologien im öffentlichen Interesse

Gründungsmitglieder:

• Amazon, Netflix, Google, Microsoft, Intel, Mozilla, Cisco

http://aomedia.org

Hauptanliegen:

Ein NG Videoformat mit folgenden Funktionen

• Interoperabel & offen

• Optimiert für das Web

• Skalierbar für alle Endgeräte und jede Bandbreite

• Geringe Ressourcen Anforderung an CPU/GPU & sonstige HW

• Geeignet für die Echtzeitübertragung von Videodiensten >1080p

• Flexible Nutzung für kommerzielle wie nicht-kommerzielle Produkte, inkl. vom Nutzer generierte Inhalte

Neues in Chrome

Ab Version 47 wird Zugriff auf Kamera & Mikrofon nurnoch verschlüsselt möglich sein

• getUserMedia Anfragen mittels http werden dann verworfen

Daher ab Chrome 47 zwingender Einsatz von https

Neuer Signatur Algorithmus „ECDSA“ ab Chrome 47

Elliptic Curve Digital Signature Algorithm

• Reduziert den Zeitaufwand für den kryptografischen Prozess beim Gesprächsaufbau von 1000ms -> 50ms

• Ist dabei genauso sicher wie RSA1024

Aktuell werden RSA Zertifikate benötigt um die DTLS Verschlüsselung zu generieren, aber:

• RSA Zertifikate der 3. Generation sind teuer

• Die Generierung eines 2048 Bit Zertifikats dauert ca. 10s auf einem aktuellen Smartphone oder Tablet

ECDSA funktioniert mit allen aktuellen Open SSL Implementierungen

Mobile Performance … neue Rendering Engine von GIPS

• 5x schnellerer Rendering Code

• Encoding und Rendering der Bilder erfolgt mittels Texturen

• Aufzeichnungsleistung wurde erhöht

• Vermeidung doppelter Frames

• Keine mehrfache Bildumwandlung

• Akku und CPU Belastung wurden verringert

• 75% Reduzierung der GPU Last

• ~40% weniger Stromverbrauch beim Rendern

Mobile Video

• VP8 + H.264 HW Unterstützung in Android

• Ab Android 5.0 aufwärts

• Beste Ergebnisse mit Qualcomm SoC

• H.264 HW Unterstützung für iOS 8 aufwärts

Läuft aktuell stabil, muss aber noch optimiert werden, da die Akkubelastung noch zu hoch ist.

WebRTC 1.0 … Zielsetzung: Last Call für EoY 2015

• Aktueller Draft 10 von 02/2015

• Überschneidung mit ORTC Objekten in vielen Bereichen

• RtpSender/RtpRceiver, ICE, DTLS, SctpTransport

• Zusätzlich bis zur endgültigen Verabschiedung:

• Neue Objekte für mehr direkte Kontrolle

• Umschalten der Kamera oder des Codecs „on the fly“

• Einstellung der Bitrate für das Encoding nach Bedarf

Was kommt nach WebRTC 1.0? WebRTC NV!

• In WebRTC NV wird WebRTC 1.0 komplett mit ORTC verschmelzen

• WebRTC NV wird abwärtskompatibel sein zu WebRTC 1.0

Links zum Thema:

www.bloggeek.me

www.alexkras.com/notes-from-2015-webrtc-show-organized-by-krankygeek-and-hosted-by-google/

www.krankygeek.com

www.webrtchacks.com