Не могу создать ответ sdp между ios и android (mediatek) - PullRequest
0 голосов
/ 14 мая 2019

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

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

1 Ответ

1 голос
/ 17 мая 2019

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

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

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

...