美文网首页WebRTC
WebRTC连接失败的分析

WebRTC连接失败的分析

作者: cx7 | 来源:发表于2019-01-03 10:33 被阅读264次

    应用场景

    在iOS和Android端通过WebRTC连接时 iOS端发起Offer Android端回复Answer

    Android端能正常接受Remote Stream和显示Local Stream
    iOS端正常显示了Local Media 没有收到Remote Stream

    进一步定位发现iOS端没有触发onAddStream 即没有收到Remote Media
    而设置SDP的回调没有报错 证明收到的Answer是正确的

    问题分析

    1. 排除ICE的影响

    因为是局域网内的连接 所以不存在ICE失败的可能

    2. 排查Offer和Answer

    WebRTC的Offer和Answer实质上是SDP的协商过程

    2.1 排查协商的音视频编码格式

    首先查看音视频的编码器 发现Offer和Answer的首选项都是opus音频编码和vp8视频编码 opus和vp8都是通过软编码器支持的 所以排除是客户端不支持Remote的编码格式

    2.2 排查流媒体方向

    Offer的音频和视频的方向选项都是sendrecv 没有问题
    Answer发现音频和视频都是设置为单向传输recvonly
    得出问题是出在android端 生成的Answer不正确

    得出问题点后排查代码发现时Android客户端生成的Local MediaStream没有添加到PeerConnection 所以导致生成的Answer只包含了接受选项没有发送 进而导致iOS端收不到Remote Stream

    相关文章

      网友评论

        本文标题:WebRTC连接失败的分析

        本文链接:https://www.haomeiwen.com/subject/rihmzftx.html