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

WebRTC desktop sharing #2943

Open
antobinary opened this Issue Jan 8, 2016 · 30 comments

Comments

Projects
None yet
@antobinary
Member

antobinary commented Jan 8, 2016

Implement a desktop sharing capability using WebRTC. Some of the benefits are:
-fast high quality desktop sharing
-no need of Java plug-ins
-compatible with the HTML5 client

@nadavkav

This comment has been minimized.

Show comment
Hide comment
@nadavkav

nadavkav Jan 21, 2016

My +1 to making it happen. current state of desktop sharing with java (and only on firefox, as chrome does not support java anymore) is unusable. very slow and pixeled view.

nadavkav commented Jan 21, 2016

My +1 to making it happen. current state of desktop sharing with java (and only on firefox, as chrome does not support java anymore) is unusable. very slow and pixeled view.

@mkpelletier

This comment has been minimized.

Show comment
Hide comment
@mkpelletier

mkpelletier Jan 21, 2016

+1 from me too! The Java implementation has become less useful since Chrome stopped supporting NPAPI.

On 21 Jan 2016, at 14:06, Nadav Kavalerchik notifications@github.com wrote:

My +1 to making it happen. current state of desktop sharing with java (and only on firefox, as chrome does not support java anymore) is unusable. very slow and pixeled view.


Reply to this email directly or view it on GitHub #2943 (comment).

mkpelletier commented Jan 21, 2016

+1 from me too! The Java implementation has become less useful since Chrome stopped supporting NPAPI.

On 21 Jan 2016, at 14:06, Nadav Kavalerchik notifications@github.com wrote:

My +1 to making it happen. current state of desktop sharing with java (and only on firefox, as chrome does not support java anymore) is unusable. very slow and pixeled view.


Reply to this email directly or view it on GitHub #2943 (comment).

@ffdixon

This comment has been minimized.

Show comment
Hide comment
@ffdixon

ffdixon Jan 21, 2016

Member

We're actively working on this now. We want it too :-).

Member

ffdixon commented Jan 21, 2016

We're actively working on this now. We want it too :-).

@udayakiran

This comment has been minimized.

Show comment
Hide comment
@udayakiran

udayakiran Jan 22, 2016

Hi,

Nice to see that active work is happening on this. Just a few points from myside.

  1. Safari and IE still dont support webRTC. So, if the presenter is on one of these, he may need to install a webRTC plugin like this one - https://temasys.atlassian.net/wiki/display/TWPP/WebRTC+Plugins and the code needs to support these adapters to capture the desktop.

  2. Not sure if this is the right place to suggest, but what about a JNLP app ?
    I can see this here - https://github.com/BigMarker/deskshare-public
    building a JNLP app seems to be the goto way for applets on chrome after the drop of NPAPI plugins.
    Thoughts on this ?

  3. If this idea is to move away from java, building a one click based installer based on webRTC / something like seems to be the only cross browser & cross device way ?

Thanks!

udayakiran commented Jan 22, 2016

Hi,

Nice to see that active work is happening on this. Just a few points from myside.

  1. Safari and IE still dont support webRTC. So, if the presenter is on one of these, he may need to install a webRTC plugin like this one - https://temasys.atlassian.net/wiki/display/TWPP/WebRTC+Plugins and the code needs to support these adapters to capture the desktop.

  2. Not sure if this is the right place to suggest, but what about a JNLP app ?
    I can see this here - https://github.com/BigMarker/deskshare-public
    building a JNLP app seems to be the goto way for applets on chrome after the drop of NPAPI plugins.
    Thoughts on this ?

  3. If this idea is to move away from java, building a one click based installer based on webRTC / something like seems to be the only cross browser & cross device way ?

Thanks!

@yoldar

This comment has been minimized.

Show comment
Hide comment
@yoldar

yoldar Jan 24, 2016

+1 This is a "hot" Enhancement

yoldar commented Jan 24, 2016

+1 This is a "hot" Enhancement

@mkpelletier

This comment has been minimized.

Show comment
Hide comment
@mkpelletier

mkpelletier Jan 24, 2016

I don't think too much effort should be expended on IE. IE is dead. The
new Edge browser does support some aspects of webrtc, and support will
continue to improve. Safari is the last hold out for this and its users
have been crying for it. The npapi desktop sharing can always serve as a
fallback for the browsers that do not yet support webrtc.

