I built GhostStream while working on a self-hosted media server and wanting a simple way to offload video transcoding to whatever hardware was available on the network.
GhostStream is an open-source video transcoding server with:
- zero configuration startup
- automatic GPU / encoder detection (NVENC, QuickSync, AMF, VideoToolbox)
- live HLS streaming, ABR, and batch modes
- automatic fallback to CPU if hardware encoding fails
- a small HTTP + WebSocket API for progress updates
It’s designed to run locally (no cloud dependency) and works well as a sidecar for lightweight media servers.
If you want to see it working quickly, the repo includes a demo that starts a transcode from a public video URL and opens playback automatically:
python examples/demo.py
I’m mainly interested in feedback on the API surface, hardware detection,
and real-world transcoding edge cases.