Dank der Jitsi Videobridge soll es ab Firefox 40 funktionieren, Videokonferenzen direkt über den Browser zu führen – auch mit Nutzern anderer Browser. Dafür benötigte Firefox Multistream-Support und musste das Jitsi-Projekt die Videobridge anpassen. Ein Blogeintrag rekapituliert das Vorgehen.
Die Schwierigkeit für die Entwickler bestand laut dem Blogeintrag darin, einen Interoperabilitäts-Layer einzubauen, damit Web-RTC-basierte Videokonferenzen sowohl in Chrome als auch in Firefox funktionieren. Chrome unterstützt den von der IETF als Standard angepeilten Unified Plan (noch) nicht, sondern stattdessen den konkurrierenden Entwurf Plan B, der allerdings bei der IETF aus dem Rennen ist.
Auch Jitsi unterstützte bislang Plan B, weil es sich anfangs auf die Chrome-Kompatibilität konzentrierte – Firefox unterstützte lange kein Multistream. Eine Abstraktion in den Plan-B-Code einzuführen, misslang aus verschiedenen, im Blog referierten, Gründen. Die letztendliche Lösung lautet <C>sdp-interop<C>.
Das Session Description Protocol (SDP) ist in der Lage, je nach Browser Unified Plan oder Plan B auszuliefern. “sdp-interop” ist dabei ein wiederverwendbares NPM-Modul, das die beiden Methoden “toUnifiedPlan(sdp)” und “toPlanB(sdp)” anbietet. Im weiteren Verlauf des Blogeintrags zeigen die Entwickler dann Implementierungsdetails und erklären, wie “sdp-interop” funktioniert. Auch weitere Hindernisse auf dem Weg zur Kompatibilität spart der Blogeintrag nicht aus, seien es Fehler in der DTLS-Versionsfeststellung von Firefox oder Decoder-Probleme in der Jitsi Videobridge. Sicherlich eine interessante Lektüre für angehende Entwickler.
Was nun noch in der Implementierung fehle, sei der Simulcast-Support. Jitsi vertraue dabei auf Mediastream Constructors, die Firefox aber nicht unterstützt. Das Jitsi-Team arbeite aber an einem alternativen Ansatz, der auf die Mediastream Constructors verzichte. Auch Desktop-Sharing ist für Firefox-User noch nicht möglich, sei aber bereits in Arbeit.
Wer den Videokonferenz-Support bereits heute testen möchte, greift zur Firefox Developer Edition 40 oder zu Firefox Nightly 41.




