Peerjs: 屏幕共享

创建于 2013-10-24  ·  12评论  ·  资料来源: peers/peerjs

有增加屏幕共享的计划吗?

示例: https :

最有用的评论

对于那些寻找屏幕共享的人,如上所述,您需要以与呼叫相同的方式使用 MediaStream。

获取用于屏幕共享的 MediaStream 的方法是:

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

然后简单地:

peer.call(remote_peer_key, screenStream);

希望这可以为您节省 5 分钟;)

所有12条评论

PeerJS 在调用peer.call时接受任意流。 向屏幕
共享,您只需要从 getUserMedia 获取屏幕共享流
而不是网络摄像头视频流。 PeerJS 不会区分当你
呼叫另一个 Peer。 请注意,屏幕共享要求您的网站使用 HTTPS。

所以它应该已经工作了。

埃里克

2013 年 10 月 24 日星期四上午 8:52,kenianbei [email protected]写道:

有增加屏幕共享的计划吗?

示例: https :


直接回复本邮件或在Gi tHub上查看
.

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

试试看,如果遇到问题,请重新打开问题,我会解决它

2013 年 10 月 25 日星期五上午 10:41,Eric Zhang 真的。 [email protected]写道:

PeerJS 在调用peer.call时接受任意流。 向屏幕
共享,您只需要从 getUserMedia 获取屏幕共享流
而不是网络摄像头视频流。 PeerJS 不会区分当你
呼叫另一个 Peer。 请注意,屏幕共享要求您的网站使用 HTTPS。

所以它应该已经工作了。

埃里克

2013 年 10 月 24 日星期四上午 8:52,kenianbei [email protected]写道:

有增加屏幕共享的计划吗?

示例: https :


直接回复本邮件或在Gi tHub上查看
.

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

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

我还没有研究过屏幕共享的工作原理,我会测试一下。 感谢您的所有工作……你们太棒了!

你好,你能帮我在 PeerJS 上集成屏幕共享吗?

对于那些寻找屏幕共享的人,如上所述,您需要以与呼叫相同的方式使用 MediaStream。

获取用于屏幕共享的 MediaStream 的方法是:

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

然后简单地:

peer.call(remote_peer_key, screenStream);

希望这可以为您节省 5 分钟;)

对于那些寻找屏幕共享的人,如上所述,您需要以与呼叫相同的方式使用 MediaStream。

获取用于屏幕共享的 MediaStream 的方法是:

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

然后简单地:

peer.call(remote_peer_key, screenStream);

希望这可以为您节省 5 分钟;)

你能提供peerjs中屏幕共享的源代码吗?
提前比

抱歉,我没有时间提供屏幕共享的最小工作示例。
但是,如果您采用视频通话的任何工作示例并替换如上所示的流,它将起作用。

@theevann也许我的代码会帮助你

我正在我的项目中使用它并且它正在工作

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);
这有效,但是当屏幕共享结束时,在其他用户端也不会删除视频帧..如何在屏幕共享结束后删除该视频元素

@ saini3911
也许在流上收听“关闭”事件并删除您的视频标签?
https://peerjs.com/docs.html#mediaconnection -on

我用它来但它也删除了原始的用户面部媒体

我已经在 expressjs 和 preerjs 中创建了我的项目 .. 在其他用户连接到房间后为什么媒体流没有连接.. 就像我其他用户必须刷新他们的选项卡 3-4 次才能在 peerjs 中获取媒体流为什么?

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

bilo1967 picture bilo1967  ·  7评论

lucastwong picture lucastwong  ·  3评论

geraldsamosir picture geraldsamosir  ·  6评论

schweini picture schweini  ·  7评论

kahrkunne picture kahrkunne  ·  4评论