【问题标题】:Native Web RTC Video Call freeze on Android when call from iOS app从 iOS 应用程序调用时,Android 上的本机 Web RTC 视频通话冻结
【发布时间】:2019-05-01 14:30:34
【问题描述】:

我们正在使用 WebRTC 技术在 Android 和 iOS 应用程序上实现视频通话。

我们也在网页浏览器上实现,成功从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 是非常好的技术,但可能我们对它的规范了解不够。

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

非常感谢您的帮助。

【问题讨论】:

  • 这方面有什么更新吗?

标签: android ios webrtc h.264 vp9


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-29
    • 1970-01-01
    • 2019-05-21
    相关资源
    最近更新 更多