# What is isSupportMultipleVideos doing?

**URL:** <https://devforum.zoom.us/t/what-is-issupportmultiplevideos-doing/113134>\
**Category:** Web\
**Created:** [July 5, 2024, 5:45pm UTC](https://devforum.zoom.us/t/what-is-issupportmultiplevideos-doing/113134 "2024-07-05T17:45:29Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![nventurino](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/nventurino/32/39339_2.png) [@nventurino](https://devforum.zoom.us/u/nventurino)\
**Post date:** [July 5, 2024, 5:45pm UTC](https://devforum.zoom.us/t/what-is-issupportmultiplevideos-doing/113134/1 "2024-07-05T17:45:29Z")

</div>

We have 30 weekly participants on our video chat and for 26 of them there is no issue using our implementation of VideoSDK. However, for 4 customer, (all using older macbook laptops + Chrome browser) they are unable to render self-view and view others videos.

Their camera/video stream turns on and others on the call are able to see their video, however they are not able to see their own self-view, or anyone else on the call (except 1 participant).

Can you please share the code behind isSupportMultipleVideos() ? I have remote logging set up and each of these customers’ browsers does correctly support Shared Array Buffer, it is enabled.

Our same code works as expected (gallery view, self-view) every week for the other 26 people. Trying to root cause this issue.

---

<div class="post-metadata">

**Author:** ![nventurino](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/nventurino/32/39339_2.png) [@nventurino](https://devforum.zoom.us/u/nventurino)\
**Post date:** [July 7, 2024, 5:57pm UTC](https://devforum.zoom.us/t/what-is-issupportmultiplevideos-doing/113134/2 "2024-07-07T17:57:15Z")

</div>

![Screenshot 2024-06-20 at 11.06.16 AM](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/1/6/16a8ccabe560cd49d28c5dfff6b1fb5e545ae265.jpeg)  
Adding screenshot

---

<div class="post-metadata">

**Author:** ![vic.yang](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vic.yang/32/24656_2.png) [@vic.yang](https://devforum.zoom.us/u/vic.yang)\
**Post date:** [July 8, 2024, 5:21am UTC](https://devforum.zoom.us/t/what-is-issupportmultiplevideos-doing/113134/3 "2024-07-08T05:21:40Z")

</div>

Hey @nventurino

Thanks for your feedback.

Could you share some problematic Session IDs with us for troubleshooting purposes?

Thanks  
Vic

---

<div class="post-metadata">

**Author:** ![nventurino](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/nventurino/32/39339_2.png) [@nventurino](https://devforum.zoom.us/u/nventurino)\
**Post date:** [July 8, 2024, 2:35pm UTC](https://devforum.zoom.us/t/what-is-issupportmultiplevideos-doing/113134/4 "2024-07-08T14:35:16Z")

</div>

NxJCqy+MQZWuFjCWETOaAA==

2024-07-08T02:05:32.758Z - start Video Success in onCameraClick - {“userName”:“Carly”, “browserDetails”:“Chrome”, “browserVersion”:“126”, “enabledSAB”:true, “supportMultipleVideos”:false}

---

<div class="post-metadata">

**Author:** ![vic.yang](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vic.yang/32/24656_2.png) [@vic.yang](https://devforum.zoom.us/u/vic.yang)\
**Post date:** [July 9, 2024, 3:38am UTC](https://devforum.zoom.us/t/what-is-issupportmultiplevideos-doing/113134/5 "2024-07-09T03:38:19Z")

</div>

Hey @nventurino

> NxJCqy+MQZWuFjCWETOaAA==

Thanks for sharing the session ID with us.

We analyzed the session and found that the problematic user was running the page on a low-performance device, likely a MacBook with a Core i5 5250U. To support rendering multiple videos, a 4-core CPU is required, which we detect using the `navigator.hardwareConcurrency` method.

Additionally, I saw in the screenshot, the user was using Brave browser, which has a known limitation: the `navigator.hardwareConcurrency` result can be inaccurate.

> <https://github.com/brave/brave-browser/issues/13854>
>
> \## Description 
> It appears that Brave browser has broken navigator.hardwareConc…urrency causing it to return invalid values. No other browser I have tested so far has exhibited this behavior and this bug is essentially forcing my library to run in an artificially limited mode, there is no valid reason that navigator.hardwareConcurrency should be like this.
> 
> My machine has 8 logical cores and this is properly detected on Firefox, Edge, and Chrome, only Brave browser is reporting incorrect values that do not match reality. Brave consistently is returning half of the true number of cores on desktop and on android on a phone with 4 cores is showing 3 logical cores detected. 
> 
> My software requires this value to be correct and it is correct in every browser except Brave, and it used to work fine in Brave but something has changed recently and is going to result in loss of value for my library and Brave is essentially forcing artificial limitations on the entire web by changing how this standard feature works.
> 
> 
> \## Steps to Reproduce
> 
> 
> 1. Visit https://www.hamsters.io
> 2. Scroll to the bottom of the page and look at the Client Summary section and look at the Maximum Threads value
> 3. Compare the value reported and compare the number of logical threads your test machine has
> 4. Also, you can simply open the development console and type navigator.hardwareConcurrency and see the same thing
> 
> \## Actual result:
> navigator.hardwareConcurrency is returning a number that does not match the number of logical cores on the computer
> 
> !\[Hamsters.js Screenshot\](https://ucea59aa520f2535c9cd69bac183.previews.dropboxusercontent.com/p/thumb/ABBd0Y9EbZX2MFTYoWrywgSqocy\_IGJJ4YJT9YXKtQ37sxxkpsO53wVEMK4d1buhipzeAqS24ffvv3cKLSmEVGjPqQPF9nlESNCwmxOhBcEbeOQnORy3GztCjvmw\_yi20HhZmg4ElEVjB-fHli983hyR8AN\_ADxbpj7y1j1ICDBnr3iMSNJ5snQDwPhkM5\_m5XlsiRPZ8SXEzDV-1zpibY8yFNy3HniNhYVSedop69J91J9ncUJ6qLgMQnnA2AQt3qDK0ixtezVw959MKPsl9te-qARKWxdghlo40w4-NutBQDvAA6A7juG3fFoKC8h42NuyMJNkpgLSf-MiIs31zUM5UIfJ1fa9POsOVnnZrv8BdWbtLoxan2hXDC5PAnNuRidtQ\_fomMxc5Vqw0ykRJx4k/p.png?fv\_content=true&size\_mode=5)
> 
> 
> \## Expected result:
> 
> navigator.hardwareConcurrency returns the actual number of logical cores on the computer
> 
> \## Reproduces how often: 
> 
> Easily reproduced

To handle cases where `stream.isSupportMultipleVideos()` returns false, it is recommended to display only a fixed video view or the active speaker view for this user. We also provide corresponding events to assist in implementing this function.

> **[Zoom Video SDK for Web - 1.11.10](https://marketplacefront.zoom.us/sdk/custom/web/modules.html#event_video_active_change)**
>
> Documentation for Zoom Video SDK for Web - 1.11.10

Thanks  
Vic

---

<div class="post-metadata">

**Author:** ![nventurino](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/nventurino/32/39339_2.png) [@nventurino](https://devforum.zoom.us/u/nventurino)\
**Post date:** [July 9, 2024, 3:22pm UTC](https://devforum.zoom.us/t/what-is-issupportmultiplevideos-doing/113134/6 "2024-07-09T15:22:26Z")

</div>

Thanks Vic! this is really helpful information. Is there any way to get/force gallery view on a device like this?

We typically only have 2-5 people on the calls at a time, and single view/active speaker is just not the group video experience we’re trying to build. For the type of calls we run, it is important that everyone is visible.

And I’m pretty certain this used to work? We started running into this issue when we updated from  
“@zoom/videosdk”: “^1.6.0”,

to  
“@zoom/videosdk”: “^1.10.7”,

Also can you please explain in a little more detail what isSupportMultipleVideos is doing? Sounds like it is checking for hardware capability as well as access to SAB.

---

<div class="post-metadata">

**Author:** ![vic.yang](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vic.yang/32/24656_2.png) [@vic.yang](https://devforum.zoom.us/u/vic.yang)\
**Post date:** [July 10, 2024, 3:15am UTC](https://devforum.zoom.us/t/what-is-issupportmultiplevideos-doing/113134/7 "2024-07-10T03:15:46Z")

</div>

Hey @nventurino

> Sounds like it is checking for hardware capability as well as access to SAB.

Yes.

Hardware capability is essential. As for `SharedArrayBuffer`, we provide an exception. You can specify the `enforceMultipleVideos` option in the `client.init` method if `SharedArrayBuffer` is not enabled.

Thanks  
Vic

---

<div class="post-metadata">

**Author:** ![nventurino](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/nventurino/32/39339_2.png) [@nventurino](https://devforum.zoom.us/u/nventurino)\
**Post date:** [July 31, 2024, 7:50pm UTC](https://devforum.zoom.us/t/what-is-issupportmultiplevideos-doing/113134/8 "2024-07-31T19:50:21Z")

</div>

Thank you Vic!

> [@vic.yang](#):
>
> To support rendering multiple videos, a 4-core CPU is required

Can you please share any other “minimum system requirements” needed for Video SDK for Web? This would be very helpful for me, and something I could share with our customers. Or a list of what qualifies as a low-performance device / “known limitations”?

Our goal is to support gallery view across all the devices are customers are using (which it used to work), so we’ll have to find another way because this is impacting a surprising number of our members. Anything you can share is helpful.

EDIT: I just found recents posts saying WebRTC is on the way in Aug? Will this help for my case as well with gallery view on low performance devices? [Video SDK - web version - Mac OS performance - #2 by vic.yang](https://devforum.zoom.us/t/video-sdk-web-version-mac-os-performance/111719/2)

---

<div class="post-metadata">

**Author:** ![vic.yang](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vic.yang/32/24656_2.png) [@vic.yang](https://devforum.zoom.us/u/vic.yang)\
**Post date:** [August 1, 2024, 6:22am UTC](https://devforum.zoom.us/t/what-is-issupportmultiplevideos-doing/113134/9 "2024-08-01T06:22:14Z")

</div>

Hey @nventurino

We’ve made some optimizations, and from the next version(Video SDK Web 1.12.0) onwards, devices with 2 cores will be able to support rendering 2 videos simultaneously.

There won’t be this limitation in the future version that supports the WebRTC video solution.

You can use the `stream.isSupportMultipleVideos()` method anytime to determine if the gallery view is supported.

> **[Stream | Zoom Video SDK for Web - 1.11.10](https://marketplacefront.zoom.us/sdk/custom/web/modules/Stream.html#isSupportMultipleVideos)**
>
> Documentation for Zoom Video SDK for Web - 1.11.10

Thanks  
Vic

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [August 31, 2024, 4:22pm UTC](https://devforum.zoom.us/t/what-is-issupportmultiplevideos-doing/113134/10 "2024-08-31T16:22:34Z")

</div>

Closed on August 31, 2024, 4:22pm UTC

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
