Skip to content

dynamicFPS

shixuemei edited this page Feb 14, 2017 · 5 revisions

动态帧率(网络自适应)

在直播端网络质量不佳时,SDK中的网络自适应功能会把码率降低至接近网络真实带宽的值,以保证流畅性,但画面质量会比较差,此时可考虑调整帧率来补偿码率。

SDK提供的动态帧率功能,可以在编码器输出的码率和帧率之间找到一个最优平衡点,以提供良好的清晰度和流畅度。

一、参数配置

如果希望开启该功能,则需要在打开网络自适应功能的前提下(streamerBase的bwEstimateMode属性不为KSYBWEstMode_Disable)配置以下两个参数,默认情况下不开启该功能。

  • 允许调整的最高帧率,最大不能超过30
@property (nonatomic, assign) int           videoMinFPS;
  • 允许调整的最低帧率,最小不能低于8
@property (nonatomic, assign) int           videoMaxFPS;

若上述参数配置与videoFPS相同,则不开启该功能

二、使用方法

_kit.streamerBase.videoFPS = 15;
_kit.streamerBase.videoMinFPS = 10;
_kit.streamerBase.videoMaxFPS = 25;

最大帧率和最小帧率的选取,请考虑产品的接受范围

三、说明

  • 该功能从v2.0.0后提供
  • 该功能只在硬编时生效,软编无效
  • 使用该功能必须打开网络自适应模式,即streamerBase的bwEstimateMode属性不为KSYBWEstMode_Disable
  • videoMinFPS和videoMaxFPS的参数值,应结合实际情况来设定,建议:
    • 在运动场景下,建议videoMinFPS/videoMaxFPS可以设置偏高些,以保证画面的流畅性
    • 在静止场景下,建议videoMinFPS/videoMaxFPS可以设置偏低些,以保证画面质量,提供更清晰的细节

1. 推流环节说明

2. 特色功能说明

2.1 采集

2.2 音频处理

2.3 视频处理

2.4 编码

2.5 推流

2.6 输入多样化

2.7 集成

3. 第三方功能

4. 技术专栏

5. 已知问题

8. FAQ

金山云计算

Clone this wiki locally