Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zoom and pan on received screen share when larger than the available space to view it #12187

Open
danxuliu opened this issue Apr 23, 2024 · 1 comment · May be fixed by #14028
Open

Zoom and pan on received screen share when larger than the available space to view it #12187

danxuliu opened this issue Apr 23, 2024 · 1 comment · May be fixed by #14028

Comments

@danxuliu
Copy link
Member

How to use GitHub

  • Please use the 👍 reaction to show that you are interested into the same feature.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Is your feature request related to a problem? Please describe.

When another participant shares a screen which is noticeably larger than your own screen (or the size of the browser window if not maximized) the text in the received screen share may not be readable. For example, if another participant shares a 4K screen (3840x2160) and you only have a Full HD screen (1920x1080). This could be even worse if the shared screen has a vertical orientation and your screen has an horizontal orientation, as the 3840 pixels would need to fit in 1080 pixels (actually less, as the window decorations, browser menu, Nextcloud header and so on take some extra pixels).

Describe the solution you'd like

When a received screen share is noticeably larger than the available space to view it it should be possible to zoom on the screen share to show it at 100% resolution and then move the focused area as needed (the same as using an image viewer with 100% zoom and a large image). It should not start zoomed in, though; the starting state should be that the screen share fits the available space (just like done now) and then the user zooms in if needed/desired.

Additional context

In order to implement this there is no need to use getSettings, getConstraints nor anything similar on the received MediaTrack (and, in fact, those methods may not provide any useful information with remote tracks). video elements provide the attributes videoWidth and videoHeight with the intrinsic size of the video, so that should be enough to check if the video is larger than the video element that shows it and how much the element would need to be resized to zoom in.

Note that the size of the video can dynamically change, for example, if a window is being shared and that window is resized.

@Antreesy
Copy link
Contributor

We could try to adapt a plugin like https://github.com/thecodealer/vue-panzoom to our needs

@Antreesy Antreesy linked a pull request Dec 19, 2024 that will close this issue
12 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants