【发布时间】:2019-10-01 08:13:36
【问题描述】:
我正在使用 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(联发科)的offer 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
以前有人遇到过这个问题吗?有人对我的问题有什么建议吗?任何回应将不胜感激。
【问题讨论】:
-
如果我没记错的话,Android 的 WebRTC 默认没有 H264 软件解码器。所以在联发科设备上,WebRTC 无法获取 H264 格式。你能检查一下iOS客户端提供的SDP吗?
-
谢谢你,但我没有收到iOS端的SDP回答,这个问题可能是因为iOS端不适用于VP8/VP9。