Share only individual screen via hangouts.
Currently if you are using several monitors in Linux and want to share one of them in Hangouts, you cannot do this. Scripts in this repository are made to workaround this. This is for Linux only (on Windows and macOS it works as expected out of the box).
Google support informs that hangouts is working in Chrome, Internet Explorer, Safari and Firefox. So in Linux we have two browsers to choose from: Chromium/Chrome and Firefox.
Browser | Out of the box | fakecamera | special window |
---|---|---|---|
Chromium 67.0.3396.62 | 🔴 all screens simultaniously | 🔴 doesn't work | vlc-hangouts works |
Firefox 60.0.1 | 🔴 all screens simultaniously | works | 🔴 doesn't work |
-
Fix chrome/chromium browser itself
There is a bug report about this problem, but it is marked as WontFix. If somebody could explore and fix it, it'd be perfect.
-
Share a specially prepared window
2.1 Make a window which shows your desktop inside it and share that window
It is easy to share such window, but it is still very inconvinient to work with:
- Shared resolution depends on window size, so you would not like to resize/minimize it.
- But to be able to work with your pc, you are going to move it to another virtual desktop.
- You will be confused if you are watching at such window or at actual desktop.
- Mouse cursor will be invisible, so you wanna use extramaus.
If you are interested, get look at vlc-hangouts script.
2.2. Make a programm in qt, implementing transparent window titled like "Share me" and passing through mouse clicks and keyboard typing.
I did not even started developing this. You can contribute.
-
Use hardware hdmi-to-usb grabber and share as a usual webcam
It is expensive and still inconvinient solution. You cannot easily choose which screen to share.
-
Use fake webcam created with ffmpeg or some wrapper over it
This is the most convinient solution I have found for now. You just grab needed screen with ffmpeg and switch camera in hangouts to show from. But there are still some problems:
- Chromium will not add virtual webcam to the list of availible webcams, see #1.
Make sure you have installed ffmpeg and v4l2loopback
Start Firefox browser
Start fakecamera script, enter screen number or activate virtual camera in webcamoid.
Then choose myFakeCam in the list of cameras in Hangouts window.
Enjoy. You even do not need to restart browser.
Compile ExtraMaus and install it as ~/bin/extramaus
Optionally (if using kde) import ShareMe-window.kwinrule in Window Management settings.
Start Chromium browser
Start vlc-hangouts script, enter screen number.
Then go to hangouts video call browser window, go to menu (three dots in the upper right corner), share screen, select "choose window" tab, select window called ShareMe (it is renamed vlc window)
Enjoy.
After you close ShareMe window, extramaus will be stopped automatically.
If you use webcamoid, then you will be able to switch shared screen on the fly.
Original bug report in 2015
Another bug report
Question at unix.se
Deactivate webcam info at askubuntu
Redirections with root permissions at ubuntuforums
Feel free to contribute. If you are familar with usb gadget, than maybe you can suggest a better solution.