在视频通话或互动直播中设置视频属性,可以根据用户喜好,调整视频画面的清晰度和流畅度,获得较高的用户体验。
视频属性一般包含视频分辨率、帧率、码率等数据。
在设置视频属性前,请确保你已完成环境准备、安装包获取等步骤,详见集成客户端。
声网 Web SDK 通过 setVideoProfile
和 setVideoEncoderConfiguration
2 个接口支持设置视频属性。你可以根据实际场景需求,选择任一接口进行实现。这 2 个接口的区别在于:
setVideoEncoderConfiguration
: 灵活设置视频属性的各参数值setVideoProfile
:指定一个 Profile,每个 Profile 对应一套固定的分辨率、码率和帧率setVideoEncoderConfiguration
stream.setVideoEncoderConfiguration({
// 视频分辨率
resolution: {
width: 640,
height: 480
},
// 视频编码帧率。通常建议是 15 帧,不超过 30 帧
frameRate: {
min: 15,
max: 30
},
// 码率。我们建议参考下面的视频属性参考表进行设置
bitrate: {
min: 1000,
max: 5000
}
});
Note:
setVideoProfile
// 设置视频属性为 480p_3,对应分辨率 480 x 480,帧率 15, 码率 400
localStream.setVideoProfile("480p_3");
Note: 该方法一般在 Stream.init
之前调用。从 v2.7.0 开始,你也可以在 Stream.init
成功后调用本方法修改视频属性。
视频属性 | 分辨率(宽 x 高) | 帧率(fps) | 码率(Kbps) |
---|---|---|---|
120p | 160 x 120 | 15 | 65 |
120p_1 | 160 x 120 | 15 | 65 |
120p_3 | 120 x 120 | 15 | 50 |
180p | 320 x 180 | 15 | 140 |
180p_1 | 320 x 180 | 15 | 140 |
180p_3 | 180 x 180 | 15 | 100 |
180p_4 | 240 x 180 | 15 | 120 |
240p | 320 x 240 | 15 | 200 |
240p_1 | 320 x 240 | 15 | 200 |
240p_3 | 240 x 240 | 15 | 140 |
240p_4 | 424 x 240 | 15 | 220 |
360p | 640 x 360 | 15 | 400 |
360p_1 | 640 x 360 | 15 | 400 |
360p_3 | 360 x 360 | 15 | 260 |
360p_4 | 640 x 360 | 30 | 600 |
360p_6 | 360 x 360 | 30 | 400 |
360p_7 | 480 x 360 | 15 | 320 |
360p_8 | 480 x 360 | 30 | 490 |
360p_9 | 640 x 360 | 15 | 800 |
360p_10 | 640 x 360 | 24 | 800 |
360p_11 | 640 x 360 | 24 | 1000 |
480p | 640 x 480 | 15 | 500 |
480p_1 | 640 x 480 | 15 | 500 |
480p_2 | 648 x 480 | 30 | 1000 |
480p_3 | 480 x 480 | 15 | 400 |
480p_4 | 640 x 480 | 30 | 750 |
480p_6 | 480 x 480 | 30 | 600 |
480p_8 | 848 x 480 | 15 | 610 |
480p_9 | 848 x 480 | 30 | 930 |
480p_10 | 640 x 480 | 10 | 400 |
720p | 1280 x 720 | 15 | 1130 |
720p_1 | 1280 x 720 | 15 | 1130 |
720p_2 | 1280 x 720 | 15 | 2080 |
720p_3 | 1280 x 720 | 30 | 1710 |
720p_5 | 960 x 720 | 15 | 910 |
720p_6 | 960 x 720 | 30 | 1380 |
1080p | 1920 x 1080 | 15 | 2080 |
1080p_1 | 1920 x 1080 | 15 | 2080 |
1080p_2 | 1920 x 1080 | 30 | 3000 |
1080p_3 | 1920 x 1080 | 30 | 3150 |
1080p_5 | 1920 x 1080 | 60 | 4780 |
1440p | 2560 x 1440 | 30 | 4850 |
1440p_1 | 2560 x 1440 | 30 | 4850 |
1440p_2 | 2560 x 1440 | 60 | 7350 |
4K | 3840 x 2160 | 30 | 8910 |
4K_1 | 3840 x 2160 | 30 | 8910 |
4k_3 | 3840 x 2160 | 60 | 13500 |
通常来讲,视频参数的选择要根据产品实际情况来确定,比如,如果是1对1 ,老师和学生的窗口比较大,要求分辨率会高一点,随之帧率和码率也要高一点;如果是1对4, 老师和学生的窗口都比较小,分辨率可以低一点,对应的码率帧率也会低一点,以减少编解码的资源消耗和缓解下行带宽压力。一般可按下列场景中的推荐值进行设置。