Встроенный 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, и больше не будет зависаний.