Web SDK with WebCodecs on 1.9.8 not showing user/participant video

Hey,

I was late to the party for the Chrome 93 breaking changes (I made the mistake of going on holiday) so I’ve just gone and updated my WebSDK to 1.9.8, but my personal video doesn’t work, nor can I see the participants. I can, however, see my video on the preview panel.

I’m still running all the Origin Trials:

ZoomMtg.prepareWebSDK(['WebCodecs', 'WebAssembly SIMD']);

When I remove WebCodecs, I can see video again but I have the issue with it being unacceptably slow. Are there any thoughts on what to try?

Cheers

Hi @mijodu ,

Try referencing the advanced guide for Cross-Origin trials in this post: Updated Web Isolation / SharedArrayBuffer Workflow Fix for Web Video SDK

Let us know if that helps,
Gianni

Hi @gianni.zoom, thanks for getting back to me but I’m already implementing the origin trial for shared array buffer, as would hopefully be evident in the fact one of my answers has been linked by your support staff numerous times:

Gallery View Button not showing in Chrome Browser - #3 by mijodu

image

Hi @mijodu ,

Thanks for making me aware that one of your answers has been linked by certain staff members. I was not aware as we receive a high volume of inquiries and each staff member only receives notifications for threads they have commented or been mentioned on.

I’ll see if others are experiencing the same issues or if it can be reproduced in the interim :slight_smile:

Best,
Gianni

Hi I am experiencing the same issue which started strangely yesterday 9/7/21. Users using the sdk can not see themselves and are not transmitting video to other users. Users who are using the Zoom app can be seen by people using the sdk. I have been using the following origin trials:

  1. SharedArrayBuffers in non-isolated pages on Desktop platforms
  2. WebAssembly SIMD
  3. WebCodecs

Any help will be appreciated.

Removing WebCodecs origin trial seems to fix the issue but creates a slowness.

Hi,

We also experienced issues with the video and performance when we tested our app with Zoom Meeting web sdk 1.9.8, SIMD, SharedArrayBuffer, and WebCodecs on Chrome Version 93.0.4577.63.

  1. User’s did not show up after enabling > disabling > enabling the video. Only one participant that time. Video only showed up when the guest joined the meeting (because the screen was refreshed?)
  2. When switching to Gallery View, sometimes there is a noticeable delay in showing the video.
  3. There are times that it felt like the app was slow like slow reaction to button click.
  4. There are times the shared screen is not showing at all at other user’s screen (sometimes there are just delay) and looks like the performance also goes bad when screensharing.

We will try to test without the WebCodec Origin Trial and see if we will encounter the same issue.

Regards,
Lara

@User53 glad I’m not the only one experiencing this. Is your implementation fairly standard?
@gianni.zoom Apologies for the tone of my last comment, not particularly friendly or constructive of me. Not that it’s any excuse but it was ‘one of those days’.

Currently we’ve disabled the WebCodecs on our site to get around this issue, however there is the delay in seeing self/participant video from before. Does the preview panel (before joining) use a different API? I wonder why that worked when in the call didn’t. If someone joins from the Zoom Desktop app then their video would show, so this seems to affect the video sending rather than receiving.

@lfrancia I wasn’t able to see any video from my own feed or other participants that were joining via the WebSDK. So it sounds like you’re getting more success than we are!

Hi @mijodu @User53 @lfrancia ,

We have a possible solution that seems to be working. Tested with Developer Advocate @elisa.zoom, she put her generated Origin Trials token on line 10 in the empty meta-tag field in the “meeting.html” file to resolve video/user participant video not showing:

Try this and it should work :slight_smile:

Best,
Gianni

Hi @gianni.zoom,

Does this mean that you were also able to reproduce it on Zoom side? Regarding the suggested solution, yes we use the meta tag to put the token there in the app otherwise, the origin trial will not be enabled on the user’s browser.

In my case, there are times that the issue shows up but there are times that it will not show up immediately or not at all in one meeting session.

Lara

Hi @gianni.zoom, I’m adding mine into the index.html for the application that consumes the websdk in an Angular app. The only place I can see that meeting.html file is in the JS sample application.

Hi @lfrancia ,

We did not experience this issue during testing, but I am sorry to hear you are selectively experiencing these problems. When it fails, please take screenshots of what you’re seeing on the SDK/console, and email those along with a description of the behavior, meeting identification and affected participant info to developersupport@zoom.us.

This information will help us check specific logs to further investigate.

Thank you,
Gianni

Hi @mijodu,

Good point as we did test on the JS sample app. Is it working for you now?

Best,
Gianni

@gianni.zoom Unfortunately not. I’m adding the SharedArrayBuffer, WebCodecs and WebAssemblySIMD trials on initialisation on app start in the index.html as there is no meeting.html in the SPA implementation of the SDK from what I’m aware of?

Hi @mijodu ,

Hmm, can you please email developersupport@zoom.us with screenshots of what you’re seeing, affected meeting participants and console errors? We’ll follow up with our SDK engineers to investigate further.

Thank you,
Gianni

@gianni.zoom

I’m glad you’ve found a way to bypass the web isolation (the “advanced” guide is not really covering but bypassing the web isolation), but the provided example is certainly not covering most of integration cases your customers have. As an example: single web applications.

You are publishing an SDK, not an application, so you should provide more generic way of covering some aspects of the SDK.

Anyway, not here to add more critics, i have a couple of questions.

1/ The disableCORP property on init() call

disableCORP

This one is set to ‘true’ by default, so unless we deactivate this property (based on window.crossOriginIsolated as in the guide’s example) it means that communication within the Zoom SDK are not using web isolation (e.g not returning the expected headers)

  • Is my understanding correct ?
  • Why until now nobody talked about that parameter and its default value when it comes to web isolation ? If the understanding is correct, then that is definitely affecting tests & results performed.
  • Is there any relationship with the warning that popup on the console when the sharedArrayBuffer OT is used without the web isolation ?

2/ What about the COEP Credentialless OT ?

The mentioned guide do not mention the COEP credentialless origin trial which is there to authorize web isolation mode on pages that are not yet fully compliant with web isolation. (instead of using the method used in the guide to fake & deactivate it)
You can find more information about that in the reported thread here

Do you mind updating your guide to include this origin trial in the solutions ?

Hi @nvivot ,

Thank you for your in-depth observations and contributions to our collective learning and problem solving here. I will do some testing with my colleagues and connect with the SDK team specifically on the points you’ve made. :slightly_smiling_face:

Sincerely,
Gianni

Hi, following up on this topic. Removing WebCodecs fixes the video not showing with 1.9.8 on Chrome 93. But if I test with the Chrome 94 Beta it is broken again (no video for any participant). Is the zoom team planning on releasing an update before Sept. 22 when Chrome 94 launches?

Hi @IanIsDeveloping,

Happy to help and relay to our SDK team. Can you please attach screenshots of what you’re seeing with Chrome 94 Beta? You can send here or to developersupport@zoom.us if you feel more comfortable, with me addressed & a link to this thread. Thanks!

Gianni

We are also having the same issue.