如何使用v4l2loopback指定显示流?

如何使用v4l2loopback指定显示流?

我有一套带有 2 个显示器的设置。我在 上Manjaro,我v4l2loopback从以下位置安装AUR(以下是 github 链接:https://github.com/umlaeute/v4l2loopback)并且效果很好,没有问题。但我的问题是如何指定我希望它使用哪个监视器?我所做的是:

$ sudo modprobe v4l2loopback exclusive_caps=1
$ ffmpeg -f x11grab -r xllgrab -r 15 -s 1920x1080 -i :0.0+0,0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0

当然它的效果更好,但我想流式传输不同的显示器。我怎样才能做到这一点?另外(它是一台电脑,我从来没有任何相机,所以/video0假网络摄像头也是如此:

$ v4l2-ctl --list-devices
Dummy video device (0x0000) (platform:v4l2loopback-000):
        /dev/video0

带有 (DisplayPort) 的端口DP是我想要流式传输的端口

$ xrandr --listmonitors
Monitors: 2
 0: +*DP-4 1920/480x1080/270+1920+0  DP-4
 1: +HDMI-0 1920/531x1080/299+0+0  HDMI-0

答案1

ffmpeg-all 手册页显示 x11grab 采用一个选项,

 [<hostname>]:<display_number>.<screen_number>[+<x_offset>,<y_offset>]

在你的情况下是 :0.0+0,0 并确定要抓取的内容。根据您的配置,您可以尝试:0.1+0,0第二个屏幕或:0.0+1920,0单个虚拟屏幕中的偏移,甚至:1.0+0,0第二个显示器。

相关内容