私は本質的にデスクトップ全体を必要とせずにffplayを使用してビデオストリームを表示するキオスクになりたいです。
私は最小限のCentOS7で始め、この簡単なガイドに従ってxtermとX11をインストールしました。 https://linuxconfig.org/how-to-run-x-applications-without-a-desktop-or-a-wm
.xinitrcファイルを作成しました。
#!/bin/bash
exec firefox
実行すると、startx
Firefoxを含むX11ウィンドウが開きます。
ただし、.xinitrcファイルをこのファイルに置き換えると:
#!/bin/bash
exec ffplay udp://192.168.0.237:5444
ffplay コマンドが正しいかどうかがわかると、空の画面が表示されます。ps -ef | grep ffplay
ffplayが実際に実行されていると言うことはできますが。私の考えでは、Firefoxが行うものとは異なる場所に出力ビデオをストリーミングするだけです。それがどこにあるのか、どのように言うべきか、どうやって強制するのかわかりませんlocalhost:0.0
。
CentOS7 システムは Hyper-V 仮想マシンであり、Hyper-V コンソールを介してアクセスします。
答え1
私のArchlinuxで動作します。
私のffmpegは4.4です。 FFMPEG / ffplayのバグの場合は、アップグレードする必要があります。
ffplay -x 1920 -y 1080 some.mp4
ffplayは、ウィンドウマネージャなしで起動するときに、次のように解像度を知らせる必要があります。投げるのも-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グラフィックを取得できることを確認する必要があると思います。