nwjs / nw.js

Call all Node.js modules directly from DOM/WebWorker and enable a new way of writing applications with all Web technologies.
https://nwjs.io
MIT License
40.37k stars 3.89k forks source link

chooseDesktopMedia - Is there any way to EXCLUDE a window? [$100] #3597

Open eabovsky opened 9 years ago

eabovsky commented 9 years ago

The use case here is that I am doing a desktop share, but want to exclude my actual application's window from being shared.

There is a $100 open bounty on this issue. Add to the bounty at Bountysource.

Qqwy commented 9 years ago

I believe there are techniques to do so. I know that there have been media players in the past that excluded the actual video they were playing from screencasts as a copyright prevention mechanism.

But I have no idea how this holds up cross-platform, nor how it was done.

Unless your application captures the screen itself, of course, in which case it would be easy to manipulate the data afterwards, drawing a black rectangle or something similar on top of the application.

Of course, if by 'exclude' you mean that the window should be hídden and what is behind it should be shown, I do not think that this is possible.

eabovsky commented 9 years ago

The latter case is what I mean by exclude. Meaning, I want to capture the content behind my apps's window, not the actual app window.

Maybe there's some crazy hack-around to it like setting the opacity of the window 0 then taking the snapshot from the video and changing it hack to 100... guess it'll take some experimenting but my hopes are kinda low at this point.

jtg-gg commented 9 years ago

@eabovsky have you seen @redgecombe pull request https://github.com/nwjs/nw.js/pull/3574 ? he made an API to make a custom UI for window/Desktop selection, so you think this will solve your problem ? @rogerwang should we merge this ?

eabovsky commented 9 years ago

@jtg-gg no - I haven't seen it. Will play with it tomorrow. Thanks for pointing me to it!

dogancelik commented 9 years ago

http://www.teamliquid.net/forum/starcraft-2/225200-program-stream-privacy

A program called Stream Privacy written with .NET Framework can hide applications (processes) while capturing monitor and streaming to Twitch with Open Broadcaster Software. Viewers can't see specified applications but host can. I suggest decompiling it and looking its code.