iOS WebRTC 一对一 视频通话卡顿

        在webRTC开发过程中,遇到一些卡顿的场景。WebRTC一对一视频通话,安卓端先发起通话,iOS接听,几十秒后出现iOS端卡顿,视频丢帧的情形,iOS发起通话或者iOS和iOS不会有此问题。采用cocopod方式集成WebRTC也不会有这个问题,自己用ninja编译的WebRTC会出现这个问题。

        第一步 将cocopod和自己编译出来的webrtc.framework,用同一套代码测试一遍,确定问题在自己编译库。

        第二步 将cocopod中WebRTC版本和自己编译的WebRTC源码设置成同一版本。进一步确定问题在自己编译库。

        第三步 对比cocopod和自己编译的WebRTC库打印出来的日志,观察二者区别。

    以上所有工作做了后,确定了自己编译的库和cocopod的库存在区别,gn 编译iOS arm64的库的时候所带的参数有限(网上没有对参数进行详细的讲解,有了解的同学可以回复告知),采用python编译方式,python会跑build_ios_libs.py脚本,调用ninja生成包,python tools_webrtc/ios/build_ios_libs.py --bitcode。


    以下是将自己编译的WebRTC设置成某一个版本。depot_tools中包含gclient工具,gclient中包含git、SVN。

图1

图1红框中32154是提交次数,根据那个号,找到提交的 sha1,然后在 src 目录下 git reset --hard,代码就切过去了,然后重新 sync,就可以编译了。



参考文献

[1] WebRTC 开发(二)源码下载与编译

你可能感兴趣的:(iOS WebRTC 一对一 视频通话卡顿)