7 Reaktionen

Firefox 33 mit WebRTC Bildschirm- und Fenster-Sharing (inkl. Beispielcode)

Geschätzte Lesedauer:

Anwendungen wie TeamViewer könnten bald überflüssig werden, denn das Teilen von Bildschirminhalten in Echtzeit ist eine Aufgabe, die mittlerweile vom Browser übernommen werden kann. Mozilla implementiert das WebRTC Bildschirm- sowie Fenster-Sharing in Firefox 33.

Mozilla implementiert in Firefox 33 die Möglichkeit, Bildschirminhalte in Echtzeit mit anderen zu teilen; genauer den Teil der WebRTC-Spezifikation, welcher es Webentwicklern erlaubt, mit nur wenigen Zeilen Code Funktionalität zum Bildschirm- und Fenster-Sharing in Webanwendungen bereitzustellen. Hersteller von Anwendungen wie TeamViewer müssen sich damit warm anziehen, denn zumindest für den Teil der Nutzer, der solche Tools zum Präsentieren von Bildschirminhalten nutzt und auf die Fernsteuerung verzichten kann, entfällt damit die Notwendigkeit einer zusätzlichen Software.

Derzeit muss die Neuerung noch von Hand über about:config aktiviert werden, indem der Schalter media.getusermedia.screensharing.enabled per Doppelklick auf true geschaltet wird. Wer die Neuerung in einer aktuellen Nightly-Version von Firefox 34 testen will, muss außerdem noch den Schalter media.getusermedia.screensharing.allowed_domains auf eine komma-separierte Liste von Domains ändern, für welche das Bildschirm- und Fenster-Sharing erlaubt werden soll. Das Setzen dieses Schalters wird in Kürze auch in Firefox 33 notwendig sein, sobald der entsprechende Patch im Aurora-Zweig gelandet ist. Mittelfristig wird der Schalter komplett entfallen, Mozilla hat sich für die initiale Auslieferung dieses Features aber für diesen Whitelisting-Ansatz entschieden, bis man sich über eine geeignete Darstellung im Klaren ist, welche den Nutzer über die damit verbundenen Risiken hinsichtlich Privatsphäre aufklärt, wenn die Inhalte des Bildschirms mit anderen geteilt werden.

Es kann entweder der gesamte Bildschirm geteilt werden oder ein einzelnes Programmfenster – es muss sich dabei nicht um den Browser handeln, der Fensterinhalt jedes beliebigen geöffneten Programms kann geteilt werden -, jeweils optional auch inklusive Ton.

