About Stratus
Stratus Overview
Stratus is a low-latency game streaming service that enables users to play games from their web browser, similarly to past and present services such as Google Stadia, Amazon Luna, and GeForce NOW. Stratus offers identical functionality and comparable performance to these commercial alternatives, but was developed using far fewer resources and much less money.
Stratus Architecture
The Stratus service is composed of three main components: the web frontend, the coordination server, and the stream servers. Each of these is described in more detail below.

Web Frontend
The web frontend allows the user to browse the Stratus game library, select a game, and then stream game I/O to their browser.

Coordination Server
The Stratus coordination server runs in an AWS EC2 instance and is responsible for connecting frontend clients with stream servers for new game streaming sessions, in addition to providing the web frontend with APIs for user authentication and game library queries.

Stream Servers
Stratus uses a cluster of 12 BC-250 stream servers running Linux to execute the games and stream game I/O. Each server runs a custom Stratus streaming software consisting of 5 modules, as shown below.

The SideCar module handles communication with the coordination server over a persistent WebSockets connection. When a request to start a new stream is received, the SideCar module is responsible for initializing every other module and then launching the game itself. The game’s video output is then captured by the Capture module via the Wayland protocol, encoded by the Encode module using ffmpeg, and finally sent to the client by the Transport module over Google’s QUICHE transport layer. The Transport module also receives game controller input sent by the client and forwards it to the Input module, which injects the input into the game via a virtual controller device.