webex-js-sdk icon indicating copy to clipboard operation
webex-js-sdk copied to clipboard

Webex screen share does not work from the browser-plugin-meetings sample using Chrome on a Mac

Open pct196 opened this issue 1 year ago • 18 comments

Describe the bug

When publishing a screen share to the webex meeting using the browser-plugin-meetings sample, other participant on the call CANNOT see the screen share.

  • I've uploaded a video showing the issue with Chrome to YouTube.
  • I've uploaded a video showing there is no issue with Firefox to YouTube

This issue was reproduced using v3.6.0 of the SDK.

To Reproduce

  • Open the Auth & Registration section
  • Open the Streams section
    • Click Load Camera
    • Click Load Microphone
  • Open the Manage Meeting section
    • In Choose a Meeting
      • Create a webex meeting from the web
      • Paste in the meeting SIP URI, select SIP URI and click Create Meeting
      • When the meeting is listed, select it
    • In Join Meeting
      • Select Join as Moderator
      • Click Join with Media
  • Open the Screen share section
    • Click Share Screen
    • Select a screen to share
    • Click Publish in meeting
    • At this point participants can't see the screen share
    • Click Unpublish in meeting
    • At this point participants see a flicker to a screen share which disappears quickly

Expected behavior

A screen share can be published to the webex meeting which is seen by other participants.

Screenshots

I've uploaded a video showing the issue to YouTube.

Platform (please complete the following information):

  • OS: macOS Sequoia 15.1 (24B83)
  • Browser: Chrome
    • Version: 131.0.6778.70 (Official Build) (arm64)
  • Browser: Firefox
    • Version: 132.0.2 (aarch64)
  • Device Type: Desktop

Additional context

Here are my console logs.

pct196 avatar Nov 13 '24 23:11 pct196

Hello, Was this working previously and if so have you changed anything like OS or Browser versions?

I did notice some messages in the logs indicating no share RTP packets had been sent. Are you on a restricted network or VPN when this is happening?

10:44:29.114 webex.min.js:2 wx-js-sdk StatsAnalyzer:index#compareLastStatsResult --> No share RTP packets received 0 10:44:34.115 webex.min.js:2 wx-js-sdk StatsAnalyzer:index#compareLastStatsResult --> No share RTP packets sent undefined 10:44:34.115 webex.min.js:2 wx-js-sdk StatsAnalyzer:index#compareLastStatsResult --> No share RTP packets received 0 10:44:39.112 webex.min.js:2 wx-js-sdk StatsAnalyzer:index#compareLastStatsResult --> No share RTP packets sent undefined 10:44:39.112 webex.min.js:2 wx-js-sdk StatsAnalyzer:index#compareLastStatsResult --> No share RTP packets received 0 10:44:44.115 webex.min.js:2 wx-js-sdk StatsAnalyzer:index#compareLastStatsResult --> No share RTP packets sent undefined 10:44:44.115 webex.min.js:2 wx-js-sdk StatsAnalyzer:index#compareLastStatsResult --> No share RTP packets received 0

MikePhub avatar Nov 14 '24 00:11 MikePhub

Hi, @MikePhub. I am not on a restricted network or VPN. This works fine with Firefox. I'm just recreating my videos and console logs with v3.6.0 as I realised I'd used an old version of the SDK. Paul

pct196 avatar Nov 14 '24 00:11 pct196

Hi @pct196, Sorry I missed you were running it locally. Can you also try from our hosted sample at https://webex.github.io/webex-js-sdk/samples/browser-plugin-meetings/?

MikePhub avatar Nov 14 '24 00:11 MikePhub

Hi, @MikePhub.

I've just tested using the link above. The same issue occurs with Chrome where participants on the call do not see the screen share.

I've updated my initial description above to include videos and console logs using the v3.6.0 SDK from chrome and firefox.

Paul

pct196 avatar Nov 14 '24 00:11 pct196

Hi, @MikePhub. Is there anything else you need from me for this issue please? Cheers, Paul

pct196 avatar Nov 14 '24 18:11 pct196

The team is currently looking into this issue @pct196

sreenara avatar Nov 18 '24 02:11 sreenara

The Webex team have confirmed on the #webex4devs channel that this is being investigated and are hoping to release a fix by the end of November.

pct196 avatar Nov 19 '24 21:11 pct196

The Webex team have identified the root cause for this issue. It's a server issue. They're waiting for the sever fix to be deployed in production.

pct196 avatar Dec 01 '24 20:12 pct196

This issue has been resolved on the server side and the fix is deployed in production.

sreenara avatar Dec 05 '24 15:12 sreenara

Hi, @sreenara. Could you please reopen this issue as I'm still experiencing the same problem after the server updates.

pct196 avatar Dec 08 '24 19:12 pct196

@pct196 could you please share the console logs, HAR file and webrtc-dump for the latest occurrence of the same problem?

sreenara avatar Dec 09 '24 02:12 sreenara

@sreenara I will send the details requested tomorrow.

pct196 avatar Dec 09 '24 08:12 pct196

@pct196 could you please share the console logs, HAR file and webrtc-dump for the latest occurrence of the same problem?

I've created the requested logs/dumps. Could you confirm how you want me to send through the files please?

pct196 avatar Dec 10 '24 21:12 pct196

@pct196 as discussed over Webex, the new issue reported was due to screen sharing issues on the Mac and Chrome browser.

sreenara avatar Dec 20 '24 05:12 sreenara

@pct196 I'll check with the team about support for 5K and if we can test this.

sreenara avatar Jan 30 '25 16:01 sreenara

Screen sharing works for me on a 5K monitor with web.webex.com which is using this JS SDK. You've confirmed that the production site doesn't use the mediaHelpers, it uses the following code to share the screen:

import {
  LocalDisplayStream,
} from '@webex/plugin-meetings';

const videoTrack = localShareStream?.getVideoTracks()[0];

const videoShareStream = new LocalDisplayStream(new MediaStream([videoTrack])); 

Could you please update the kitchen sink app to show how to import LocalDataStream when using a <script> tag to import the minified library please?

Cheers,

Paul

pct196 avatar Feb 06 '25 21:02 pct196

Hi, @sreenara.

As you can see below we've managed to fix this issue. I think this issue can be closed. To help others could the kitchen sink app be updated with the following please?:

  • LocalDisplayStream is available when the JS SDK is imported using a <script> tag
  • video constraints can be used with the mediaHelpers

At the moment there isn't really any documentation to help a user if they experience this issue.

The issue has been fixed by passing in video constraints to force the browser to use 1080p no matter what resolution the screen is:

const stream = navigator.getDisplayMedia({
  video: {
    height: { ideal: 720, max: 720 },
    width: { ideal: 1280, max: 1280 },
    frameRate: { ideal: 30, max: 30 }
  }
}); 

Paul

pct196 avatar Feb 09 '25 19:02 pct196

Hi, @sreenara.

Just wanted to give an update. We haven't experienced this screen share issue since we've been requesting the display media with the constraints.

Just wanted to confirm that this can be closed and ask if the kitchen sink and documentation could be updated so other folks don't encounter this issue please?

Cheers, Paul

pct196 avatar Mar 30 '25 20:03 pct196