我们正在使用 WebRTC 技术在 Android 和 iOS 应用程序上实现视频通话。
我们也在网页浏览器上实现,并成功从chrome调用android,chrome调用iOS。
但是,当我们从 iOS 本地呼叫到 Android 本地时,视频通话总是在大约 2 分钟后冻结。音频仍在工作,但视频流冻结。
我们非常努力地研究了这个问题,即使我们尝试按照本文所述修改 Offer & Answer 的 SDP 内容(https://medium.com/@fippo/when-a-browser-update-breaks-your-native-app- for-a-change-3845b30ea185)。
我们还认为问题的原因可能是 iOS 的 H264 编解码器,因此我们尝试将 SDP 内容中的 VP9 替换为 H264,如下面的代码,但没有成功。
private String modifySdp(String sdp) {
return sdp.replace("VP9/90000", "H264/90000\r\n"
+ "a=fmtp:101 profile-level-id=42e01f;packetization-mode=1")
.replace("a=rtpmap:100 VP8/90000", "a=rtpmap:100 VP8/90000\r\n"
+"a=fmtp:100 profile-level-id=42e01f;packetization-mode=1");
}
我们需要实现这个视频通话功能,让应用业务可以从iOS调用Android,反之亦然。
我们认为 WebRTC 是非常好的技术,但也许我们对它的规范还不够了解。
因此,如果您知道任何信息,请帮助我们。
我们非常感谢您的帮助。