Sent from my phone
pardon brevity and typos
On 22 Jan 2016 8:52 pm, "Uday Kiran" notifications@github.com wrote:

Hi,

Nice to see that active work is happening on this. Just a couple pointers
from myside.

  1. Safari and IE are still not supporting webRTC. So, if the presenter is
    on one of these, he may need to install a webRTC plugin like this one -
    https://temasys.atlassian.net/wiki/display/TWPP/WebRTC+Plugins and the
    code needs to support these adapters to capture the desktop.

  2. Not sure if this is the right place to suggest, but what about a JNLP
    app ?
    I can see this here - https://github.com/BigMarker/deskshare-public
    building a JNLP app seems to be the goto way for applets on chrome after
    the drop for NPAPI plugins.
    Thoughts on this ?

  3. Building a one click based installer based on webRTC / something like
    seem to be the only cross browser & cross device way ?

Thanks!


Reply to this email directly or view it on GitHub
#2943 (comment)
.

mkpelletier commented Jan 24, 2016

I don't think too much effort should be expended on IE. IE is dead. The
new Edge browser does support some aspects of webrtc, and support will
continue to improve. Safari is the last hold out for this and its users
have been crying for it. The npapi desktop sharing can always serve as a
fallback for the browsers that do not yet support webrtc.

Sent from my phone
pardon brevity and typos
On 22 Jan 2016 8:52 pm, "Uday Kiran" notifications@github.com wrote:

Hi,

Nice to see that active work is happening on this. Just a couple pointers
from myside.

  1. Safari and IE are still not supporting webRTC. So, if the presenter is
    on one of these, he may need to install a webRTC plugin like this one -
    https://temasys.atlassian.net/wiki/display/TWPP/WebRTC+Plugins and the
    code needs to support these adapters to capture the desktop.

  2. Not sure if this is the right place to suggest, but what about a JNLP
    app ?
    I can see this here - https://github.com/BigMarker/deskshare-public
    building a JNLP app seems to be the goto way for applets on chrome after
    the drop for NPAPI plugins.
    Thoughts on this ?

  3. Building a one click based installer based on webRTC / something like
    seem to be the only cross browser & cross device way ?

Thanks!


Reply to this email directly or view it on GitHub
#2943 (comment)
.

@ffdixon

This comment has been minimized.

Show comment
Hide comment
@ffdixon

ffdixon Jan 24, 2016

Member

We plan to keep the current Java-based desktop sharing for supporting Safari and IE.

This is the same approach we did with WebRTC audio: if you use FireFox or Chrome, WebRTC audio is the default. If it doesn't work -- or your are on Safari or IE -- BigBlueButton falls back to Flash-based audio.

For desktop sharing, the plan is if you use FireFox or Chrome, WebRTC desktop sharing will be the default. If it doesn't work -- or your are on Safari or IE -- BigBlueButton will fall back to Java-based desktop sharing.

Member

ffdixon commented Jan 24, 2016

We plan to keep the current Java-based desktop sharing for supporting Safari and IE.

This is the same approach we did with WebRTC audio: if you use FireFox or Chrome, WebRTC audio is the default. If it doesn't work -- or your are on Safari or IE -- BigBlueButton falls back to Flash-based audio.

For desktop sharing, the plan is if you use FireFox or Chrome, WebRTC desktop sharing will be the default. If it doesn't work -- or your are on Safari or IE -- BigBlueButton will fall back to Java-based desktop sharing.

@mkpelletier

This comment has been minimized.

Show comment
Hide comment
@mkpelletier

mkpelletier Jan 24, 2016

Fred, you guys are awesome! We are looking forward to it.

Sent from my phone
pardon brevity and typos
On 24 Jan 2016 7:42 am, "Fred Dixon" notifications@github.com wrote:

We plan to keep the current Java-based desktop sharing for supporting
Safari and IE.

This is the same approach we did with WebRTC audio: if you use FireFox or
Chrome, WebRTC audio is the default. If it doesn't work -- or your are on
Safari or IE -- BigBlueButton falls back to Flash-based audio.

For desktop sharing, the plan is if you use FireFox or Chrome, WebRTC
desktop sharing will be the default. If it doesn't work -- or your are on
Safari or IE -- BigBlueButton will fall back to Java-based desktop sharing.


