我正在使用webRTC在安卓和ios之间建立一个电话呼叫。
如果安卓设备芯片支持H264,一切正常,但是在使用MediaTek的安卓设备上,安卓端看不到来自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();而且安卓系统(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以前有没有人遇到过这个问题?有人对我的问题有什么建议吗?如有任何回应,我们将不胜感激。
发布于 2019-05-17 11:14:53
最后,我得到了一个解决方案,根本原因是WebRTC ObjC SDK在默认情况下将构建没有软件视频编解码器(VP8/VP9)。
我的解决方案如下:https://groups.google.com/forum/#!topic/discuss-webrtc/WgQPxtnICTQ
希望这篇文章能帮助任何面对这个问题的人。
https://stackoverflow.com/questions/56128080
复制相似问题