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