bitrate property Null safety

int? bitrate
@JsonKey(includeIfNull: false), read / write

视频编码的码率。单位为 Kbps。你可以根据场景需要,参考下面的视频基准码率参考表,手动设置你想要的码率。 若设置的视频码率超出合理范围,SDK 会自动按照合理区间处理码率。

你也可以直接选择如下任意一种模式进行设置:

  • Standard:(推荐)标准码率模式。该模式下,视频在通信和直播场景下的码率有所不同:
    • 通信场景下,码率与基准码率一致。
    • 直播场景下,码率对照基准码率翻倍。
  • Compatible:适配码率模式。该模式下,视频在通信和直播场景下的码率均与基准码率一致。直播下如果选择该模式,视频帧率可能会低于设置的值。

Agora 在通信和直播场景下采用不同的编码方式,以提升不同场景下的用户体验。通信场景保证流畅,而直播场景则更注重画面质量,因此直播场景对码率的需求大于通信场景。所以 Agora 推荐将该参数设置为 0 (BitRate.Standard)。

视频码率参考表

分辨率帧率 (fps)基准码率 (通信场景,Kbps)直播码率 (直播场景,Kbps)
160 * 1201565130
120 * 1201550100
320 * 18015140280
180 * 18015100200
240 * 18015120240
320 * 24015200400
240 * 24015140280
424 * 24015220440
640 * 36015400800
360 * 36015260520
640 * 360306001200
360 * 36030400800
480 * 36015320640
480 * 36030490980
640 * 480155001000
480 * 48015400800
640 * 480307501500
480 * 480306001200
848 * 480156101220
848 * 480309301860
640 * 48010400800
1280 * 7201511302260
1280 * 7203017103420
960 * 720159101820
960 * 7203013802760

Note 该表中的基准码率适用于通信场景。直播场景下通常需要较大码率来提升视频质量。 Agora 推荐通过设置 0来实现。你也可以直接将码率值设为基准码率值 x 2。

Implementation

@JsonKey(includeIfNull: false)
int? bitrate;