WebRTC 连接仅适用于本地网络或同一网络

问题描述 投票:0回答:1

我正在使用 WebRTC、ReactJS 和 NestJS 开发视频通话应用程序。我的视频通话在不同浏览器窗口中的本地主机上运行完美,并且如果互联网相同但无法连接远程连接,也可以在实时服务器上运行。下面给出的是我的 RTC 连接代码:

addPeerConnection(id, stream, callback) {
    this.peerConnections[id] = new RTCPeerConnection({
      iceServers: [
        { urls: 'stun:stun.l.google.com:19302' },
      ],
    });
    stream.getTracks().forEach((track) => {
      this.senders.push(this.peerConnections[id].addTrack(track, stream));
    });
    this.listeners[id] = (event) => {
      const fn = this['_on' + capitalizeFirstLetter(this.peerConnections[id].connectionState)];
      fn && fn(event, id);
    };
    this.peerConnections[id].addEventListener('connectionstatechange', this.listeners[id]);
    this.peerConnections[id].ontrack = function ({ streams: [stream] }) {
      console.log({ id, stream });
      callback(stream);
    };
    console.log("Listen Peer coming",this.peerConnections);
  }

这是我的课堂组件。任何帮助将不胜感激。

我正在尝试实现远程视频连接。

reactjs socket.io webrtc video-streaming peerjs
1个回答
0
投票

请记住,您必须配置“Turn server”和“Stun server”服务,例如使用“Coturn”。

这样做将帮助您克服使用不同网络、防火墙等时的连接问题。

© www.soinside.com 2019 - 2024. All rights reserved.