web-dev-qa-db-ja.com

デュアル(複数)ディスプレイへのmpvまたはmplayer出力

Ubuntuの最小インストール数があり、mplayerまたはmpvを使用してmp4ファイルをdrmまたはmplayerfbdev2またはmpvに再生しています。

PCに2台のモニターを接続しています。1台はHDMI、もう1台はDP1です。 mpvで遊ぶと、コンテンツは1つの画面にしか表示されません。 mplayerで遊ぶと、同じコンテンツが両方の画面にミラーリングされます。

理想的には、異なるモニターで異なるmp4ファイル(短い10〜30秒)をデジタルサイネージ方式で同時に再生したいと思います。

2番目のフレームバッファを追加する必要がありますか?

CLIから実行している現在のmplayerコマンドは次のとおりです。

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

注意:-display :0.x where x is 0-1を追加しようとしましたが無駄になりました。

CLIから実行している現在のmpvコマンドは次のとおりです。

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

注意:--screen=x where x is 0-1を追加しようとしましたが無駄になりました。

ここでのガイダンスは大歓迎です。

以下は、startxfce4の端末からのxrandr出力です。 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)
2
user158798

最もクリーンで優れたソリューションを実現するには、別のグラフィックカードを必要とする2番目のフレームバッファデバイスが必要になります。しかし、1枚のカードで目的を達成するための別のハッキーな方法があります。

以下で使用可能なすべてのカードとコネクタ(モニター)を一覧表示できます。
$ mpv --drm-connector help

次に、出力として使用するカード(0または1)とコネクタを選択して、2つのモニターで2つのビデオを同時に再生できます。
$ mpv --vo drm --drm-connector 0.HDMI-A-1 movie_1.mp4 &
$ mpv --vo drm --drm-connector 1.DP-1 movie_2.mp4

Mpvが1つのカードでビデオを再生すると、コネクタとカードがブロックされるため、同じカードでmpvの別のインスタンスを実行すると、「アクセス拒否」エラーが発生します。

しかし、驚くべきことに、mpvの実行と同時にmplayerを実行できます。 mpvは1つの出力をブロックし、mplayerはまだ利用可能な別の出力を使用します。

したがって、カードが1つしかない場合は、これを行うことができます(ハッキーな解決策)。
$ mpv --vo drm --drm-connector HDMI-A-1 movie_1.mp4 &
$ mplayer -vo fbdev2 movie_2.mp4

上記のすべては、Parabola GNU/Linux-libreのmpv0.29.0で動作します。

Ubuntuでは、--connectorの代わりに--drm-connectorなどのさまざまなオプションが表示される場合があります。 'drm'を探してマンページを参照してください:
$ man mpv

3
h1ck5