Reply to this email directly or view it on GitHub
#2943 (comment)
.

mkpelletier commented Jan 24, 2016

Fred, you guys are awesome! We are looking forward to it.

Sent from my phone
pardon brevity and typos
On 24 Jan 2016 7:42 am, "Fred Dixon" notifications@github.com wrote:

We plan to keep the current Java-based desktop sharing for supporting
Safari and IE.

This is the same approach we did with WebRTC audio: if you use FireFox or
Chrome, WebRTC audio is the default. If it doesn't work -- or your are on
Safari or IE -- BigBlueButton falls back to Flash-based audio.

For desktop sharing, the plan is if you use FireFox or Chrome, WebRTC
desktop sharing will be the default. If it doesn't work -- or your are on
Safari or IE -- BigBlueButton will fall back to Java-based desktop sharing.


Reply to this email directly or view it on GitHub
#2943 (comment)
.

@udayakiran

This comment has been minimized.

Show comment
Hide comment
@udayakiran

udayakiran Jan 25, 2016

Hi,

Gotcha! fallback option works.

(Just to mention that JNLP app instead NPAPI gives a little better UX as users dont need to figure out how to enable java on their browsers. But it's a minor thing.)

Thanks.

udayakiran commented Jan 25, 2016

Hi,

Gotcha! fallback option works.

(Just to mention that JNLP app instead NPAPI gives a little better UX as users dont need to figure out how to enable java on their browsers. But it's a minor thing.)

Thanks.

@tsalafi

This comment has been minimized.

Show comment
Hide comment
@tsalafi

tsalafi Mar 2, 2016

I want to convert BBB deskshare applet into a java web start application, so that the application will become browser-independent. So, when the user wants to share his/her desktop, then I want the applet to run from the user's desktop instead of running it directly from the browser. This way, our applet will be browser-independent.

My question is, do we already have its implementation? If so, then how can I implement it in my application.

tsalafi commented Mar 2, 2016

I want to convert BBB deskshare applet into a java web start application, so that the application will become browser-independent. So, when the user wants to share his/her desktop, then I want the applet to run from the user's desktop instead of running it directly from the browser. This way, our applet will be browser-independent.

My question is, do we already have its implementation? If so, then how can I implement it in my application.

@ffdixon

This comment has been minimized.

Show comment
Hide comment
@ffdixon

ffdixon Mar 2, 2016

Member

Just to let everyone know, we are actively working on converting the desktop sharing applet into a Java Web Start application (launched via JNLP).

We'll update this issue as we progress.

Member

ffdixon commented Mar 2, 2016

Just to let everyone know, we are actively working on converting the desktop sharing applet into a Java Web Start application (launched via JNLP).

We'll update this issue as we progress.

@tsalafi

This comment has been minimized.

Show comment
Hide comment
@tsalafi

tsalafi Mar 2, 2016

Ohk thank you so much.... I don't have words to thank you :)
awesome team :)

tsalafi commented Mar 2, 2016

Ohk thank you so much.... I don't have words to thank you :)
awesome team :)

@udayakiran

This comment has been minimized.

Show comment
Hide comment
@udayakiran

udayakiran Mar 2, 2016

Fred, Thanks. Great decision keeping cross browser & device support in mind. Looking forward for it.

Just as one of my previous comments points - https://github.com/BigMarker/deskshare-public
could be of some help.

udayakiran commented Mar 2, 2016

Fred, Thanks. Great decision keeping cross browser & device support in mind. Looking forward for it.

Just as one of my previous comments points - https://github.com/BigMarker/deskshare-public
could be of some help.

@ffdixon

This comment has been minimized.

Show comment
Hide comment
@ffdixon

ffdixon Mar 2, 2016

Member

We saw the BigMarker release last year. Unfortunately, they released it under the APL license, so we were unable to use any of the work. We've since been working on our own version that we can release under the LGPL license.

Member

ffdixon commented Mar 2, 2016

We saw the BigMarker release last year. Unfortunately, they released it under the APL license, so we were unable to use any of the work. We've since been working on our own version that we can release under the LGPL license.

@udayakiran

This comment has been minimized.

Show comment
Hide comment
@udayakiran

udayakiran Mar 2, 2016

Fred, okay :) Thanks!

udayakiran commented Mar 2, 2016

Fred, okay :) Thanks!

@nadavkav

This comment has been minimized.

