ウィンドウマネージャなしでffplay X-windowを実行する

ウィンドウマネージャなしでffplay X-windowを実行する

私は本質的にデスクトップ全体を必要とせずにffplayを使用してビデオストリームを表示するキオスクになりたいです。

私は最小限のCentOS7で始め、この簡単なガイドに従ってxtermとX11をインストールしました。 https://linuxconfig.org/how-to-run-x-applications-without-a-desktop-or-a-wm

.xinitrcファイルを作成しました。

#!/bin/bash
exec firefox

実行すると、startxFirefoxを含むX11ウィンドウが開きます。

ただし、.xinitrcファイルをこのファイルに置き換えると:

#!/bin/bash
exec ffplay udp://192.168.0.237:5444

ffplay コマンドが正しいかどうかがわかると、空の画面が表示されます。ps -ef | grep ffplayffplayが実際に実行されていると言うことはできますが。私の考えでは、Firefoxが行うものとは異なる場所に出力ビデオをストリーミングするだけです。それがどこにあるのか、どのように言うべきか、どうやって強制するのかわかりませんlocalhost:0.0

CentOS7 システムは Hyper-V 仮想マシンであり、Hyper-V コンソールを介してアクセスします。

答え1

私のArchlinuxで動作します。

私のffmpegは4.4です。 FFMPEG / ffplayのバグの場合は、アップグレードする必要があります。

ffplay -x 1920 -y 1080 some.mp4ffplayは、ウィンドウマネージャなしで起動するときに、次のように解像度を知らせる必要があります。投げるのも-noborder悪くないようです。

ただし、エラーは他の場所にある可能性が高いです。グラフに必要なすべての依存関係を備えていますか? VMに必要な仮想ハードウェアはありますか?

exec ffplay.xinitrcの前に他のものを実行する必要はないと確信していますか?たとえば、私はNVIDIAグラフィックカードを使用しているので、.xinitrcの先頭には次のものが含まれます。

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

.xinitrcのシステム全体のスクリプトもあります:

for f in /etc/X11/xinit/xinitrc.d/*; do
        [ -x "$f" ] && . "$f"
done

まず、仮想マシンでXorgグラフィックを取得できることを確認する必要があると思います。

関連情報