A video conference with too many hosts may cause network latency and packet loss.
If we set the subscribing stream to the 1-N Mode (set one stream as high and the rest as low), then a maximum of 17 users can join as hosts in an interactive broadcast without any network latency.
This page describes the scenarios and considerations for implementing a video conference of 7+ users using the Interactive Broadcast APIs.
A typical scenario for a video conference of 7+ users is in a small online class scenario that includes a teacher and a small number of students, where:
The teacher and students enter the class as hosts from either a PC or a mobile device. Upon joining the channel, the teacher and students need to call
enableDualStreamModeto enable the dual-stream function.
The teacher can specify any student to present in class through Agora's signaling services. Agora supports at most five students presenting at the same time. Now everyone in the class can see the video of the specified students from their devices.
Signaling services notify everyone in the channel of who are the presenters. The teacher and students can choose which student they would like to see and call
setRemoteVideoStreamTypeto set the stream type to high or low and subscribe to that particular student. PCs support a maximum of one high stream and 16 low streams, while mobile devices support a maximum of one high stream and six low streams.
1. User Role
In a 17-way live video broadcast, each client is set as a host (broadcaster). The video interaction is a process of joining hosts together.
2. Parameter Settings
Enable the following modes before calling the
joinChannel API method.
- Enable the multi-party video mode:
- Enable the counteracting-packet-loss mode:
3. Stream Type Settings
3.1 Enable Dual-stream Mode
Whether or not to enable dual-stream mode depends on the application scenario. If your app uses dual windows (one big and one small), then Agora recommends enabling dual-stream mode. Use the
enableDualStreamMode method to enable dual-stream mode:
3.2 Supported High-stream Parameters
A 17-way live video broadcast supports all the video profiles supported in the Interactive Broadcast API. However, Agora does not recommend using video profiles that exceed either a resolution of 640 x 480 or a frame rate of 30 fps.
|640 x 480||15 fps||500 Kbps|
|640 x 360||15 fps||400 Kbps|
|640 x 360||24 fps||800 Kbps|
3.3 Customize Low-stream Video Parameters
If you enable dual-stream mode, you can customize the default low-stream video parameters at the app level. For example, setting the video profile to 320 x 180, 15 fps, and 140 Kbps:
3.4 Comply with the Aspect Ratio
The aspect ratio of the low-stream video profile should be identical to that of the preset video profile. For example:
If a high-stream video profile (on a PC) is set to a resolution of 640 x 480, then the low-stream video profile must be set to a resolution with the same aspect ratio (4:3).
If a high-stream video profile (on iOS) is set to a resolution of 360 x 640, then the low-stream video profile must be set to a resolution with the same aspect ratio (9:16).
3.5 User Interface Layout
Agora recommends using a layout with one big window and multiple small windows.
- Use a high-stream layout for the big window.
- Use a low-stream layout for small windows.
4. Release Memory Resources
When a user is offline, the app releases all memory resources of the view used by that user. The recommended procedure is:
- When receiving the callback indicating that a
uidis offline, call the
- Set the view of the
remoteparameter as NULL.