Show comment
Hide comment
@nadavkav

nadavkav Mar 3, 2016

Hope you are seriously considering other solution than java for desktop sharing, as it is unusable on several levels (very low performance, modern browsers do not like java, java security, UX and usability), especially, comparing to desktop sharing solutions from other web conferencing alternative tools.

Supporting Safari or IE is not something worth consideration, for us. as we have both under 15% usage and steadily declining.

nadavkav commented Mar 3, 2016

Hope you are seriously considering other solution than java for desktop sharing, as it is unusable on several levels (very low performance, modern browsers do not like java, java security, UX and usability), especially, comparing to desktop sharing solutions from other web conferencing alternative tools.

Supporting Safari or IE is not something worth consideration, for us. as we have both under 15% usage and steadily declining.

@ffdixon

This comment has been minimized.

Show comment
Hide comment
@ffdixon

ffdixon Mar 3, 2016

Member

We do believe it's worth supporting IE and Safari. It makes the BigBlueButton project much more attractive if we can say you can support desktop sharing on all major browsers.

We are looking at using WebRTC for desktop sharing as well. See

#2943

So, the best result would be to use WebRTC for desktop sharing (if you are on FireFox or Chrome), and, if not, fall back to using Java Web Start. That way we give the user the best possible experience depending on which browser they are using.

Member

ffdixon commented Mar 3, 2016

We do believe it's worth supporting IE and Safari. It makes the BigBlueButton project much more attractive if we can say you can support desktop sharing on all major browsers.

We are looking at using WebRTC for desktop sharing as well. See

#2943

So, the best result would be to use WebRTC for desktop sharing (if you are on FireFox or Chrome), and, if not, fall back to using Java Web Start. That way we give the user the best possible experience depending on which browser they are using.

@nadavkav

This comment has been minimized.

Show comment
Hide comment
@nadavkav

nadavkav Mar 3, 2016

This is #2943 , what do you mean?

nadavkav commented Mar 3, 2016

This is #2943 , what do you mean?

@nadavkav

This comment has been minimized.

Show comment
Hide comment
@nadavkav

nadavkav Mar 3, 2016

Do you have a working solution for desktop sharing in Chrome & Firefox that uses WebRTC?

nadavkav commented Mar 3, 2016

Do you have a working solution for desktop sharing in Chrome & Firefox that uses WebRTC?

@ffdixon

This comment has been minimized.

Show comment
Hide comment
@ffdixon

ffdixon Mar 3, 2016

Member

Watch #2943 for future updates to gauge how close we are to having WebRTC-based desktop sharing.

Member

ffdixon commented Mar 3, 2016

Watch #2943 for future updates to gauge how close we are to having WebRTC-based desktop sharing.

@nadavkav

This comment has been minimized.

Show comment
Hide comment
@nadavkav

nadavkav Mar 3, 2016

Ok. I was too much confused reading email updates to this issue with the word "Java" in the last few comments, that it seems to me that you are not considering WebRTC as a solution. me bad.
Just saw one of your earlier comments:
"For desktop sharing, the plan is if you use FireFox or Chrome, WebRTC desktop sharing will be the default. If it doesn't work -- or your are on Safari or IE -- BigBlueButton will fall back to Java-based desktop sharing."
And I totally agree that this is the way to move forward.

nadavkav commented Mar 3, 2016

Ok. I was too much confused reading email updates to this issue with the word "Java" in the last few comments, that it seems to me that you are not considering WebRTC as a solution. me bad.
Just saw one of your earlier comments:
"For desktop sharing, the plan is if you use FireFox or Chrome, WebRTC desktop sharing will be the default. If it doesn't work -- or your are on Safari or IE -- BigBlueButton will fall back to Java-based desktop sharing."
And I totally agree that this is the way to move forward.

@nadavkav

This comment has been minimized.

Show comment
Hide comment
@nadavkav

nadavkav Mar 3, 2016

Very much appreciate all your work on this product!

nadavkav commented Mar 3, 2016

Very much appreciate all your work on this product!

@gilou

This comment has been minimized.

Show comment
Hide comment
@gilou

gilou Jun 22, 2016

jnlp is still a good alternative, especially given the current support of screen sharing in WebRTC, that doesn't allow proper region (haven't seen that in any browser, out of the box) / full screen (works in Chrome, even though you might not be able to share ONE screen if you have more than one) sharing. However, the packaging/signing of the jnlp might be an issue by itself. Definitely looking forward to all this.

