阿里云RTC服务支持双流(大小流)模式,您可以根据业务需求开启此功能。本文以iOS端为例介绍视频双流的实现方式及规格信息。
实现方式
在多用户视频通信时,您可以通过调用setVideoEncoderConfiguration接口将发布端的视频分辨率和码率适当调低,或调用publishLocalDualStream接口开启双流模式并通过调用setRemoteVideoStreamType接口设置订阅端默认订阅小流,以减少编解码的资源消耗和缓解下行带宽压力。更多信息,请参见设置视频属性。
说明 开启双流模式后,RTC SDK在推送视频流时会额外再推送一路低分辨率、低码率的视频流。其中,原视频流称为大流,低分辨率、低码率的视频流称为小流。
双流规格默认对应关系
RTC SDK会根据大流视频的规格自动设置小流视频的默认规格,对应关系如下所示:
大流宽高比(宽∶高) | 小流 | ||
---|---|---|---|
分辨率(宽 × 高) | 码率(单位:Kbps) | 帧率(单位:fps) | |
1∶1 | 160 × 160 | 100 | 10 |
3∶4 | 120 × 160 | 100 | 10 |
4∶3 | 160 × 120 | 100 | 10 |
9∶16 | 90 × 160 | 100 | 10 |
16∶9 | 160 × 90 | 100 | 10 |
其他比例 | 大流宽高比中较大值对应小流分辨率中较大值160,较小值根据比例计算。 | 100 | 10 |
说明 小流视频默认规格遵循以下规则:
- 小流视频分辨率中较大值固定为160,并且和大流的宽高比一致。
- 小流视频帧率固定为10 fps。
- 小流视频分辨率的宽和高必须为偶数。
- 小流视频码率固定为100 Kbps。
自定义小流规格
如果需要自定义小流视频规格,您可以在创建AliRtcEngine对象时设置入extras参数,例如:设置小流视频分辨率为320 × 180,帧率为5 fps,码率为140 Kbps,对应的extras参数设置如下:
{
"user_specified_low_bitrate_stream_parameter": {
"width": 320,
"height": 180,
"frameRate": 5,
"bitRate": 140
}
}
说明
- 设置小流视频分辨率时,宽取值范围为[64,640],高取值范围为[64,480]。
- 设置小流视频帧率大于大流帧率时,小流帧率会自动调整为大流帧率;设置小流视频帧率为0或负数时,自动调整为10。
- 设置小流视频码率小于最小码率时,实际码率为设置的码率;设置小流视频码率大于最大码率时,实际码率为最大码率。
extras参数详细说明,请参见extras参数配置说明。
自定义大流规格
如果需要自定义大流视频规格,您可以根据环境实际带宽大小结合下表中视频分辨率、帧率和码率的对应关系进行设置。
分辨率(宽∶高) | 帧率(单位:fps) | 码率(单位:Kbps) | ||
---|---|---|---|---|
最小值 | 推荐值 | 最大值(推荐值倍数) | ||
160 × 120 | 5 | 10 | 30 | × 3 |
10 | 20 | 55 | × 3 | |
15 | 30 | 80 | × 3 | |
20 | 40 | 100 | × 3 | |
30 | 60 | 130 | × 3 | |
120 × 120 | 5 | 10 | 25 | × 3 |
10 | 17 | 50 | × 3 | |
15 | 25 | 70 | × 3 | |
20 | 34 | 90 | × 3 | |
30 | 50 | 115 | × 3 | |
320 × 180 | 5 | 15 | 65 | × 3 |
10 | 30 | 110 | × 3 | |
15 | 45 | 170 | × 3 | |
20 | 60 | 220 | × 3 | |
30 | 90 | 300 | × 3 | |
180 × 180 | 5 | 10 | 50 | × 3 |
10 | 17 | 70 | × 3 | |
15 | 26 | 100 | × 3 | |
20 | 34 | 130 | × 3 | |
30 | 51 | 180 | × 3 | |
240 × 180 | 5 | 15 | 60 | × 3 |
10 | 30 | 90 | × 3 | |
15 | 45 | 130 | × 3 | |
20 | 60 | 165 | × 3 | |
30 | 90 | 230 | × 3 | |
320 × 240 | 5 | 20 | 100 | × 2 |
10 | 40 | 170 | × 2 | |
15 | 60 | 256 | × 2 | |
20 | 80 | 320 | × 2 | |
30 | 120 | 400 | × 2 | |
240 × 240 | 5 | 15 | 70 | × 2 |
10 | 30 | 100 | × 2 | |
15 | 45 | 150 | × 2 | |
20 | 60 | 200 | × 2 | |
30 | 90 | 256 | × 2 | |
424 × 240 | 5 | 26 | 100 | × 2 |
10 | 53 | 170 | × 2 | |
15 | 79 | 260 | × 2 | |
20 | 105 | 340 | × 2 | |
30 | 158 | 430 | × 2 | |
640 × 360 | 5 | 83 | 200 | × 2 |
10 | 165 | 340 | × 2 | |
15 | 248 | 512 | × 2 | |
20 | 330 | 600 | × 2 | |
30 | 495 | 700 | × 2 | |
360 × 360 | 5 | 30 | 120 | × 2 |
10 | 60 | 180 | × 2 | |
15 | 90 | 260 | × 2 | |
20 | 120 | 330 | × 2 | |
30 | 180 | 400 | × 2 | |
480 × 360 | 5 | 40 | 150 | × 2 |
10 | 80 | 240 | × 2 | |
15 | 120 | 350 | × 2 | |
20 | 160 | 430 | × 2 | |
30 | 240 | 512 | × 2 | |
640 × 480 | 5 | 110 | 200 | × 2 |
10 | 220 | 350 | × 2 | |
15 | 330 | 512 | × 2 | |
20 | 440 | 600 | × 2 | |
30 | 660 | 700 | × 2 | |
480 × 480 | 5 | 83 | 170 | × 2 |
10 | 165 | 260 | × 2 | |
15 | 248 | 400 | × 2 | |
20 | 330 | 470 | × 2 | |
30 | 495 | 600 | × 2 | |
840 × 480 | 5 | 180 | 256 | × 2 |
10 | 360 | 512 | × 2 | |
15 | 540 | 610 | × 2 | |
20 | 720 | 800 | × 2 | |
30 | 1080 | 930 | × 2 | |
1280 × 720 | 5 | 400 | 400 | × 1.5 |
10 | 800 | 800 | × 1.5 | |
15 | 1200 | 1200 | × 1.5 | |
20 | 1600 | 1600 | × 1.5 | |
30 | 2400 | 2400 | × 1.5 | |
960 × 720 | 5 | 250 | 250 | × 1.5 |
10 | 500 | 500 | × 1.5 | |
15 | 750 | 750 | × 1.5 | |
20 | 1000 | 1000 | × 1.5 | |
30 | 1500 | 1500 | × 1.5 | |
1920 × 1080 | 5 | 500 | 500 | × 1.5 |
10 | 1000 | 1000 | × 1.5 | |
15 | 1500 | 1500 | × 1.5 | |
20 | 2000 | 2000 | × 1.5 | |
30 | 3000 | 3000 | × 1.5 | |
2560 × 1440 | 5 | 800 | 800 | × 1.5 |
10 | 1600 | 1600 | × 1.5 | |
15 | 2400 | 2400 | × 1.5 | |
20 | 3200 | 3200 | × 1.5 | |
30 | 4800 | 4800 | × 1.5 | |
3840 × 2160 | 5 | 1000 | 1000 | × 1.5 |
10 | 2000 | 2000 | × 1.5 | |
15 | 3000 | 3000 | × 1.5 | |
20 | 4000 | 4000 | × 1.5 | |
30 | 6000 | 6000 | × 1.5 |
说明
- 大流视频默认分辨率为640 × 480,帧率为15 fps,码率为512 Kbps。
- 如果大流为相机流,最高设置分辨率为1920 × 1080,帧率为30 fps。
- 如果大流为屏幕流,最高设置分辨率为3840 × 2160,帧率为30 fps。
- 建议您在设置视频规格时不要设置码率,RTC SDK会根据视频的分辨率和帧率设置合适的码率。