WebRtc客户端到服务器的连接

时间:2014-08-19 19:08:51

标签: webrtc

我将实施Java VoiP服务器以使用WebRtc。浏览器p2p连接的实现非常简单。服务器到客户端的连接稍微有些棘手。

快速浏览一下RFC后,我写下了将Java服务器作为浏览器应该做些什么。请帮我填写下面的清单。

  1. 实施STUN服务器。服务器应该响应绑定 请求和保持活着。
  2. 实施DTLS协议以及DTLS握手。 DTLS之后 握手共享密钥将用作SRTP中的密钥材料 和SRTCP。
  3. 支持SRTP和SRTCP流的多路复用。 SRTP和SRTCP使用 同一个端口来解决NAT问题。
  4. 不确定是否应该实施SRTCP。我相信联系会 如果服务器没有向客户发送SRTCP报告,则不会被破坏。
  5. 将SRTP流解码为RTP。
  6. 问题:

    1. 还有其他什么应该在服务器端完成吗?
    2. webRtc如何处理SRTCP报告?它是否调整采样率/位 费率取决于SRTCP报告?
    3. WebRtc声称将解决以下问题:

      • 丢包隐藏
      • 回音消除
      • 带宽适应性
      • 动态抖动缓冲
      • 自动增益控制
      • 降噪和抑制

      是webRtc内部还是编解码器(Opus)内部?我是否需要在服务器端执行任何操作来处理此问题,例如可变比特率等?

2 个答案:

答案 0 :(得分:0)

第一步是实施Interactive Connectivity Establisment(RFC 5245)。无论您是否使用STUN / TURN服务器都无关紧要,您的代码需要向浏览器发出连接检查(使用STUN 消息)并响应浏览器的连接检查。 ICE是一个相当复杂的状态机,但它是可行的。

答案 1 :(得分:-1)

您不必重新发明轮子。 STUN / TURN服务器是外部组件。按原样使用。 WebRTC源代码可用于您的应用程序代码并调用相关方法。

PLS。参考类似的帖子 - Server as WebRTC data channel peer