Wayland 下的屏幕共享

Wayland 下的屏幕共享

我在 Fedora 25 中使用 Wayland。

几乎没有任何屏幕共享工具可以正常工作。在 Chrome 中,我可以共享 Chrome 窗口,但其他什么都不能共享。

我还必须使用 zoom.us,当我从该窗口共享窗口时,另一端只会显示空白屏幕。

是否需要进行某些配置才能使其正常工作?

答案1

虽然这是一个老问题,但我已经找到了解决方案,即使用 PipeWire 技术与 Gnome DE(我的情况是 3.32)和 Chrome(当前版本 77)。

看一下这个: https://wiki.archlinux.org/index.php/PipeWire#WebRTC_screen_sharing

只需打开chrome://flags/#enable-webrtc-pipewire-capturer并将其设置为启用,然后重新启动 chrome。您将能够共享整个屏幕或任何单个窗口。

我希望它能有所帮助

2020 年 7 月编辑:

截至 2020 年 7 月 20 日,由于 Chrome(ium) 目前使用的是pipewire0.2 版本,而 Arch Linux 发布的是pipewire0.3 版本,因此您还需要安装libpipewire02才能使屏幕共享功能正常运行。

2021 年 6 月编辑:

libpipewire-0.3-0关于 debian:从 debian bullseye 开始可提供所需的软件包。

答案2

在 Wayland 下进行传统全屏共享的能力是一个缺失的功能,而不是一个错误。

实际上我们唯一的选择是切换回 Xorg。Ubuntu 实际上是这样做的: https://www.theregister.co.uk/2018/01/30/ubuntu_reverting_to_xorg_in_bionic_beaver/

有一些项目即将推出(例如 Pipewire),但似乎还需要一年左右的时间它们才能登陆 Firefox 或 Slack。

答案3

Pipewire 改变了一切。在 Fedora 32 Workstation 上,通过 Wayland 进行屏幕共享开箱即用。至少在 Firefox 上如此。我还没有测试其他浏览器。

首先,Firefox 会请求您允许共享屏幕,然后 GNOME 会询问您是否要共享一个窗口或整个屏幕,以及要共享哪个显示器。就是这样。Firefox 会弹出一个小窗口,其中包含一些用于屏幕共享的快捷控件。

共享屏幕时,屏幕右上角会显示一个橙色图标,以及其他系统图标。通过该菜单,您还可以快速关闭屏幕共享。

更新2021-08-26:

在 Ubuntu 21.04+ 和最新的 Fedora 版本上,通过 Wayland 上的 Pipewire 进行屏幕共享均可开箱即用,至少在 Firefox 上是如此。

答案4

您可以将屏幕输出传输到虚拟网络摄像头设备,并将 Zoom 设置为使用该网络摄像头,这样对方就可以看到您的桌面。

这是一种黑客攻击,但基本上可以实现屏幕共享。

如果您正在使用swaywm,则可以使用wf-recorder来执行此操作。在其他桌面上,找到可以进行屏幕录制的东西,然后将其输入到/dev/video2类似以下的位置:

# Install the v4l2 loopback driver
sudo pacman -S v4l2loopback-dkms
# Load the kernel module
sudo modprobe v4l2loopback

# Finally, pipe the screen output into the virtual webcam:
wf-recorder --muxer=v4l2 --codec=rawvideo --pixel-format=yuv420p --file=/dev/video2

现在跳回到缩放,并将视频输出更改为“虚拟视频设备”。

额外提示:

  • 记得关闭视频镜像,否则所有内容都会被镜像,这在共享屏幕时通常不是您想要的。
  • 在变焦时,如果你将相机设置为原始比例,您的全屏将被共享,但质量会很差(对方不太可能读懂任何内容)。
  • 如果你将其设置为16:9,屏幕边缘将被裁剪,但质量应该可读。您自行选择。

相关内容