Not my answer, but this worked for me:
I found a workaround by using "v4l2loopback". Like following, by using "v4l2loopback", ffmpeg can output screen captured movie to v4l2 device.Then, in Slack application, you can share your screen as your camera input.
$ sudo modprobe v4l2loopback exclusive_caps=1
$ ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 \
-i :0.0+0,0 -f v4l2 -vcodec rawvideo -pix_fmt rgb24 /dev/video1
- Change "1920x1080" to the screen size you want to capture.
- Change "+0,0" to the starting point of the screen.
- Change
/dev/video1 to your v4l2loopback device made by sudo modprobe v4l2loopback exclusive_caps=1.
So, if you make /dev/video1 by v4l2loopback and have two "1920x1080" size monitor screen in left and right.
For getting left screen:
$ ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+0,0 -f v4l2 \
-vcodec rawvideo -pix_fmt rgb24 /dev/video1
For getting right screen:
$ ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+1920,0 -f v4l2 \
-vcodec rawvideo -pix_fmt rgb24 /dev/video1
The fellow also made following command line tool for executing these command in easier way: https://github.com/BlueSkyDetector/set_v4l2loopback_screen
Notes:
I had to install v4l2loopback-dkms on Ubuntu 18.04:
$ sudo apt-get install v4l2loopback-dkms
modprobe created /dev/video0 for me, since I don't have any other camera installed