mpv 或 mplayer 输出到双(多个)显示器

mpv 或 mplayer 输出到双(多个)显示器

我安装了最低限度的 Ubuntu,并且我正在使用mplayer或分别mpv播放mp4文件。fbdev2drmmplayermpv

我有两台显示器连接到 PC - 1 个 HDMI 和 1 个 DP1。当我玩 时mpv,内容仅显示在一个屏幕上。当我玩 时mplayer,相同的内容会镜像到两个屏幕上。

理想情况下,我希望mp4以数字标牌的方式在不同的显示器上同时播放不同的文件(短10-30秒)。

我需要添加第二个帧缓冲区吗?

我当前mplayer从 CLI 运行的命令是:

mplayer -vo fbdev2 rotate=1 -fs -nosound -loop 0 /data/narwhals.mp4

NB:我尝试添加-display :0.x where x is 0-1但无济于事。

我当前mpv从 CLI 运行的命令是:

mpv -vo=drm -fs-screen=1 /data/narwhals.mp4 --video-rotate=180 --no-audio

NB:我尝试添加--screen=x where x is 0-1但无济于事。

这里的任何指导将不胜感激。

下面是xrandr中终端的输出startxfce4。通过ssh或在控制台xrandr报告“ Can't open display

Screen 0: minimum 8 x 8, current 1920 x 1848, maximum 32767 x 32767
DP1 connected 1920x1080+0+768 (normal left inverted right x axis y axis) 600mm x 340mm
   1920x1080     60.00*+  50.00    59.94
   1920x1080i    60.00    59.94
   1680x1050     59.88
   1400x1050     59.95
   1600x900      60.00
   1280x1024     60.02
   1440x900      59.90
   1280x800      59.91
   1152x864      59.97
   1280x720      60.00    50.00    59.94
   1024x768      60.00
   800x600       60.32
   720x576       50.00
   720x480       60.00    59.94
   640x480       60.00    59.94
DP2 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 connected primary 1360x768+0+0 (normal left inverted right x axis y axis) 1600mm x 900mm
   1360x768      60.02*+
   1920x1080     60.00    50.00    59.94    30.00    25.00    24.00    29.97    23.98
   1920x1080i    60.00    50.00    59.94
   1152x864      59.97
   1280x720      60.00    50.00    59.94
   1024x768      60.00
   800x600       60.32
   720x576       50.00
   720x576i      50.00
   720x480       60.00    59.94
   640x480       60.00    59.94
   720x400       70.08
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

答案1

对于最干净/最好的解决方案,您将需要第二个帧缓冲区设备,这将需要另一个显卡。但还有另一种巧妙的方法可以仅用一张卡来实现您想要的目标。

您可以列出所有可用的卡和连接器(显示器):
$ mpv --drm-connector help

然后,您可以选择使用哪张卡(0 或 1)和连接器作为输出,以便在两台显示器上同时播放两个视频:
$ mpv --vo drm --drm-connector 0.HDMI-A-1 movie_1.mp4 &
$ mpv --vo drm --drm-connector 1.DP-1 movie_2.mp4

当 mpv 在一张卡上播放视频时,它会阻塞连接器和卡,因此在同一张卡上运行 mpv 的另一个实例将导致“访问被拒绝”错误。

但是,令人惊讶的是,您可以在 mpv 运行时同时运行 mplayer。 mpv 阻止一个输出,而 mplayer 使用另一仍然可用的输出。

因此,如果你只有一张卡,你可以这样做(一个黑客解决方案):
$ mpv --vo drm --drm-connector HDMI-A-1 movie_1.mp4 &
$ mplayer -vo fbdev2 movie_2.mp4

以上所有内容都适用于 Parabola GNU/Linux-libre 上的 mpv 0.29.0。

在 Ubuntu 上,您可能会得到不同的选项,例如--connector代替--drm-connector.请查阅您的联机帮助页寻找 'drm':
$ man mpv

相关内容