Hi @tommy and @vic.yang guys,
We’ve been using web video sdk from day one and recently migrated to latest version(1.1.3).
Since the beginning of Gallery view feature we’ve been facing an issue where restarting the camera takes a long time (CS-3067) . As per @tommy 's suggestion we started tinkering with WebCodecs experimental feature of Chrome. It seems that the lag disappears as soon as we enable WebCodecs but the screen sharing feature stops working.
We tried using origin trial token and chrome flags to enable WebCodec in Chrome.
To Reproduce(If applicable)
Steps to reproduce the behavior:
Downlad react demo
Enable WebCodecs in Chrome (origin token or chrome flags)
Start videos
Strat screen sharing
Result:
Screen sharing does not work. Error thrown from the screen sharing method.
Device :
Device: Desktop
OS: Windows 10 and Ubuntu 20.04
Browser: Chorme
Browser - Version 92.0.4515.131 (Official Build) (64-bit)
Since screen sharing is a quintessential part of online meetings, we are not able to use the WebCodecs as a solution to the stuck camera problem. Please share with us a solution to this long persisting problem.
Also Cross Origin Isolation is a major hindrance to Single Page applications such as Angular and React. Could you guys please provide a detailed guide on how to enable Cross origin isolation for Angular in production?
Here’s our production configuartion:
Proxy Server: Nginx
WebServer: Apache
Application framework: Angular 8
OS: Ubuntu
Regards and Thanks,
Mehedi Hasan
Software Engineer
Yes! We are also facing the same issue in VideoSDK@1.1.3.
I’ve enabled WebCodecs and SharedArrayBuffers origin trial but strange part is issue is not there in local environment but in production I’m getting this error.
Thanks for reporting this issue, and apologies for the inconvenience. We are working on a fix and will release one soon. Stay updated here: https://marketplace.zoom.us/docs/changelog
Thanks for your feedback. Sorry for the unpleasant experience of Web Video SDK.
If the Web Codecs is enabled, you should pass the Video Element instead of Canvas Element to stream.startShareScreen method. Following is a quick way to determine whether the browser supports WebCodecs:
function isSupportWebCodecs(){
return typeof window.MediaStreamTrackProcessor === 'function'
}
We have updated the react-demo sample code, you can also refer to its implementation.
In the next release of Web Video SDK, we will provide detailed instructions on the console when the WebCodecs is enabled.
Once the WebCodecs is enabled, this function will return true. Make sure there are two OTs applied on your page. SharedArrayBuffer and WebCodecs are independent features that require an OT.
@vic.yang Yes, there are two meta tags that I have embedded one for SharedArrayBuffer and other for WebCodecs, but its returning false only. Does that mean that OTs are not applied on the page? and if that so then how come ScreenShare is not working.
The errors on consoles show that ’ e.desktopSharingValue.video.play is not a function ', which indicates Video SDK judges that WebCodecs was enabled. Video SDK will use VideoElement instead of CanvasElement to render sharing content.
@vic.yang Yes It works (there are no errors), but sometimes at receiving side I get black screen, but that I think is a different issue.
We are almost done but this screen share issue on Chrome is blocking everything .
@tommy I just need to resolve this error that comes on invoking startShareScreen on Chrome. In other browsers its working. This solution by @vic.yang is giving another error.