我正在使用 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);
}
这是我的课堂组件。任何帮助将不胜感激。
我正在尝试实现远程视频连接。
请记住,您必须配置“Turn server”和“Stun server”服务,例如使用“Coturn”。
这样做将帮助您克服使用不同网络、防火墙等时的连接问题。