2012-11-28 14 views
27

Wir untersuchen WebRTC, haben jedoch widersprüchliche Informationen darüber erhalten, was heute möglich ist und unterstützt wird.Bildschirmfreigabe mit WebRTC?

Mit WebRTC ist es möglich, einen Bildschirm-Sharing-Dienst ähnlich wie join.me oder WebEx neu zu erstellen, wo:

  • Sie einen Teil des Bildschirms teilen können
  • Sie Kontrolle der anderen Partei geben kann
  • ist kein Download erforderlich

Ist dies heute möglich, mit einem der WebRTC Browser? Wie wäre es mit Chrome auf iOS?

+1

Hier ist eine Demo: WebRTC Screen Sharing: https://webrc-experiment.appspot.com/screen-broadcast/ - auch Broadcasting! –

+1

Teil des Bildschirms oder Teil des Bildschirms oder Region der Bildschirmfreigabe ist möglich --- siehe Demos --- https://webrc-experiment.appspot.com/#part-of-screen-sharing --- um es selbst zu versuchen ! ---- https://github.com/muaz-khan/WebRTC-Experiment/tree/master/part-of-screen-sharing#how-to-use-in-your-own-site --- obwohl, Die html2canvas-Bibliothek wird verwendet, um Snapshots des html-Elements zu erstellen und diese über socket.io- oder WebRTC-Datakanäle zu übertragen. –

Antwort

6

Soweit ich weiß, ist dies derzeit mit keinem der Browser möglich, obwohl das Google Chrome-Team erklärt hat, dass es dieses Szenario unterstützen wird (siehe den Punkt "Screensharing" unter roadmap)); und ich vermute, dass dies bedeutet, dass schließlich andere Browser folgen werden, vermutlich mit IE und Safari, die den Schwanz heraufbringen. Aber all das ist vermutlich irgendwann im Februar vergangen, als sie den aktuellen WebRTC-Standard und die Schiffsproduktionsbits fertigstellen sollen. (Hoffentlich versagt Microsofts letzter Moment in der Arbeit nicht.) Es ist möglich, dass ich etwas Neues verpasst habe, aber ich habe das Projekt ziemlich genau verfolgt, und ich glaube nicht, dass ScreenSharing es überhaupt geschafft hat in Chrome Canary noch, geschweige denn dev/beta/prod. Opera ist der einzige Browser, der mit Chrome bei seiner WebRTC-Implementierung Schritt gehalten hat (FireFox scheint etwa sechs Monate zurück zu liegen), und ich habe von diesem Team auch nichts über das Screensharing gehört.

Ich habe gesagt, dass es ist ein Weg, es jetzt zu tun, die Ihre eigenen Webkamera-Treiber zu schreiben, so dass Ihr lokaler Bildschirm auf die WebRTC getUserMedia() erschien API als nur eine weitere Videoquelle. Ich weiß nicht, dass irgendjemand das getan hat - und natürlich würde es erforderlich sein, den Treiber auf der fraglichen Maschine zu installieren. Wenn alles gesagt und getan ist, wäre es wahrscheinlich einfacher, VNC oder etwas in dieser Richtung zu verwenden.

19

Die chrome.tabCapture API ist für Chrome-Apps und -Erweiterungen verfügbar.

Dies ermöglicht es, den sichtbaren Bereich der Registerkarte als Stream zu erfassen, der lokal oder über RTCPeerConnection addStream() verwendet werden kann.

Weitere Informationen finden Sie unter WebRTC Tab Content Capture proposal.

Das Bildschirmsharing wurde anfänglich für 'normale' Webseiten unter Verwendung von getUserMedia mit der chromeMediaSource-Einschränkung unterstützt - dies wurde jedoch nicht zugelassen.

BEARBEITEN 1. April 2015: Diese Bildschirmfreigabe wurde jetzt nur noch von Chrome in Chrome-Apps und -Erweiterungen unterstützt.

+0

