我们正在使用WebRTC技术在Android和iOS应用程序上实现视频通话。
我们还在web浏览器上实现了从chrome到安卓,从chrome到iOS的调用。
但是,当我们从iOS本机呼叫到Android本机时,视频通话总是在大约2分钟后冻结。音频仍在工作,但视频流冻结。
我们非常努力地研究了这个问题,甚至尝试修改了本文描述的Offer & Answer (https://medium.com/@fippo/when-a-browser-update-breaks-your-native-app-for-a-change-3845b30ea185)中的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调用到安卓,反之亦然。
我们认为WebRTC是一项非常好的技术,但可能我们对它的规范了解还不够。
因此,如果您知道任何信息,请帮助我们。
我们非常感谢你的帮助。
发布于 2019-05-15 11:51:02
在我的例子中,根本原因是iOS捕获了一个很大的视频,所以解决方案是缩小iOS上的mediaStream,不再发生冻结。
https://stackoverflow.com/questions/53540515
复制相似问题