logo
实时音视频
当前页

流量控制

2024-11-13

功能简介

流量控制,是指 SDK 根据本端以及对端当前网络状态,动态调整视频推流的码率,自动适应当前网络环境及网络波动,从而保证音视频能流畅推送。

使用步骤

1 开启流量控制

推流调用 startPublishingStream 接口,通过 enableTrafficControl 参数开启流量控制,动态调整视频推流的码率,自动适应当前网络环境及网络波动,若关闭流量控制在网络带宽不足时可能出现卡顿的情况。

注意

使用限制: 仅支持 RTC 推流。

// 开启流量控制
zg.startPublishingStream(streamID, stream, {
    enableTrafficControl: true
};

2(可选)设置触发流量控制的关注因素

在开启流量控制时,可以通过 trafficControlFocusOnMode 参数,设置开启流量控制时所关注的因素。

  • TrafficControlFocusOnLocalOnly:只关注本地网络,即不考虑远端网络状况,仅根据本地网络进行流量控制。
  • TrafficControlFocusOnRemote:关注本地网络,同时也兼顾远端网络,目前只在 1v1 场景下有效。即当只有一个 RTC 推流 的情况下,只有一个 RTC 拉流 或只有一个 L3 拉流 时,SDK 会自动开启下行流量控制。拉流端将自己的网络情况通知给推流端,推流端估算自己的上行带宽和拉流端的下行带宽,并从上行、下行带宽的估值中取最小值来调整自己的上行码率,以保证连麦的流畅性。
// 开启流量控制,设置触发流量控制的关注因素
zg.startPublishingStream(streamID, stream, {
    enableTrafficControl: true,
    trafficControlFocusOnMode: 0
};

3 设置流量控制视频码率最小值(纯音频场景可跳过)

开启流量控制时,可以通过 trafficControlMinVideoBitrate 参数设置视频码率最小值(默认值为 “0”)及发送模式,可以使 SDK 在网络未达到发送视频的最小码率时,以极低的帧率发送。

// 开启流量控制,流量控制视频码率
zg.startPublishingStream(streamID, stream, {
    enableTrafficControl: true,
    trafficControlMinVideoBitrate: 200
};

Previous

媒体补充增强信息(SEI)

Next

云代理