iOS WebRTC 连接卡在 Ice Connection State Gathering

Joh*_*ion 6 xcode objective-c wowza ios webrtc

我正在做一个 iOS 原生 WebRTC 实现,并尝试与 Wowza 流引擎进行对等连接。

我已经构建了自己的实现,交换 SDP Offer/answer,没有错误,但交换在 Ice State Checking 中停止。

从 Chrome 通过 WebRTC 到 Wowza 引擎,这也按预期工作,因此问题似乎不存在于此。

我收到日志错误

[019:110] [51467] (stunport.cc:282): Port[801a400:0:1:0:local:Net[en2:169.254.0.x/16:Wifi:id=1]]: UDP send of 100 bytes failed with error 65
[009:190] [52483] (port.cc:1731): Conn[7058e00:0:Net[en2:169.254.0.x/16:Wifi:id=3]:K1VeXnEm:1:0:local:udp:169.254.31.x:63068->u76s55ya:1:50:local:udp:52.7.176.x:6970|C--W|-|0|0|218992623103|-]: Sent STUN ping, id=66706566354b77567a55706a, use_candidate=0, nomination=0
[009:241] [52483] (port.cc:1731): Conn[503dc00:0:Net[pdp_ip0:10.233.207.x/32:Cellular:id=8]:Usd6n9/m:1:0:local:udp:10.233.207.x:61703->u76s55ya:1:50:local:udp:52.7.176.x:6970|C--W|-|0|0|218992229887|-]: Sent STUN ping, id=6431755a4674675155333050, use_candidate=0, nomination=0
[009:292] [52483] (port.cc:1731): Conn[7060e00:0:Net[en0:192.168.0.x/24:Wifi:id=1]:s9SLzrT3:1:0:local:udp:192.168.0.x:53334->u76s55ya:1:50:local:udp:52.7.176.x:6970|C--I|-|0|0|218992754175|-]: Sent STUN ping, id=496e57507237574d52324b50, use_candidate=0, nomination=0
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒!

编辑:更详细的流程。

我正在尝试在 iOS 上的 Wowza Streaming Engine 实例和 WebRTC 之间创建对等连接。连接只是发布,不接收任何流。

我的步骤如下

  1. 从工厂创建的对等连接。
  2. 添加到对等连接的媒体流。
  3. 在对等连接上创建报价。
  4. 优惠设置为本地描述并发送至 Wowza。优惠有当地的 Ice Candadites
  5. Wowza 回应了 Answer SDP 和ice 候选者(Wowza 只给出了一个)
  6. 答案设置为远程描述
  7. 单个 Ice Candidate 被添加到对等连接中

最终状态始终是 RTCIceConnectionStateChecking 然后失败。

jib*_*jib 3

您需要交换(滴流)ICE 候选人,或者在交换 SDP 提议/答案之前等待几秒钟,以便给当地 ICE 代理时间来填充候选者的提议/答案(可通过获取本地描述来获得)。