I’m building out some functionality with custom UI and am trying to understand the limitations of using ‘normal’ video elements.
Are there restrictions on the number of normal video elements which can be rendered concurrently? Does the size of each element affect this and should the HD status of an element effect this?
Also, can you confirm what the ‘resize’ method does under the hood?
The preview element is used for previewing your own video (e.g. setting virtual backgrounds, video preview window before joining a meeting). The normal element is for displaying regular in-meeting video.
Are there restrictions on the number of normal video elements which can be rendered concurrently? Does the size of each element affect this and should the HD status of an element effect this?
There are restrictions, but they are not based on the number of concurrent streams. The limit is based on the total bandwidth of all streams being received by your SDK instance. Usually this ends up being around 34 streams. Currently there is a known issue where, after exceeding the bandwidth limit, the SDK will silently fail for all additional streams you add. We are working on adding an explicit error code for this scenario.
Also, can you confirm what the ‘resize’ method does under the hood?
I know that this is tied to some internal state representing the dimensions of the element, but I’m not 100% sure what the full implications of calling this method entail. I will need to investigate this one and get back to you.
It’s difficult to say for sure with this much information, but if you are actually seeing fewer streams at 360p than at 720p, then I’d say probably. If they were the same, it could have been something different. How many streams in each resolution are you able to see?
That’s what I need to spend time determining, how many concurrent streams I can grab at each resolution step, and then what happens when I start mixing and matching.
This is where documentation is really needed. It’s going to take hours to essentially reverse engineer Zoom’s bandwidth logic.