你需要根据业务对视频清晰度和流畅度的要求,选择合适的视频发布参数。比如,在一对一教学场景中,老师和学生的窗口比较大,要求的分辨率会高一点,随之帧率和码率也高;如果是一对四,老师和学生的窗口都比较小,分辨率可以低一点,对应的码率帧率也会低一点,以减少编解码的资源消耗和缓解下行带宽压力。

参数简介

视频发布参数包括视频分辨率、帧率、码率。在进房间前后都可以进行设置。

视频的分辨率、码率和帧率并非越大越好,且彼此需要维持一个平衡的关系。较高的分辨率需要较高的码率来支撑;码率一定的情况下,帧率过高又会降低视频的分辨率。
上述参数设置的均为理想情况下的最大值。当视频因网络环境等原因无法达到设置的分辨率、帧率或码率的最大值时,会取最接近最大值的那个值。为应对网络或硬件性能波动,RTC 通常建议你使用 推送多路流 和 性能回退 等功能保障网络或硬件性能不佳时的通信体验。

视频通信的单价主要取决于分辨率,参考计费规则。

常见场景参数

你应当根据场景需要,选择合适的视频发布参数。以下是一些常见场景的推荐参数。

单人直播
分辨率高(px)宽(px)帧率(fps)默认码率(kbps)推荐最高码率(kbps)推荐最低码率(kbps)
蓝光(1080P)1080192020250038001000
超清(720P)72012801512001900800
高清(540P)5409601510001520500
标清(480P)480864158001260320
双人直播(双人 PK)

单个主播的视频参数:

高(px)宽(px)帧率(fps)码率(kbps)
540960151200
36064015800
27048015600
24843215400
1V2 PK 或 1V3 PK
窗口高(px)宽(px)帧率(fps)码率(kbps)
大窗36064015800
小窗32036015400
观众连麦
窗口高(px)宽(px)帧率(fps)码率(kbps)
主播窗口540960151200
观众窗口24024015360
视频聊天室

示意图如下:

1V6:

1V1:

1V2:

四宫格:

六宫格:

九宫格:

布局类型窗口高(px)宽(px)帧率(fps)码率(kbps)
1V6主播窗口540960151200
1V6嘉宾窗口25625615300
1V1/36036015800
1V2大窗口36064015800
1V2小窗口32036015500
四宫格/32036015500
六宫格小窗口24032015400
九宫格小窗口24024015280
视频房 KTV
窗口高(px)宽(px)帧率(fps)码率(kbps)
大窗口540960151200
小窗口25625615300
语音房 KTV
高(px)宽(px)帧率(fps)码率(kbps)
540720151000
一起看抖音
高(px)宽(px)帧率(fps)码率(kbps)
36864015800
参数对照表

从观看感受来看,视频的分辨率、码率和帧率当然是越大越好。但实际业务中,你必须考虑到业务需要,设备性能,网络环境,流量费用等实际情况,选择合适的视频发布参数方案。总体来说,较高的分辨率需要较高的码率来支撑;码率一定的情况下,帧率过高又会降低视频的分辨率。我们建议你使用 SDK 默认的视频编码码率。

你可以参考下表,根据设定的视频分辨率,选择实际业务中使用的帧率和码率:

分辨率 (宽 × 高)帧率 (fps)流畅优先时建议码率 (kbps)画质优先时建议码率 (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/
1920 × 10801520804160/
1920 × 10803031506300/
1920 × 10806047806500/
2048 × 108060//8000
4096 × 216060//20000
设置视频发布参数

在各个平台上,你都可以设置视频发布参数:

平台API
AndroidsetVideoEncoderConfig
iOSSetVideoEncoderConfig:
MacSetMaxVideoEncoderConfig:
WindowsSetVideoEncoderConfig

在进入 RTC 房间前后,你都可以设置视频发布参数。我们建议你在开启直播前设置视频发布参数,这样可以加快首帧出图。