element-hq / element-web

A glossy Matrix collaboration client for the web.
https://element.io
GNU Affero General Public License v3.0
11.03k stars 1.96k forks source link

implement a chrome extension to enable screensharing #238

Closed matrixbot closed 4 years ago

matrixbot commented 8 years ago

Created by @ matthew:matrix.org.

carlos22 commented 7 years ago

What about the Electron app? There is a alpha-web-rtc screen share tool: https://github.com/maxogden/screencat - it uses RobotJS (https://github.com/octalmage/robotjs). Don't know how that is related to the chrome screencast stuff.

ara4n commented 7 years ago

@carlos22 oops - missed this. the electron app already does screensharing - shift-click the video call button. (we'll make it more obvious in future)

tanius commented 7 years ago

Clarification for people wanting to try screensharing from Chrome / Chromium: no need to install an extension, just start Chrome / Chromium with the --enable-usermedia-screen-capturing command-line option and then do a Shift+click on the Riot video call button. Tested it, works. (source)

In addition, I tried several extensions for Chrome / Chromium but did not find any that would make Shift+click video calls work in Riot without the --enable-usermedia-screen-capturing command-line argument.

t3chguy commented 7 years ago

The latter is because riot-web (matrix-js-sdk actually) would need to understand the specific extensions and communicate with them especially

danielg4 commented 7 years ago

OK, shift-clicking the video call button does screen sharing, which is not intuitive at all, but there doesn't appear to be a way to switch between camera and screen sharing without leaving the call first…

t3chguy commented 7 years ago

Because it is an easter egg currently, in the next gen conferencing, available via Matrix Apps screensharing is seamless and via its own button and you can switch on the fly

akontsevich commented 6 years ago

Because it is an easter egg currently, in the next gen conferencing, available via Matrix Apps screensharing is seamless and via its own button and you can switch on the fly

What version it will appear and when? Does Shift-click work in desktop version?

t3chguy commented 6 years ago

@akontsevich the current version has Jitsi support but I believe Jitsi screensharing in desktop is currently broken

ara4n commented 6 years ago

I think it was fixed in 0.13?

akontsevich commented 6 years ago

@t3chguy I need Riot<->Riot screensharing. Jitsi not interesting to me.

t3chguy commented 6 years ago

Riot has Jitsi widgets within it, Jitsi is replacing the "native" (freeswitch/verto) conferencing stack in Riot. @akontsevich

akontsevich commented 6 years ago

Riot has Jitsi widgets within it, Jitsi is replacing the "native" (freeswitch/verto) conferencing stack in Riot. @akontsevich

I see, thanks. Shift-Click on phone call button will work after this? I see that Jitsi is something standalone. So video calls in Riot works only for p2p? Does not work for multiple people in a room?

turt2live commented 6 years ago

ftr, when using Jitsi you're very plainly asked to install the extension. When Jitsi becomes embedded in Riot, this issue can probably be closed.

MurzNN commented 6 years ago

Will Jisti widget replace also direct one-to-one calls in Riot? Seems now they are working directly via p2p, and in future will works through Jisti server?

jaller94 commented 6 years ago

The most recent update made Jitsi the default for video calls. Jitsi supports screen sharing on modern web browsers.

https://github.com/vector-im/riot-web/releases/tag/v0.15.6

t3chguy commented 6 years ago

In 1:1 I believe jitsi isn't the default.

Zjemm commented 6 years ago

i hope they wont use jitsi for 1:1, its a dependency on another service which defeats the purpose of running your own instance.

for large groups it could be usefull, altough you first need to add a widget in order to start a conference. there should be just native button for that without the use of widgets.....Dont make riot like KDE :P

and for screensharing, i would be best if it was native and not dependent on jitsi if i want to sell matrix/riot as a slack/skype replacement for companies.....this will be a deal breaker unfortunately

t3chguy commented 6 years ago

You can self host jitsi See dimension.t2bot.io

mnn commented 6 years ago

@akontsevich the current version has Jitsi support but I believe Jitsi screensharing in desktop is currently broken

Confirming, still broken in the standalone app (0.15.7). :disappointed: This is probably only feature I am truly missing.

akontsevich commented 6 years ago

Broken in v0.16 as well on desktop.

MurzNN commented 6 years ago

Does this extension https://chrome.google.com/webstore/detail/riotim-screen-sharing/ehgcnaneidbjcmblghjepmamomchgahd solve the problem in Chrome browser? For me - yes.

BloodyIron commented 5 years ago

So screen sharing works for me on desktop as of this writing, however we really need some core functionality in order for it to be actually useful.

  1. Actual UX features to share screen (screen sharing button dedicated please), the hidden shortcut nobody will find (I suspect that's intentional right now though).
  2. The ability to select, all monitors/one specific monitor/specific app/screen region (drag and resize perhaps?)
  3. The ability to CHANGE visible scope without restarting the call (including dis/enabling screen sharing without dropping the call).
  4. The ability to share screen without video being required on the other ends. Sharing to users without webcams on their end must be an option.
  5. Some sort of way to highlight the region that is being shared, so the user doesn't forget their sharing content (UX)

The fact it works with zero effort out of the box right now, suggests to me most of the work is already done, we just need this polish for it to be actually rad ;)

So, apart from my proposals here, what exactly is the current plan/status for screen sharing in riot? (including android and ios)

BloodyIron commented 5 years ago

Also, I'm not sure if screen sharing works in a room chat right now (conference?). As it talks about failinng to accesxs my camera....

MurzNN commented 5 years ago

@BloodyIron did you write about internal p2p screensharing function in Riot (via shift+click hack) or about new implementation via Jitsi library? Old p2p versions seems to be dropped in future, replaced via Jitsi library: https://github.com/vector-im/riot-web/issues/4880

BloodyIron commented 5 years ago

Yeah my testing was as of today, so AFAIK this is Jitsi relevant. Does that answer your question? :)

Part of it is p2p (jitsi anyways though?) and part of it is room conferencing though, so both?

BloodyIron commented 5 years ago

So I can't do screensharing without a webcam, this is a shortcoming of the latest Riot design.

t3chguy commented 5 years ago

@BloodyIron that is completely off topic for this issue.

BloodyIron commented 5 years ago

@t3chguy not sure how it isn't since I'm literally updating my testing from above... I wanted to do screensharing last night and couldn't due to the limitation. So not following why that somehow isn't relevant?

t3chguy commented 5 years ago

@BloodyIron because the issue you want is https://github.com/vector-im/riot-web/issues/188

t3chguy commented 4 years ago

This is redundant now that all supported Chrome versions have stable screensharing support.