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

我已经构建了自己的实现,交换了 SDP 提供/答案,没有错误,但是交换在 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

任何帮助都会很棒!

编辑:
更详细的流程。

我正在尝试在 iOS 上的 Wowza Streaming Engine 实例和 WebRTC 之间创建对等连接。连接只是一个发布,没有接收到流。

我的步骤如下
  • 从工厂创建的对等连接。
  • 添加到对等连接的媒体流。
  • 在对等连接上创建的报价。
  • 优惠设置为本地描述并发送到 Wowza。优惠有本地的 Ice Candadites
  • Wowza 对 Answer SDP 和 ice 候选者的响应(Wowza 只给出了一个)
  • 答案设置为远程描述
  • 将单个 Ice Candidate 添加到 Peer Connection

  • 最终状态总是 RTCIceConnectionStateChecking 然后失败。

    最佳答案

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

    关于iOS WebRTC 连接卡在 Ice Connection State Gathering,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53786638/

    10-13 04:05