Ubuntu の DOSBox で作業している DOS ゲームを「ストリーミング」しようとしているプロジェクトがあります。アイデアは、画面のスクリーンショットを撮り、それらをサーバーにアップロードすることです。DOSBox からスクリーンショットを撮るには、xdotool を使用して、スクリーン キャプチャをトリガーするキーの組み合わせ "Ctrl+F5" をトリガーします。スクリーンショットは /capture フォルダーに保存され、そこからファイルを読み取ることができます。
問題は、スクリーンショットの名前が progName_000.png、progName_001.png になっていることです... 1 つのファイルをオーバーライドすることをお勧めします。達成することは可能ですか?
現在、私は以下の恐ろしいbashコードを使用しています:
WID=`xdotool search --limit 1 --name "DOSBox" 2>/dev/null`
while [ 1 ]; do
fN=`ls ./DOSBox/capture/ | head -1`
cp ./DOSBox/capture/$fN ./img.png
rm ./DOSBox/capture/*
xdotool key --window $WID Ctrl+F5
sleep 0.10;
done
100 ミリ秒ごとにキャプチャ ファイルを読み取り、最初に見つかったファイルを取得して ./img.png にコピーし、キャプチャ フォルダをクリアして、別のスクリーンショットを撮ります。より良い代替手段は何ですか?
(PS: 上記のコードは単純化されています。通常、キャプチャした画像を複数の画像 (img0.png と img1.png) にコピーして、一方が書き込まれている間、もう一方がページめくりのように読み取れるようにします。 とにかく. )