Собственный Web RTC Video Call зависает на Android при звонке из приложения iOS - PullRequest
0 голосов
/ 29 ноября 2018

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

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

Мы очень ценим вашу помощь.

1 Ответ

0 голосов
/ 15 мая 2019

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

...