mpv 또는 mplayer를 듀얼(다중) 모니터로 출력

mpv 또는 mplayer를 듀얼(다중) 모니터로 출력

Ubuntu를 최소한으로 설치했으며 mplayer또는 를 사용하여 파일을 개별적으로 mpv재생하고 있습니다 mp4.fbdev2drmmplayermpv

PC에 2개의 모니터(HDMI 1개, DP1 1개)가 연결되어 있습니다. 을(를 ) 플레이하면 mpv콘텐츠가 한 화면에만 나타납니다. 을(를) 플레이하면 mplayer동일한 콘텐츠가 두 화면에 미러링됩니다.

mp4이상적으로 는 디지털 사이니지 방식으로 서로 다른 모니터에서 서로 다른 파일을 동시에(10-30초 정도) 재생하고 싶습니다 .

두 번째 프레임 버퍼를 추가해야 합니까?

현재 mplayerCLI에서 실행하는 명령은 다음과 같습니다.

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

주의: 추가를 시도했지만 -display :0.x where x is 0-1소용이 없었습니다.

현재 mpvCLI에서 실행하는 명령은 다음과 같습니다.

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

주의: 추가를 시도했지만 --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에서는 'drm'을 찾는 맨페이지를 확인하는 --connector대신 다른 옵션이 나타날 수 있습니다 .--drm-connector
$ man mpv

관련 정보