据我所知,当您有多个屏幕时,无法在 Linux Slack 应用程序中选择要共享的单个屏幕。因此,在我的 3 屏幕设置中,屏幕共享实际上无法使用。
所以我想知道是否有一种方法可以通过某种配置文件/环境变量等“欺骗”Slack(或任何其他Linux应用程序)认为我只有一个屏幕?
我尝试使用 KDE 的“特殊应用程序设置”功能将 Slack 锁定到一个屏幕,但没有成功。
还有其他建议吗?
我运行的是 Kubuntu 18.04。
谢谢!
答案1
不是我的答案,但是这为我工作:
我通过使用“v4l2loopback”找到了解决方法。如下所示,通过使用“v4l2loopback”,ffmpeg 可以将屏幕捕获的电影输出到 v4l2 设备。然后,在 Slack 应用程序中,您可以共享屏幕作为相机输入。
$ 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
- 将“1920x1080”更改为您要捕获的屏幕尺寸。
- 将“+0,0”更改为屏幕的起点。
- 更改
/dev/video1
为您的 v4l2loopback 设备sudo modprobe v4l2loopback exclusive_caps=1
。
因此,如果您/dev/video1
通过 v4l2loopback 制作,并且左右有两个“1920x1080”尺寸的显示器屏幕。
对于左屏幕:
$ ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+0,0 -f v4l2 \
-vcodec rawvideo -pix_fmt rgb24 /dev/video1
为了获得正确的屏幕:
$ ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+1920,0 -f v4l2 \
-vcodec rawvideo -pix_fmt rgb24 /dev/video1
该同事还制作了以下命令行工具,可以更轻松地执行这些命令:https://github.com/BlueSkyDetector/set_v4l2loopback_screen
笔记:
我必须
v4l2loopback-dkms
在 Ubuntu 18.04 上安装:$ sudo apt-get install v4l2loopback-dkms
modprobe
为我创建/dev/video0
,因为我没有安装任何其他相机