【问题标题】:WebRTC through host with nodeJS express and socketio通过带有 nodeJS express 和 socketio 的主机的 WebRTC
【发布时间】:2021-02-03 17:09:46
【问题描述】:

我创建了一个网络应用程序来让人们交流。我想实现屏幕共享和音频通话。

我当前的应用程序是在 NodeJs 中编程的,并使用 express 和 socket.io 来服务客户端连接并打开一个套接字连接。我想流式传输视频和音频。我对 WebRTC 的问题是所有连接到呼叫的人都容易受到 DDoS 攻击,因为它是 p2p。我从 Discord 中找到一篇文章,解释了他们如何设法让整个流量通过他们的服务器:https://blog.discord.com/how-discord-handles-two-and-half-million-concurrent-voice-users-using-webrtc-ce01c3187429,这正是我想要实现的目标。

我可以使用 socket.io-stream https://www.npmjs.com/package/socket.io-stream 吗?我还没弄清楚怎么做,似乎所有 socket.io 流媒体库都是为文件上传/下载而设计的,而不是用于实际的视频/音频流。

如果这不起作用,那么像 Discord 这样的库将是完美的解决方案,因为所有流量都是代理的,而不是 p2p。虽然我找不到任何这些库,但也许我只是在寻找错误的东西? 最好的问候

【问题讨论】:

    标签: node.js express socket.io webrtc streaming


    【解决方案1】:

    你会想要使用SFU

    每个对等方都与 SFU 协商会话。然后他们通过它交换媒体。每个 Peer 只会与服务器通信。它还有许多其他好处,并且是当今大多数 WebRTC 部署所使用的。

    那里有很多开源 SFU。您甚至可以使用开源库构建自己的库。

    【讨论】:

      猜你喜欢
      • 2013-03-09
      • 2013-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-19
      • 2020-04-09
      相关资源
      最近更新 更多