Video Conferencing aus der Cloud dank Schichtenprinzip

Schichtenprinzip im Bereich Videokommunikation

Das Schichtenprinzip findet nicht nur bei Torten und Outdoor-Bekleidung Anwendung, sondern kann auch im Bereich der Videokommunikation Vorteile bringen. Genau diese haben wir uns bei der Entwicklung des neuen Cloud Video Conferencing Service «Vidia» zu Nutze gemacht. Ich war dabei für die Architektur der Cloud-Plattform zuständig und möchte mit diesem Beitrag einen Einblick geben, welche Challenges es dabei zu meistern galt.

Unser Ziel: Ein Business-grade Video Conferencing Service aus der Swisscom Cloud

Für Unternehmen war die Implementierung von Video Conferencing bis anhin mit hohen Kosten verbunden und die Verbreitung von Lösungen, insbesondere bei kleinen und mittleren Firmen, dementsprechend zurückhaltend. Die Zurückhaltung der Unternehmen steht im Widerspruch zum Wachstum und der Dynamik rund um das Thema Video im Consumer-Umfeld: Skype, Facetime, Google Hangouts und YouTube haben sich längst weltweit durchgesetzt. Die «Consumerization» trägt diese Services aber zunehmend auch in die Unternehmen  – ob als Wunsch an die IT-Abteilung oder gar direkt als Arbeitsmittel im Sinne von «Bring your own Service». Diese Services lassen sich jedoch nicht auf die individuellen Bedürfnisse von Unternehmen zuschneiden und können die meist hohen Anforderungen an Qualität, Sicherheit und Verfügbarkeit nicht erfüllen.

Wir haben uns daher zum Ziel gesetzt, für unsere Kunden einen preislich attraktiven Video Conferencing Service mit folgenden Eigenschaften zu entwickeln:

  • Unterstützung mobiler Geräte wie Tablets und Smartphones
  • Verbindungsunabhängige Nutzung mit LAN, WLAN, 4G oder 3G
  • Hohe Bild- und Tonqualität (bis zu HD-Qualität)
  • Gäste einfach und schnell einladen
  • Sicherer Dienst dank Verschlüsselung und Datenhaltung in der Schweiz

Mit traditioneller Video Conferencing-Technologie wäre es uns jedoch nicht möglich gewesen, einen solchen Service zu entwickeln. Wir mussten daher einen anderen Ansatz finden. Dazu ein kleiner Exkurs in die Welt der Realtime Video-Verarbeitung.

Big Data einmal anders

Die Realtime-Verarbeitung von Videodaten stellt auch für moderne Geräte eine Herausforderung dar. Ein HD-Stream mit 30 Bildern pro Sekunde erzeugt unkomprimiert ein Datenaufkommen von über 600 Mbit/s. Moderne Video-Codecs wie H.264 oder VP8 können das Datenaufkommen auf unter 2 Mbit/s reduzieren und dies ohne merkliche Qualitätseinbusse. Diese beeindruckende Leistung erfordert jedoch einen hohen Rechenaufwand. Die extrem hohe Verdichtung der Videodaten führt auch dazu, dass einzelne bei der Übermittlung verloren gegangene Datenpakete sich als gut sichtbare Bildstörung bemerkbar machen.

Transcoding als Ressourcenfresser

Bei einer Videokonferenz mit drei oder mehr Teilnehmern senden alle Geräte ihr Bild und ihren Ton an einen zentralen Server, welcher dann eine Bild-Komposition zusammenstellt und die Tonsignale mischt. Der zentrale Server muss dazu sämtliche Video-Streams pro Endgerät decodieren, zusammenfügen (üblicherweise wird der aktive Sprecher gross dargestellt und die anderen Teilnehmer in kleineren Kacheln eingeblendet) und dann wieder encodieren. Letzteres muss individuell pro Teilnehmer erfolgen, denn die Bildauflösung und -rate können je nach verwendetem Endgerät und Netzverbindung unterschiedlich sein. Der notwendige hohe Rechenaufwand für das Transcoding (so wird der Vorgang des Decodings und anschliessenden Encodings genannt) bedingt oft den Einsatz von spezieller Hardware und spiegelt sich so auch in den Preisen der Video Conferencing-Infrastruktur nieder.

Scalable Video Coding: Schicht für Schicht zum besseren Bild

