コンソールプログラムでJPEG画像/画像ストリームをキャプチャしますか?

コンソールプログラムでJPEG画像/画像ストリームをキャプチャしますか?

私はヘッドレスRaspberry Piを実行しており、コンソール/ターミナル出力を単一のjpegまたはビデオストリームに変換したいと思います。

例:pbytop数秒ごとに出力をキャプチャし、mjpegを使用して(またはh264ストリームとしてffmpeg経由で)ウェブサイトにストリーミングします。

私はjpeg /ビデオキャプチャ部分に閉じ込められ、そのメディアをパイからウェブサイトにストリーミングしています。

私が得た最も近いものは次のとおりです。

  • SSH経由でパイで接続
  • スタートtmux
  • pbytoptmux内で起動
  • 2番目の仮想端末でpiとしてssh
  • tmuxウィンドウをtxtファイルとしてキャプチャします。
    • tmux capture-pane -J -p -t %0 > /tmp/pane-plain-text.txt
    • tmux capture-pane -e -J -p -t %0 > /tmp/pane-with-colors.txt
  • そうすることができcat /tmp/pane-with-colours.txt、完璧に見えますが、まだ画像ではなく、複数の色のエスケープシーケンスを含むtxtファイルにすぎません。

tmuxをテキストとしてキャプチャする方法を示す例

「ascii to image」パスに従う前に、誰かが私に良い方向を教えてもらえますか?

/dev/fb0合わせてストリームに抽出すると何かできるような感じffmpeg -f fbdev -i /dev/fb0 etc...

ベストアンサー1

ASCIIを画像に変換するには、image Magickまたはxwdを使用して端末ウィンドウの内容をキャプチャします。

デスクトップでこれを行うか、仮想X11セッションで実行できます(Xvfbを使用)。

テキストステップをスキップするには、仮想X11でraw pbytopを実行し、そこから画像をキャプチャします。

xvfbと対話する必要がある場合は、xneeまたはxdotoolを使用して入力デバイスをシミュレートする必要があります。

画像の代わりにHTMLを使用できる場合は、a2hを使用してHTMLコンテンツを作成することも別の可能性です。

おすすめ記事