WebRtc客户端到服务器连接

WebRtc客户端到服务器连接,webrtc,Webrtc,我将实现JavaVoIP服务器以与WebRtc配合使用。浏览器p2p连接的实现非常简单。服务器到客户端的连接稍微复杂一些 在快速浏览了RFC之后,我写下了使Java服务器成为浏览器应该做的事情。请帮我完成下面的列表 实现STUN服务器。服务器应该能够响应绑定 请求并保持活动ping 实现DTLS协议和DTLS握手。在DTLS之后 握手共享密钥将用作SRTP中的密钥材料 和SRTCP 支持SRTP和SRTCP流的复用。SRTP和SRTCP的使用 同一端口处理NAT问题 不确定是否应该实现SRTCP

我将实现JavaVoIP服务器以与WebRtc配合使用。浏览器p2p连接的实现非常简单。服务器到客户端的连接稍微复杂一些

在快速浏览了RFC之后,我写下了使Java服务器成为浏览器应该做的事情。请帮我完成下面的列表

  • 实现STUN服务器。服务器应该能够响应绑定 请求并保持活动ping
  • 实现DTLS协议和DTLS握手。在DTLS之后 握手共享密钥将用作SRTP中的密钥材料 和SRTCP
  • 支持SRTP和SRTCP流的复用。SRTP和SRTCP的使用 同一端口处理NAT问题
  • 不确定是否应该实现SRTCP。我相信联系会的 若服务器不向客户端发送SRTCP报告,则不会被破坏
  • 将SRTP流解码为RTP
  • 问题:

  • 在服务器端还有什么需要做的吗
  • webRtc如何处理SRTCP报告?它是否调整采样率/位 速率取决于SRTCP报告
  • WebRtc声称将解决以下问题:

    • 包丢失隐藏
    • 回声消除
    • 带宽适应性
    • 动态抖动缓冲
    • 自动增益控制
    • 降噪与抑制
    是webRtc内部还是编解码器(Opus)内部?我是否需要在服务器端执行任何操作来处理此问题,例如可变比特率等


  • 你不必重新发明轮子。眩晕/转身服务器是外部组件。按原样使用。WebRTC源代码可用,您可以在应用程序代码中使用它并调用相关方法


    请。参考类似的post-

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

    您要创建自己的RTP堆栈吗?或者使用像Gstreamer这样的现有工具?我很少看到开源Java实现。也许我会从头开始实现它。最后,浏览器能够将SRTP流发送到服务器。但这并不容易。到目前为止,流只从broswer流向服务器。@Anton您考虑过使用现有的MCU和WebRTC服务器吗?有一些开源实现。你可以看看他们的代码,看看他们在做什么。不管怎么说,我可以告诉你,你的计划一点也不琐碎。请看一看,一个我参与的项目,一个自己看的项目。@igracia我很少看到开源实现。然而,它们都是用C编写的。我希望有一个Java解决方案