Scalable Video Coding (SVC) ist hier zwar ein junger aber sehr erfolgversprechender Ansatz: Bei diesem Verfahren wird das Bild beim Encodieren in mehrere Schichten aufgeteilt. In einen sogenannten Base-Layer mit niedriger Auflösung, Qualität und Bildrate und in mehrere «Enhancement»-Layer. Diese erhöhen die Qualität des Base-Layers (mittels Hinzufügen von zusätzlicher räumlicher sowie zeitlicher Bildauflösung). Dieses Vorgehen hat in einer Videokonferenz den entscheidenden Vorteil, dass der zentrale Server keinen hohen Rechenaufwand für das De- und Encodieren mehr leisten muss, sondern nur noch die einzelnen Video-Streams an die teilnehmenden Endgeräte routet. Diese Aufgabe lässt sich durch Standard-Server bewältigen, die auch virtualisiert werden können.

SVC Diagramm- Swisscom Vidia

Die Aufteilung in mehrere Layer erlaubt den Einsatz auf verschiedenartigen Endgeräten. An ein mobiles Gerät mit kleinem Bildschirm und niedriger Bandbreite wird nur der Base-Layer der anderen Teilnehmenden gesendet. Wenn die verfügbare Bandbreite steigt, werden weitere Layer dynamisch hinzugefügt. An einen PC im LAN mit grossem Bildschirm hingegen werden sämtliche Layer übertragen. Ein weiterer Vorteil von SVC ist dessen Robustheit gegenüber Paketverlusten – ein Umstand, der Video Conferencing über «Best Effort»-Netze ermöglicht und insbesondere im mobilen Umfeld zum Tragen kommt.

Vom Video-Codec zum Video Conferencing Service

Neben der Video Coding-Technologie gibt es weitere Aspekte, die für einen Video Conferencing-Service ausschlaggebend sind. Und zwar von der Signalisierung zwischen Endgerät und Server über die Echo-Unterdrückung, dem Firewall- und NAT-Traversal bis hin zur Verschlüsselung. Angesichts der Komplexität eines jeden dieser Gebiete haben wir uns für eine Kooperation mit einem führenden Hersteller im SVC-Bereich entschieden, um eine eigene Cloud-basierte Video Conferencing-Lösung für Unternehmen aller Grössen auf den Markt zu bringen. Der Kooperationspartner bietet eine Video Conferencing-Plattform, die dank Client- und Server-APIs als Fundament für einen eigenen Service verwendet werden kann.

Nach Validierung des Konzeptes haben wir in einem zweiten Schritt je ein Prototyp für Windows und iOS entwickelt. Innert sechs Entwicklungs-Sprints sind dann der Application-Server und die Clients für Windows, Mac, iOS sowie Android entstanden. Vidia – wie sich die unsere Lösung nennt – kann kostenlos getestet werden.

MacBook-01

Screenshot einer Vidia-Konferenz

Video Conferencing Quo Vadis?

In der Welt des Video Conferencings herrscht momentan sehr viel Dynamik. Hardware basierte Systeme werden zunehmend von Softwarelösungen abgelöst, Infrastruktur wandert in die Cloud und immer mehr Leute wollen auch unterwegs mittels Tablet und Smartphone an Konferenzen teilnehmen. Dabei verwischen die Grenzen zwischen Video Conferencing, Web Meeting Lösungen und Unified Communications zunehmend. Mit WebRTC steht eine Technologie vor der Türe, welche das Potential hat, die Spielregeln nochmals ganz neu zu schreiben. Hierbei wird es entscheidend sein, welche Strategie die grossen Player wie Google, Apple, Microsoft und Cisco fahren werden.


Wir möchten deine Meinung hören!

Wie beurteilst du die Zukunft von Video Conferencing? Welches Potential siehst du in der WebRTC-Technologie? Möchtest du mehr Hintergründe zu Vidia erhalten?

Dann nimm teil an unserer offenen Diskussionsrunde – natürlich mittels Vidia durchgeführt.

Datum: Freitag, 27. Juni 2014 – 14.00h (Dauer ca. 30min)

Über diesen Link gelangst du in den virtuellen Raum, wo die Diskussion stattfindet.

Du brauchst dazu einen Computer mit Webcam oder ein Tablet bzw. ein Smartphone. Eine Registration ist nicht notwendig. Hilfe zu Vidia