mpv ou mplayer output para dual (multiple) displays

0

Eu tenho uma instalação mínima do Ubuntu e estou usando mplayer ou mpv para reproduzir mp4 arquivos para fbdev2 ou drm em mplayer ou mpv respectivamente.

Eu tenho dois monitores conectados ao PC - 1 em HDMI e 1 em DP1. Quando eu toco com mpv , o conteúdo só aparece em uma tela. Quando eu toco com mplayer , o mesmo conteúdo é espelhado para as duas telas.

Idealmente, eu gostaria de reproduzir simultaneamente diferentes arquivos mp4 (pequenos 10 a 30 segundos) em monitores diferentes - de forma digital.

Preciso adicionar um segundo framebuffer?

O comando atual mplayer que estou executando, do CLI, é:

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

NB: Eu tentei adicionar -display :0.x where x is 0-1 sem sucesso.

O comando atual mpv que estou executando, do CLI, é:

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

NB: Eu tentei adicionar --screen=x where x is 0-1 sem sucesso.

Qualquer orientação aqui seria muito apreciada.

abaixo é xrandr output do terminal em startxfce4 . Via ssh ou no console xrandr relatórios " 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)
    
por user158798 17.01.2017 / 09:22

1 resposta

1

Para uma solução mais limpa / mais agradável, você precisará de um segundo dispositivo de framebuffer, que exigiria outra placa gráfica. Mas há outro jeito hacker de conseguir o que você quer com apenas um cartão.

Você pode listar todos os cartões e conectores (monitores) disponíveis com:% $ mpv --drm-connector help

Em seguida, você pode escolher qual placa (0 ou 1) e conector usar como saída para reproduzir dois vídeos ao mesmo tempo em dois monitores:
$ mpv --vo drm --drm-connector 0.HDMI-A-1 movie_1.mp4 &
$ mpv --vo drm --drm-connector 1.DP-1 movie_2.mp4

Quando o mpv reproduz vídeo em um cartão, ele bloqueia o conector e o cartão; portanto, a execução de outra instância do mpv no mesmo cartão resultará em erro de 'acesso negado'.

Mas, surpreendentemente, você pode rodar o mplayer ao mesmo tempo em que o mpv está rodando. O mpv bloqueia uma saída e o mplayer usa outra que ainda está disponível.

Então, se você tiver apenas um cartão, poderá fazer isso (uma solução hacky):
$ mpv --vo drm --drm-connector HDMI-A-1 movie_1.mp4 & e $ mplayer -vo fbdev2 movie_2.mp4

Todos os itens acima funcionam com o mpv 0.29.0 na Parabola GNU / Linux-libre.

No Ubuntu, você pode obter opções diferentes, como --connector em vez de --drm-connector . Consulte sua manpage procurando por 'drm': $ man mpv .

    
por 13.08.2018 / 22:01

Tags