All work

GhostCast

A CLI screen sharing client: a lightweight Python program for real-time screen broadcasting from the terminal, with viewer chat arriving in the same console.

GhostCast wordmark with the subtitle Terminal Broadcasting on a dark navy background.

GhostCast broadcasts a desktop without a graphical client. One terminal process captures the screen and streams it to a GhostCast server, so there is no heavy software to install.

The client runs headless on Windows, macOS and Linux with Python 3.8 or newer.

One frame, start to finish
  1. Grabmss
  2. Resize and compressOpenCV, JPEG
  3. SendWebSocket

Viewer chat comes back to the same terminal.

A short pipeline

Frames are grabbed with mss, resized and JPEG-compressed with OpenCV, then sent over a WebSocket. The client is optimized around keeping this pipeline short.

Chat over the same connection

Viewer messages are received asynchronously and printed to the console alongside coloured logs from colorama.

Client and server are separate

The server is its own JavaScript repository, and the client points to any deployment through a single SERVER_URL setting.

Next projectPhosphorList