android - 如何将 IceCandidates 嵌入到 SDP 中?

标签 android webrtc stun turn

我们实现的信令机制需要在 sdp 本身中发送icecandidates。
你知道如何将icecandidates嵌入到sdp中吗?
此外,如果icecandidates嵌入在sdp中,那么PeerConnection将如何发起p-2-p连接?
或者PeerConnection是否可以在设置远程sdp后立即启动p2p连接,或者必须做其他事情?

此外,您能否建议我们如何使用 webrtc 在同一 wifi 网络中的 2 个设备之间进行视频通信(不使用 STUN/TURN)?
我尝试将iceservers设置为null,但应用程序无法运行!
我已从日志中收集了两个设备生成的 sdp。
我已经为两个同行生成了ice候选人。我将 sdp 和icecandidates 合并为一个 sdp。这样,我已将iceservers 的RTCConfiguration 设置为NULL。但现在该应用程序无法运行!

我想知道的是,如果我们有一个嵌入了icecandidates的SDP,我们如何发起p2p连接?设置 Remote IceCandidate 或设置 RemoteDescription 时是否会启动 p2p 连接?

谢谢!

最佳答案

ICE 候选人包含在 SDP 录取/答复中。因此,只需等待 ICE 收集过程完成,然后发送 SDP Offer/answer。

我不确定您是否可以在没有 STUN/TURN 服务器的情况下使用 WebRTC,但您可以使用您的服务器或公共(public)服务器。看起来,在本地环境中,无需 STUN/TURN 服务器,一切都可以正常工作 - 只需将一个空数组传递给 iceServers

对于最后一个问题 - 这取决于情况。如果TrickleICE已实现(在 Chrome 和 Firefox 中也是如此),当找到第一个好的 ICE 候选者时,就会启动连接。您可以在此之前设置描述。否则,您需要等到ICE gathering过程完成,然后发送报价/应答并将其设置在另一个对等点上作为远程描述。然后将启动连接。

关于android - 如何将 IceCandidates 嵌入到 SDP 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35359152/

相关文章:

android - 在android中,如何修改此代码以填充两个 TextView 而不是一个?

webrtc - Twilio Video API 中房间的参与者人数有限制吗?

webrtc - 关于WebRTC中TURN服务器的问题

webrtc - 如何测试coturn服务器?

android - 为 Android 编译 libnice

webrtc - 在WebRTC中识别在线用户

android - 滑动菜单示例 : issue in import to eclipse

java - Android:参数不通过 if-else 语句?

android - 从命令行使用不同的 urls/Environment 构建 android 项目

audio - 哪些库/API 允许我访问电话的实时音频波形?