使用 WebRTC 的对等服务器音频流

jpe*_*pen 5 webrtc

我了解建立点对点连接

发起者对等体

  • 初始化共享信令信道
  • 初始化 RTCPeerConnection 对象 (pc)
  • 使用 getUserMedia 请求本地流
  • 向 pc 注册本地 MediaStream
  • 创建 SDP 报价并发送给对等方
  • 涓涓细流 ICE 候选人
  • 注册远程 ICE 候选者以开始连接检查

接收端

  • 收听和处理远程提供的报价
  • 注册远程 ICE 候选者以开始连接检查
  • 生成 SDP 应答并发送给对等方

但是我的 WebRTC 用例是对等服务器,其中接收到的流在我的 Node.js 服务器上进行处理。在我的用例中,服务器具有可公开路由的 IP 地址,并且正在侦听任何新的 RTCPeerConnection 请求。因此,在我的案例中,建立对等连接所涉及的一些步骤似乎是不必要的。

  • Q1 建立对等服务器连接的步骤与建立对等连接的步骤有何不同?

特别

  • Q2 是否还需要信令通道?
  • Q3 我还需要逐步筛选 ICE 候选人吗?

Ben*_*ent 5

  1. 您的对等服务器连接与对等连接没有什么不同。这意味着您的服务器只是一个处理大量连接的对等点。您仍然需要为每个与服务器的连接建立一个唯一的连接,因此连接设置的步骤不会有任何不同。但您可以重复使用媒体流。
  2. 是的,您仍然需要一个信令服务器来为每个客户端建立和拆除连接,并让您的服务器进行通信(交换 ICE/SDP)。它可能是与 Node.js 服务器相同的 FQDN/物理盒子,但仍然需要发送信号。
  3. 是的,在客户端。诚然,您的服务器的 ICE 候选者很少(因为它是可公开访问的),并且您可能不必查询它们(应该只使用本地 IP 以及如果它真正开放连接的话可用的端口,这不是非常安全...)但是客户端仍然必须将候选者滴入服务器,以便服务器的流可以到达客户端。