Sehr interessant - das hatte ich vermisst. Wenn man es betrachtet, scheint es eine seltsame Sache zu sein, es als separate API zu bezeichnen - sollte das nicht einfach Teil einer größeren Desktop-Sharing-API sein? In dieser API sollten Sie in der Lage sein, bestimmte Regionen oder bestimmte Fenster oder einen ganzen Desktop für die Freigabe auszuwählen. Die Auswahl eines bestimmten Tabs sollte nur ein Teil davon sein. Ist das nur ein temporäres Experiment, das sich auf die vollständige Screensharing-API ausdehnt? Oder soll es ein Selbstzweck sein? –

+2

Dies sollte aktualisiert werden, da nicht erwähnt wird, dass die Bildschirmfreigabe in Chrome standardmäßig deaktiviert ist, es sei denn, Sie geben in der Befehlszeile beim Start von Chrome die Meldung "--enable-usermedia-screen-capture" ein. – Aki

+0

Danke @Aki - bearbeitet. –

8

Sie wissen wahrscheinlich, dass screencapture (nicht tabCapture) in Chrome Canary (26+) verfügbar ist, haben wir vor kurzem eine Demo bei; https://screensharing.azurewebsites.net

Beachten Sie, dass Sie es brauchen unter https auszuführen: //,

video: { 
    mandatory: { 
    chromeMediaSource: 'screen' 
    } 

Sie auch ein Beispiel finden Sie hier; https://html5-demos.appspot.com/static/getusermedia/screenshare.html

+0

Hallo Dathor, nur FYI, die Demo bei azurewebsites erfasst den Bildschirm, überträgt aber nicht auf den anderen Endpunkt. Es zeigt nur die Homepage. Die offizielle HTML5 Demo funktioniert jedoch großartig. +1 dafür! – jmort253

+0

Hallo, Ja, es gibt eine neue Demo, die Sie auf http://joinaspot.com finden können, stellen Sie sicher, dass Sie unter einem https: // Kontext laufen – dathor

+0

Ich bin super müde, also habe ich es vielleicht verpasst, aber ich wird keine Bildschirmfreigabe angezeigt? Coole Demo aber.Erinnert mich an https://bistri.com/ – jmort253

6

Ich weiß, dass ich ein bisschen spät antworte, aber hoffe, es hilft denen, die auf die Seite stolpern, wenn nicht das OP.

In diesem Moment unterstützen sowohl Firefox als auch Chrome das Teilen des gesamten Bildschirms oder eines Teils davon (einige Anwendungsfenster, die Sie auswählen können) mit den Peers über WebRTC als Mediastream genauso wie Ihre Kamera/Mikrofon-Feed, also keine Option Andere Partei übernehmen noch die Kontrolle über Ihren Desktop. Andere, dass, dort ein anderer Haken, Ihre Website muss auf https Modus ausgeführt werden und in beiden Firefox und Chrome die Benutzer werden Erweiterungen installieren müssen.

Sie können es in diesem Muaz Khan Screen-sharing Demo versuchen, die Seite enthält die erforderlichen Erweiterungen auch.

P. S: Wenn Sie nicht möchten, Erweiterung installieren, um die Demo zu laufen, in Firefox (keine Möglichkeit, Erweiterungen in Chrom zu entkommen), Sie müssen nur zwei Fahnen ändern,

  • gehen zu about:config
  • Set media.getusermedia.screensharing.enabled als true.
  • hinzufügen *.webrtc-experiment.com bis media.getusermedia.screensharing.allowed_domains flag.
  • aktualisieren Sie die Demo-Seite und klicken Sie auf Freigabe Bildschirm-Taste.
+0

Diese Screen-Sharing-Demo funktioniert nicht mehr, da die Screensharing-Option in Chrome nicht mehr vorhanden ist. –

+0

Kein Problem mit about: config in Firefox. Die Bildschirmfreigabe funktioniert standardmäßig in aktuellen Versionen von Firefox. – CpnCrunch