Я использую webRTC для создания телефонного звонка между Android и ios.
Все работает нормально, если чип устройства Android поддерживает H264 (Snapdragon, Exynos), но на устройстве Android, использующем MediaTek, сторона Android не может видеть ответ SDP от клиента iOS.
Вот мой блочный код кодека
final PeerConnectionFactory.Options options = new PeerConnectionFactory.Options();
final DefaultVideoEncoderFactory encoderFactory = new DefaultVideoEncoderFactory(eglBase.getEglBaseContext(), true, true);
final DefaultVideoDecoderFactory decoderFactory = new DefaultVideoDecoderFactory(eglBase.getEglBaseContext());
peerConnectionFactory = PeerConnectionFactory.builder().setOptions(options).
setVideoDecoderFactory(decoderFactory).
setVideoEncoderFactory(encoderFactory).
createPeerConnectionFactory();
А предложение SDP Android (MediaTek) не имеет линейки a=rtpmap:100 H264/90000
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 red/90000
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:127 ulpfec/90000
Кто-нибудь сталкивался с этой проблемой раньше? и есть ли у кого-нибудь предложение по моей проблеме? Будем признательны за любой ответ.
спасибо, но я не получаю ответа SDP на стороне iOS, эта проблема может из-за стороны iOS не работать только с VP8/VP9.
Наконец, я нашел решение, основная причина в том, что WebRTC ObjC SDK по умолчанию будет собираться без программных видеокодеков (VP8/VP9).
И мое решение следует следующему: https://groups.google.com/forum/#!topic/discuss-webrtc/WgQPxtnICTQ
Надеюсь, это может помочь любому, кто сталкивается с этой проблемой.
Если я правильно помню, WebRTC для Android по умолчанию не имеет программного декодера H264. Так что на устройствах MediaTek WebRTC не может подобрать формат H264. Не могли бы вы проверить SDP, предлагаемый клиентом iOS?