WebRtc客户端到服务器的连接

问题描述 投票:7回答:2

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

在快速浏览RFC之后,我写下了将Java服务器作为浏览器应该做些什么。请帮我完成下面的列表。

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

问题:

  1. 还有什么应该在服务器端完成吗?
  2. webRtc如何处理SRTCP报告?它是否根据SRTCP报告调整采样率/比特率?
  3. WebRtc声称将解决以下问题: 丢包隐藏 回声消除 带宽适应性 动态抖动缓冲 自动增益控制 降噪和抑制 是webRtc内部还是编解码器(Opus)内部?我是否需要在服务器端执行任何操作来处理此问题,例如可变比特率等?
webrtc
2个回答
0
投票

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


-1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.