Hi, we have few questions regarding the video sdk that deals with native app and web sdk support

Q1. Since Web SDK has support for 9 concurrent audio and video share, Out of limit of 9, can we have some people who are fixed hosts and some hosts who can be changed dynamically. Is this feat possible?

Q2.What if some people join from native zoom app (which has the limit of 49 people) and some join via zoom web client(which has the limit of 9), how are the 9 people able to interact(in terms of audio and video) with those 49 and vice versa?

Will be grateful, if you could answer these questions as it will really help us out with lot things regarding sdk.

I’ll provide some info on what I’ve found until a zoom rep or someone with more knowledge can give definitive answers.

You can only have a single host, but multiple managers. The code lets you manage this dynamically via the SDK (host can pass off host to another user & assign/revoke manager status).

They can’t. Unfortunately the meetings created by the VideoSDK are independent from regular zoom meetings. The regular Zoom clients can’t join VideoSDK meetings & vice versa. You’d have to use the ClientSDK if you want to have users on both.

What I don’t know is if more than 9 users join through the Web VideoSDK or with a desktop/mobile VideoSDK (which apparently support more than 9), how you manage which users’ videos you see. I couldn’t find any methods for “pinning” a user’s video. I’m hoping someone can answer this one.

I can’t comment with certainty since I’ve yet to get up & running, but my current understanding is:

  • Yes, only 9 participants can be visible at a time. And I assume this includes yourself, so 8 peers.
  • We need to monitor events such as user-added and peer-video-state-change to keep track of who’s in the session / who to display. Examples:
    https://marketplace.zoom.us/docs/sdk/video/web/essential/video
  • If there are 10+ participants, we’ll need to paginate into sets of 9 and subscribe to each set as the user clicks through pages. Probably makes sense to order page sets based on things like (a) who has camera enabled, (b) active speaker volume, (c) who is a host / other special roles unique to your app, etc.
  • As for pinning videos, I think this is the same as above. When we call stream.renderVideo() we provide x,y coordinates, so we would add our own logic to render a video at the top left of Page 1 (for example) if it is pinned.

That is correct @bekit , @cscav ! :slight_smile:

@sonicxz , please let us know if you have additional questions.

-Tommy