[lightbox style=“modern“ image_path=“https://www.soeren-hentzschel.at/wp-content/uploads/screensharing.png“ popup=“https://www.soeren-hentzschel.at/wp-content/uploads/screensharing.png“ link_to_page=““ target=““ description=““ size=“two_col_small“]
Abb. 1: Bildschirm-Sharing
[lightbox style=“modern“ image_path=“https://www.soeren-hentzschel.at/wp-content/uploads/windowsharing.png“ popup=“https://www.soeren-hentzschel.at/wp-content/uploads/windowsharing.png“ link_to_page=““ target=““ description=““ size=“two_col_small“]
Abb. 2: Fenster-Sharing

In diesem Zusammenhang hat Mozilla auch den Indikator verändert, welcher anzeigt, dass eine Kommunikation über WebRTC stattfindet. Bislang hat Firefox ein zusätzliches Symbol in der Symbolleiste angezeigt, wenn die Kamera und/oder das Mikrofon aktiviert ist, und dem Nutzer darüber die Möglichkeit gegeben, die Freigabe zu beenden, auch wenn der entsprechende Tab gerade nicht im Vordergrund ist. Mit der Ergänzung um Bildschirm- und Fenster-Sharing war man allerdings besorgt darüber, ob dieser Indikator sichtbar genug ist und hat diesen ersetzt. Anstelle eines zusätzlichen Symbols in der Symbolleiste sehen Windows- und Linux-Nutzer nun am oberen Bildschirmrand fixierte Kontrollsymbole, welche auch sichtbar sind, wenn Firefox nicht sichtbar ist. Nutzer von Mac OS X sehen entsprechende Symbole in der globalen Menüleiste, auch wieder unabhängig davon, ob Firefox im Vordergrund ist oder nicht.

[lightbox style=“modern“ image_path=“https://www.soeren-hentzschel.at/wp-content/uploads/webrtc-indicator-windows.png“ popup=“https://www.soeren-hentzschel.at/wp-content/uploads/webrtc-indicator-windows.png“ link_to_page=““ target=““ description=““ size=“two_col_small“]
Abb. 3: WebRTC-Indikator Windows
[lightbox style=“modern“ image_path=“https://www.soeren-hentzschel.at/wp-content/uploads/webrtc-indicator-osx.png“ popup=“https://www.soeren-hentzschel.at/wp-content/uploads/webrtc-indicator-osx.png“ link_to_page=““ target=““ description=““ size=“two_col_small“]
Abb. 4: WebRTC-Indikator Mac OS X

Um zu demonstrieren, wie einfach die Bereitstellung von Bildschirm- und Fenster-Sharing funktioniert, habe ich einen Beispielcode geschrieben. Dieser dient lediglich Demonstrationszwecken und beinhaltet weder Code zum Stoppen (ein Neuladen der Seite stoppt die Übertragung sowieso) noch irgendeine Form von Fehlerbehandlung oder Kompatibilität mit Chrome. Entwickler, welche mit der Programmierung entsprechender Anwendungen ihr Geld verdienen, sollen ja auch noch selbst etwas zu tun haben. 😉

[pastacode lang=“markup“ message=“HTML“ highlight=““ provider=“manual“]

< !DOCTYPE html>
<html lang='de'>
 
<head>
  <meta charset='utf-8' />
  <title>soeren-hentzschel.at WebRTC Screen- & Window-Sharing Demo</title>
</head>
<body>
  <h1>soeren-hentzschel.at WebRTC Screen- & Window-Sharing Demo</h1>
  <div> 
    <button type='submit' onclick='startSharing("screen", false);'>Screen Sharing</button>
    <button type='submit' onclick='startSharing("screen", true);'>Screen + Audio</button>
    <button type='submit' onclick='startSharing("window", false);'>Window Sharing</button>
    <button type='submit' onclick='startSharing("window", true);'>Window + Audio</button>
    <div id='content'></div>
  </div>
  <script>
    var content = document.getElementById('content');
    var video = document.createElement('video');
 
    video.setAttribute('width', 640);
    video.setAttribute('height', 480);
 
    function startSharing (mediaSource, audio) {
      mediaConstraints = {
        video : {
          mediaSource : mediaSource
        },
        audio : audio
      };
 
      navigator.mozGetUserMedia(mediaConstraints, function (stream) {
        content.appendChild(video);
        video.mozSrcObject = stream;
        video.play();
      }, function (error) { });
    }
  </script>
</body>
</html>

[/pastacode]

(Beispiel-Code wird nicht angezeigt? Bitte Original-Artikel lesen)

Dieser Artikel wurde von Sören Hentzschel verfasst.

Sören Hentzschel ist Webentwickler aus Salzburg. Auf soeren-hentzschel.at informiert er umfassend über Neuigkeiten zu Mozilla. Außerdem ist er Betreiber von camp-firefox.de, der ersten Anlaufstelle im deutschsprachigen Raum für Firefox-Probleme aller Art. Weitere Projekte sind firefox.agenedia.com, mozilla.de, firefoxosdevices.org sowie sozone.de.

3 Kommentare - bis jetzt!

Eigenen Kommentar verfassen
  1. Frank
    schrieb am :

    möchte da widersprechen, Soeren,

    Sowas kann keine Konkurrenz für TV sein, die screensharing funktion hat doch da eher eine untergeordnete Funktion wenn überhaupt, es it das de-Facto remote Tool überhaupt.

    X-mas:
    „und es geschah also, das zu jener Zeit des Jahres alle Söhne und Töchter an die Stätten ihrer Geburt zurückkehrten, damit sie die IT-Probleme ihrer Eltern richteten.“

    nene, das machen wir ganzjährig und fahren nirgendwohin.

    Diese Funktion macht ja Sinn, aber sie müsste einen Button bekommen mit Hint damit sie auch „älteren Herrschaften“ auffällt.

  2. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    möchte da widersprechen, Soeren,

    Sowas kann keine Konkurrenz für TV sein, die screensharing funktion hat doch da eher eine untergeordnete Funktion wenn überhaupt, es it das de-Facto remote Tool überhaupt.

    Nicht grundlos habe ich geschrieben: für den Teil der Nutzer, der auf Fernsteuerung verzichten kann. Und ich kenne einige, welche TeamViewer im Präsentations- und nicht im Fernsteuerungsmodus nutzen.

    Diese Funktion macht ja Sinn, aber sie müsste einen Button bekommen mit Hint damit sie auch “älteren Herrschaften” auffällt.

    Firefox bietet die notwendige WebRTC-Implementierung. Die Anwendungen dafür müssen die Webentwickler programmieren. Wenn diese eine entsprechende Webseite programmieren, dann wird die Funktionalität sicher denen auffallen, welche die Webseite ja wahrscheinlich deswegen überhaupt besuchen. 😉

  3. Anoy
    schrieb am :

    Also ich warte sehnsüchtig darauf das dieses Feature endlich vernünftig implementiert wird und gut funktioniert.

    Remoteverwaltung ist absoluter Standard in wohl ziemlich jedem Unternehmen. Ich kann mich als Admin jederzeit mit jedem Rechner ohne Nachfrage verbinden. Und natürlich kann ich mir auch jeden beliebigen Inhalt von Festplatten etc. anzeigen lassen und kopieren.

    Der Vorteil bei dieser neuen Lösung ist das ich es auch bei Bekannten nutzen kann oder kleineren Außenstellen die keine Adminrechte haben etc..

    Mir wird das viel Zeit, Benzin und Nervern ersparen sobald das sauber implementiert ist und es einen guten Service gibt.

Und jetzt du! Deine Meinung?

Erforderliche Felder sind mit einem Asterisk (*) gekennzeichnet. Die E-Mail-Adresse wird nicht veröffentlicht.
  1. Nach Absenden des Kommentar-Formulars erfolgt eine Verarbeitung der von Ihnen eingegebenen personenbezogenen Daten durch den datenschutzrechtlich Verantwortlichen zum Zweck der Bearbeitung Ihrer Anfrage auf Grundlage Ihrer durch das Absenden des Formulars erteilten Einwilligung.
    Weitere Informationen