无法在ios和android(mediatek)之间创建答案sdp

时间:2019-05-14 10:16:19

标签: android ios webrtc sdp

我正在使用webRTC在android和ios之间创建电话。

如果android设备芯片支持H264(Snapdragon,Exynos),一切正常,但是在使用联发科技的android设备上,Android端无法从iOS客户端看到答案SDP。

这是我的编解码器的分组代码

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();

Android(MediaTek)的要约SDP没有行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 个答案:

答案 0 :(得分:0)

最后,我找到了一个解决方案,其根本原因是默认情况下,WebRTC ObjC SDK将在没有软件视频编解码器(VP8 / VP9)的情况下构建。

我的解决方案如下:https://groups.google.com/forum/#!topic/discuss-webrtc/WgQPxtnICTQ

希望这可以帮助遇到此问题的任何人。