Встроенный Web RTC Video Call зависает на Android при вызове из приложения iOS

Мы осуществляем видеозвонки в приложениях Android и iOS с использованием технологии WebRTC.

Мы также реализовали веб-браузер и успешно звонили с Chrome на Android и Chrome на iOS.

Но когда мы звоним с родного iOS на родной Android, видеовызов всегда останавливается через ~ 2 минуты. Аудио все еще работает, но поток видео останавливается.

Мы очень тщательно исследовали эту проблему, даже пытаясь изменить содержание SDP в предложении и ответе, как описано в этой статье ( https://medium.com/@fippo/when-a-browser-update-breaks-your-native-app-for-a-change-3845b30ea185).

Мы также подумали, что причиной проблемы могут быть кодеки H264 для iOS, поэтому мы попытались заменить VP9 на H264 в содержимом SDP, как показано ниже, но безуспешно.

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 - очень хорошая технология, но, возможно, мы недостаточно поняли ее спецификацию.

Поэтому, пожалуйста, помогите нам, если вы знаете какую-либо информацию.

Мы очень благодарны за вашу помощь.

0 ответов

В моем случае основная причина заключается в том, что iOS захватывает большое видео, поэтому решение состоит в том, чтобы уменьшить mediaStream на iOS, и больше не будет зависаний.

Другие вопросы по тегам