3

我们正在使用 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 是非常好的技术,但也许我们对它的规范还不够了解。

因此,如果您知道任何信息,请帮助我们。

我们非常感谢您的帮助。

4

1 回答 1

0

就我而言,根本原因是 iOS 捕获了一个大视频,因此解决方案是缩小 iOS 上的 mediaStream 并且不再发生冻结。

于 2019-05-15T03:51:01.613 回答