WebRTC开发之iOS15.4快速晃动,远端观看卡顿掉帧问题
Posted hbblzjy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebRTC开发之iOS15.4快速晃动,远端观看卡顿掉帧问题相关的知识,希望对你有一定的参考价值。
前两周刚刚更新了ios15.4的系统,然后就发现了一个奇怪的问题,在iOS15.4的手机上安装音视频Demo,快速晃动时,远端看到的画面会卡顿,并且掉帧、帧率下降、不断变化,然而在其他系统手机上,却没有问题,所以是为什么?
1、难道是iOS15.4系统的采集修改,所以丢掉了部分帧?
2、难道是iOS15.4系统的硬编码修改,所以丢掉了部分帧?
3、难道是iOS15.4系统与WebRTC不匹配,所以WebRTC丢掉了部分帧?
根据这些猜想和疑问,在采集和编码处分别添加输出语句,测试多次发现:设置帧率15,快速晃动时,采集每秒输出15次,同一时间下编码每秒输出<15次,得出暂时的结论,出现丢帧、卡顿现象跟iOS15.4系统的采集、硬编码都没有关系,是采集的数据传到编码的时候,就有部分数据丢失了,那么只有可能是WebRTC遇到某种情况时,会进行丢帧处理,于是继续研究数据传输的代码。
果然,阅读数据传到编码之前的代码时,发现了一个丢帧处理的代码片段,代码如下:
Frame dropping is enabled iff frame
以上是关于WebRTC开发之iOS15.4快速晃动,远端观看卡顿掉帧问题的主要内容,如果未能解决你的问题,请参考以下文章
WebRtc Native M96 远端视频接收之VideoReceiveStream2模块创建分析
WebRtc Native M96 远端视频接收之-VideoReceiveStream2中FrameBuffer原理
WebRTC音视频之iOS屏幕共享画面静止时,如何传递视频数据