WebRTC Update - ComConsult Research

Transcrição

WebRTC Update - ComConsult Research
WebRTC Update
Aktuelle Situation & neue Trends
Markus Geller
[email protected]
© Copyright 2015 ComConsult Research GmbH, Aachen
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 WebRTC
Boot 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‘s
WebRTC 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 nur
noch 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-krankygeekand-hosted-by-google/
www.krankygeek.com
www.webrtchacks.com

Documentos relacionados