gilou commented Jun 22, 2016

jnlp is still a good alternative, especially given the current support of screen sharing in WebRTC, that doesn't allow proper region (haven't seen that in any browser, out of the box) / full screen (works in Chrome, even though you might not be able to share ONE screen if you have more than one) sharing. However, the packaging/signing of the jnlp might be an issue by itself. Definitely looking forward to all this.

@philjoseph

This comment has been minimized.

Show comment
Hide comment
@philjoseph

philjoseph Jul 17, 2016

Hello BBB team. Do you know what is the status on this enhancement? Is development ongoing or is it just at the level of prioritisation?

philjoseph commented Jul 17, 2016

Hello BBB team. Do you know what is the status on this enhancement? Is development ongoing or is it just at the level of prioritisation?

@ffdixon

This comment has been minimized.

Show comment
Hide comment
@ffdixon

ffdixon Jul 17, 2016

Member

Hi Phil,

The development is ongoing. For the upcoming BigBlueButton 1.1 release, we'll me moving from a Java Applet to a Java Application launched via a Java Network Launch Protocol File (JNLP). This way, we can run the Java-based screen sharing outside the browser (and bring Chrome back into the fold).

We're working on the WebRTC-based desktop sharing in parallel and it will land in a future version.

For more information see

https://groups.google.com/d/msg/bigbluebutton-dev/2OLdUbi2K_w/1pzOZoppAwAJ

Member

ffdixon commented Jul 17, 2016

Hi Phil,

The development is ongoing. For the upcoming BigBlueButton 1.1 release, we'll me moving from a Java Applet to a Java Application launched via a Java Network Launch Protocol File (JNLP). This way, we can run the Java-based screen sharing outside the browser (and bring Chrome back into the fold).

We're working on the WebRTC-based desktop sharing in parallel and it will land in a future version.

For more information see

https://groups.google.com/d/msg/bigbluebutton-dev/2OLdUbi2K_w/1pzOZoppAwAJ

@nguyenthinu0212

This comment has been minimized.

Show comment
Hide comment
@nguyenthinu0212

nguyenthinu0212 Jan 7, 2017

share your screen is undefined. Help me

nguyenthinu0212 commented Jan 7, 2017

share your screen is undefined. Help me

@slimit

This comment has been minimized.

Show comment
Hide comment
@slimit

slimit Aug 6, 2018

What are the latest changes concerning the Desktop sharing feature ?

I just tried on Ubuntu Chrome but Java blocks the application because he consider the ssl cert as self-signed one even if it comes from LetsEncrypt and the cert details are showing that it is a LetsEncrypt cert and not a self-signed one.

slimit commented Aug 6, 2018

What are the latest changes concerning the Desktop sharing feature ?

I just tried on Ubuntu Chrome but Java blocks the application because he consider the ssl cert as self-signed one even if it comes from LetsEncrypt and the cert details are showing that it is a LetsEncrypt cert and not a self-signed one.

@capilkey

This comment has been minimized.

Show comment
Hide comment
@capilkey

capilkey Aug 7, 2018

Member

@slimit I'm not quite sure what you're referring to. This issue is about implementing WebRTC desktop sharing and you mentioned Java blocking a cert. The WebRTC desktop sharing doesn't use Java. Help requests are much better directed to the Google Groups, https://groups.google.com/forum/#!forum/bigbluebutton-setup and https://groups.google.com/forum/#!forum/bigbluebutton-dev.

Member

capilkey commented Aug 7, 2018

@slimit I'm not quite sure what you're referring to. This issue is about implementing WebRTC desktop sharing and you mentioned Java blocking a cert. The WebRTC desktop sharing doesn't use Java. Help requests are much better directed to the Google Groups, https://groups.google.com/forum/#!forum/bigbluebutton-setup and https://groups.google.com/forum/#!forum/bigbluebutton-dev.

@slimit

This comment has been minimized.

Show comment
Hide comment
@slimit

slimit Aug 17, 2018

@capilkey You are right, I was not so clear.

Is WebRTC desktop sharing supported on Ubuntu ?

slimit commented Aug 17, 2018

@capilkey You are right, I was not so clear.

Is WebRTC desktop sharing supported on Ubuntu ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment