Node.js - 客户端到服务器的 WebRTC 与点对点通信。

6

在寻求实现类似Discord的客户端到服务器模型的WebRTC后,我得出了这样一个结论:做法是需要2个客户端-即服务器和客户端。可以将音频流叠加并以1个单一流发送回用户。

后端/server.js

const clientPeer = new Peer({ initiator: true, wrtc });
    
clientPeer.on('connect', () => console.log('hi client, this is server'));
clientPeer.on('data', (data) => console.log('got a message from client peer: ', data));

frontend/index.js

serverPeer.on('connect', () => console.log('Connected to server'));
serverPeer.on('stream', async (stream) => {
  const video = document.createElement('audio');

  ('srcObject' in video)
    ? video.srcObject = stream
    : video.src = window.URL.createObjectURL(stream);

  await video.play();
});

我该如何在客户端和服务器之间实现媒体流的发送?


我不完全理解你想要实现什么,但我认为SFU(例如:mediasoup)可能与之相关/必需。 - artur grzesiak
1个回答

4

我正在考虑使用WebSocket分块发送数据,但对音频质量不确定。如果音频质量好的话,这可能是一个可行的解决方案。你知道有哪些好的代码示例吗? - ADAMJR
我不确定质量如何,因为我们只是作为一个概念证明使用这个解决方案。但如果您与WebSocket的连接正常,以及您的媒体录制机器也正常,那么我认为质量也会很好。请阅读关于这个解决方案的博客文章,我已经更新了答案。 - Anarno

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接