对于同一路视频流,发布端可以通过 Simulcast 功能,向房间内的其他用户,同时编码并推送多路内容相同、规格不同的视频流。以满足订阅端不同的订阅需求。
以下场景适合使用 SImulcast 功能:
RTC SDK 支持同一用户发布至多 4 路编码规格不同的摄像头采集视频流,以满足订阅端不同的视频质量需求,你可以:
Web SDK 支持发布最多 3 路不同规格的视频流。
调用 setVideoEncoderConfig 设置 1 路期望发布的最大分辨率的视频流(大流)。默认视频流的参数为:
进房前调用 setLocalSimulcastMode(mode) 开启 Simulcast 功能。默认设置一路小流,参数为:
如果你需要指定这些视频流的编码参数,进房前调用 setLocalSimulcastMode(mode, streamConfig) 开启并至多设置 3 条视频流的参数,包含分辨率上限等。依次设置弱、小、中流视频参数。
你需要确保视频流的视频宽、高、码率均低于上一等级。
你可以参考下表分别设置大、中、小、弱流的视频流编码参数。
| 视频流等级 | 长度(px) | 宽度(px) | 帧率(fps) | 最大码率(kbps) |
|---|---|---|---|---|
| 大流 | 1920 | 1080 | 30 | 3000 |
| 1280 | 720 | 30 | 1200 | |
| 1120 | 630 | 30 | 1000 | |
| 960 | 540 | 30 | 900 | |
| 中流 | 800 | 450 | 30 | 800 |
| 640 | 360 | 30 | 600 | |
| 480 | 270 | 15 | 400 | |
| 小流 | 320 | 180 | 15 | 300 |
| 256 | 144 | 15 | 200 | |
| 弱流 | 160 | 90 | 15 | 100 |
在允许性能回退的场景下,发布的视频流会根据网络环境,按照大、中、小、弱流的排序进行自动降级,具体参看音视频流回退,否则 SDK 将仅发送设置的分辨率值的流。
发布端开启发送多分辨率视频流的情况下,订阅端可以调用 setRemoteVideoConfig 设置期望订阅偏好,选择订阅大、中、小、弱流对应的视频流。实际订阅到的视频流参数由发布端的实际发送参数决定。
你也可以联系技术支持,帮助你在 RTC 服务端进行推送多分辨率视频流的相关配置。当使用服务端下发配置实现时,下发配置优先级高于在客户端使用 API 设定的配置。
| 视频流等级 | 长度(px) | 宽度(px) | 帧率(fps) | 最大码率(kbps) |
|---|---|---|---|---|
| 大流 | 1280 | 720 | 30 | 1200 |
| 1120 | 630 | 30 | 1000 | |
| 960 | 540 | 30 | 900 | |
| 800 | 450 | 30 | 800 | |
| 中流 | 640 | 360 | 30 | 600 |
| 480 | 270 | 15 | 400 | |
| 320 | 180 | 15 | 300 | |
| 小流 | 256 | 144 | 15 | 200 |
| 弱流 | 160 | 90 | 15 | 100 |
| 视频流等级 | 长度(px) | 宽度(px) | 帧率(fps) | 最大码率(kbps) |
|---|---|---|---|---|
| 大流 | 1280 | 720 | 30 | 1200 |
| 中流 | 1120 | 630 | 30 | 1000 |
| 小流 | 960 | 540 | 30 | 900 |
| 800 | 450 | 30 | 800 | |
| 640 | 360 | 30 | 600 | |
| 480 | 270 | 15 | 400 | |
| 320 | 180 | 15 | 300 | |
| 256 | 144 | 15 | 200 | |
| 弱流 | 160 | 90 | 15 | 100 |
| 视频流等级 | 长度(px) | 宽度(px) | 帧率(fps) | 最大码率(kbps) |
|---|---|---|---|---|
| 大流 | 1920 | 1080 | 30 | 3000 |
| 1280 | 720 | 30 | 1200 | |
| 1120 | 630 | 30 | 1000 | |
| 960 | 540 | 30 | 900 | |
| 800 | 450 | 30 | 800 | |
| 中流 | 640 | 360 | 30 | 600 |
| 480 | 270 | 15 | 400 | |
| 小流 | 320 | 180 | 15 | 300 |
| 256 | 144 | 15 | 200 | |
| 弱流 | 160 | 90 | 15 | 100 |
| 视频流等级 | 长度(px) | 宽度(px) | 帧率(fps) | 最大码率(kbps) |
|---|---|---|---|---|
| 大流 | 640 | 360 | 30 | 600 |
| 中流 | 480 | 270 | 15 | 400 |
| 小流 | 320 | 180 | 15 | 300 |
| 256 | 144 | 15 | 200 | |
| 弱流 | 160 | 90 | 15 | 100 |
当发布端的设置为例 1 所示时
请参见历史版本文档。