Are there any constraints on the mediaStream when using the Zoom Video SDK for web?

When capturing a second mediaStream and displaying it in a video element, the Zoom video stops. Is this expected behavior, or is it a bug?

If only one MediaStream can be used, please tell me how to capture high-quality video.

sample code

For reference,
Even when not using the Zoom Video SDK, there is an issue where the size becomes distorted on mobile devices when using two mediaStreams.
GitHub Link: my-camera-app

output

Hi @r.kita ,

Can you attach a code snippet of where you’re attempting to add in the additional media stream so I can better understand your issue? Additionally, is this issue occurring on a mobile device using a web app or mobile app?

Thanks,
Rehema

Hi @rehema.zoom

The issue occurred on iOS Safari.

iOS: 16.7.1
iPhone 12 Pro

code

code snippet

navigator.mediaDevices.getUserMedia(constraints).then(setMediaStream);
<video ref={videoRef} autoPlay playsInline muted className="VideoCapture__video" />

Hey @r.kita

Thanks for your feedback.

It seems a limitation of iOS Safari.

The new behavior in iOS is that, if a new camera device is used, we will
stop the previous capture and start the new one as the current API we are
using does not allow to capture both at the same time. If the new capture is
using the same camera as the previous one, both will be able to continue in
parallel.

https://bugs.webkit.org/show_bug.cgi?id=179363

https://bugs.webkit.org/show_bug.cgi?id=238492

I just tested the Android browser with your code, it works.

Thanks
Vic

1 Like

Thank you for letting me know about the webkit bug.

By aligning the camera angle, the second video was also displayed.
Thank you!

I created an example of taking a screenshot using Zoom’s Canvas/Video.
It also addresses the problem of obtaining empty images due to canvas preserveDrawingBuffer.

If you want to take high-quality photos, you need to call two MediaStreams.

I hope this will be helpful to others.

output

1 Like

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