What is Rainway?

Rainway is an SDK for building streamed applications. It lets you take an application that's running on a device or in the cloud, and present it interactively on another.

To achieve this, both devices use the SDK to connect to the Rainway Network and establish a session with each other. Rainway handles all the rest:

  • ensuring a secure direct connection
  • streaming media with low latency
  • adapting to device capabilities and network conditions
  • processing input
  • providing web components

The Rainway SDK is in its beta stage, but we've honed the underlying technology for years in a consumer-oriented remote gaming app and through our alpha releases. As a result, Rainway streams are robust, smooth, and responsive.

Runtimes

The Rainway SDK consists of "runtimes", each exposing different bits of Rainway technology to different platforms:

  • The Native Runtime runs on Windows. It can capture Windows applications and stream them to other Rainway peers. (In the future, this runtime will support more platforms, and support receiving and displaying streams as well.)

  • The Web Runtime runs in any modern browser on any platform. You can integrate it in your web app to present an interactive stream. (Because of web API limitations, this runtime can't be used to capture and stream the browser.)

Quick demo

To demonstrate Rainway's capabilities, we'll securely stream your Windows desktop right to this documentation page.

  1. Download and extract our host example from GitHub on a Windows device (Note: This must be done on a different device from the one you're currently viewing these docs on, and requires dotnet 6.0).
  2. Log in to Rainway and generate a new key to authenticate with.
  3. Run the downloaded example from the command line, passing your key as the first and only argument.
./host-example.exe <your_generated_key>

Note the output contains the Peer ID (e.g. <your_peer_id> below) needed to connect to the remote Peer.

Info [runtime::runtime] No PeerID in registry, fetched new one from API: PeerId(<your_peer_id>)
  1. In the window below, paste in the same key and select "Connect to Rainway".
  2. Once connected to Rainway, paste the Peer ID and select "Connect to Peer".
  3. Once connected to the Peer, select "Request Stream". Your desktop should be displayed!

For now, Rainway can only stream from Windows to a web browser. In the future, more stream sources and clients will be supported.


Did this page help you?