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

猜你喜欢

转载自blog.csdn.net/hbblzjy/article/details/123846346