Peerjs: Bildschirm teilen

Erstellt am 24. Okt. 2013  ·  12Kommentare  ·  Quelle: peers/peerjs

Gibt es Pläne, die Bildschirmfreigabe hinzuzufügen?

Beispiel: https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/

Hilfreichster Kommentar

Für diejenigen, die nach Screen Sharing suchen, müssen Sie, wie oben erwähnt, einen MediaStream auf die gleiche Weise verwenden, wie Sie es für einen Anruf tun würden.

So erhalten Sie den MediaStream für die Bildschirmfreigabe:

let screenStream = await navigator.mediaDevices.getDisplayMedia({
    video: true
});

Dann einfach:

peer.call(remote_peer_key, screenStream);

Hoffe das spart dir 5 Minuten ;)

Alle 12 Kommentare

PeerJS nimmt beim Aufrufen von peer.call einen beliebigen Stream
share, du brauchst nur einen Screen-Sharing-Stream von getUserMedia
anstelle eines Webcam-Videostreams. PeerJS unterscheidet nicht, wenn Sie
einen anderen Peer anrufen. Beachten Sie, dass die Bildschirmfreigabe erfordert, dass Ihre Website HTTPS verwendet.

Sollte also schon funktionieren.

Eric

Am Donnerstag, 24. Oktober 2013 um 8:52 Uhr schrieb kenianbei [email protected] :

Gibt es Pläne, die Bildschirmfreigabe hinzuzufügen?

Beispiel: https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf Gi tHub anhttps://github.com/peers/peerjs/issues/96
.

510-691-3951
http://ericzhang.com

Probieren Sie es aus und wenn Sie Probleme haben, öffnen Sie das Problem bitte erneut und ich werde es beheben

Am Freitag, 25. Oktober 2013 um 10:41 Uhr, Eric Zhang wirklich. [email protected] schrieb:

PeerJS nimmt beim Aufrufen von peer.call einen beliebigen Stream
share, du brauchst nur einen Screen-Sharing-Stream von getUserMedia
anstelle eines Webcam-Videostreams. PeerJS unterscheidet nicht, wenn Sie
einen anderen Peer anrufen. Beachten Sie, dass die Bildschirmfreigabe erfordert, dass Ihre Website HTTPS verwendet.

Sollte also schon funktionieren.

Eric

Am Donnerstag, 24. Oktober 2013 um 8:52 Uhr schrieb kenianbei [email protected] :

Gibt es Pläne, die Bildschirmfreigabe hinzuzufügen?

Beispiel: https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf Gi tHub anhttps://github.com/peers/peerjs/issues/96
.

510-691-3951
http://ericzhang.com

510-691-3951
http://ericzhang.com

Ich hatte noch nicht recherchiert, wie die Bildschirmfreigabe funktioniert, werde es testen. Danke für all deine Arbeit... ihr seid großartig!

Hallo, können Sie mir bitte helfen, die Bildschirmfreigabe in PeerJS zu integrieren.

Für diejenigen, die nach Screen Sharing suchen, müssen Sie, wie oben erwähnt, einen MediaStream auf die gleiche Weise verwenden, wie Sie es für einen Anruf tun würden.

So erhalten Sie den MediaStream für die Bildschirmfreigabe:

let screenStream = await navigator.mediaDevices.getDisplayMedia({
    video: true
});

Dann einfach:

peer.call(remote_peer_key, screenStream);

Hoffe das spart dir 5 Minuten ;)

Für diejenigen, die nach Screen Sharing suchen, müssen Sie, wie oben erwähnt, einen MediaStream auf die gleiche Weise verwenden, wie Sie es für einen Anruf tun würden.

So erhalten Sie den MediaStream für die Bildschirmfreigabe:

let screenStream = await navigator.mediaDevices.getDisplayMedia({
    video: true
});

Dann einfach:

peer.call(remote_peer_key, screenStream);

Hoffe das spart dir 5 Minuten ;)

Könnten Sie bitte Quellcode für die Bildschirmfreigabe in peerjs bereitstellen?
als im voraus

Tut mir leid, ich habe keine Zeit, ein minimal funktionierendes Beispiel für die Bildschirmfreigabe bereitzustellen.
Aber wenn Sie ein funktionierendes Beispiel für einen Videoanruf nehmen und den Stream wie oben gezeigt ersetzen, funktioniert es.

@theevann vielleicht hilft dir mein Code

Ich verwende in meinem Projekt und es funktioniert

constructor() {
    this.peer = new Peer();
    this.peer.on('open', (id) => {
      this.id = id;
    });
    this.peer.on('call', (call) => {
      call.answer();
      call.on('stream', (remoteStream) => {
        this.videoElementRef.nativeElement.srcObject = remoteStream;
      });
    });
  }

  public async buttonHandler(evento: Event, remotoId: string): Promise<void> {
    evento.preventDefault();
    const stream = await (navigator.mediaDevices as MyMediaDevices).getDisplayMedia(
      {
        video: { frameRate: 5, width: 1280, height: 720 },
      }
    );
    const call = this.peer.call(remotoId, stream);
  }

@venkpath peer.call(remote_peer_key, screenStream);
Dies funktionierte, aber wenn die Bildschirmfreigabe beendet wird, wird dieser Videorahmen auch auf der anderen Benutzerseite nicht entfernt

@saini3911
Vielleicht hörst du dir das "Schließen"-Ereignis im Stream an und entfernst dann dein Video-Tag?
https://peerjs.com/docs.html#mediaconnection -on

Ich benutze das, aber es entfernt auch Original-Benutzergesichtsmedien

Ich habe mein Projekt in Expressjs und Preerjs gemacht .. nachdem andere Benutzer sich mit dem Raum verbunden haben, warum ist der Medienstream nicht verbunden.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen