我们正在使用 WebRTC 技术在 Android 和 iOS 应用程序上实现视频通话。
我们也在web浏览器上实现了,从chrome到android,chrome到iOS调用成功。
但是,当我们从 iOS 本地调用到 Android 本地时,视频通话总是在大约 2 分钟后卡住。音频仍在工作,但视频流卡住。
我们非常努力地研究了这个问题,甚至我们尝试按照本文所述(https://medium.com/@fippo/when-a-browser-update-breaks-your-native-app-for-a-change-3845b30ea185)修改 Offer & Answer 的 SDP 内容。
我们也认为问题的原因可能是 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 是非常好的技术,但也许我们对它的规范了解不够。
所以如果您知道任何信息,请帮助我们。
非常感谢您的帮助。
Best Answer-推荐答案 strong>
在我的情况下,根本原因是 iOS 捕获了一个大视频,因此解决方案是缩小 iOS 上的 mediaStream 并且不再发生卡住。
关于android - 从 iOS 应用程序调用时,Android 上的 native Web RTC 视频通话卡住,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/53540515/
|