Не могу создать ответ sdp между ios и android (mediatek)

Я использую 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

Кто-нибудь сталкивался с этой проблемой раньше? и есть ли у кого-нибудь предложение по моей проблеме? Будем признательны за любой ответ.

Если я правильно помню, WebRTC для Android по умолчанию не имеет программного декодера H264. Так что на устройствах MediaTek WebRTC не может подобрать формат H264. Не могли бы вы проверить SDP, предлагаемый клиентом iOS?

Krypton 15.05.2019 09:28

спасибо, но я не получаю ответа SDP на стороне iOS, эта проблема может из-за стороны iOS не работать только с VP8/VP9.

GianhTran 15.05.2019 11:47
1
2
1 267
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Наконец, я нашел решение, основная причина в том, что WebRTC ObjC SDK по умолчанию будет собираться без программных видеокодеков (VP8/VP9).

И мое решение следует следующему: https://groups.google.com/forum/#!topic/discuss-webrtc/WgQPxtnICTQ

Надеюсь, это может помочь любому, кто сталкивается с этой проблемой.

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