I am looking for software to stream Windows PC games over the public Internet with an efficient codec that forms a good tradeoff between latency and quality.
Requirements for the software
- The software client must have an Android client and a Windows x86 client.
- The software server must run on Windows Server 2012 R2.
- The software must be free (as in beer), OR purchasable by an end-user (so, if the software you want to recommend can only be purchased by a large enterprise looking to purchase a volume license, it is not acceptable).
- The software must specifically be designed to efficiently and responsively stream Direct3D hardware-accelerated PC games over the Internet (assuming a good broadband Internet connection on both ends), with full keyboard and mouse functionality.
Assumptions you're allowed to make
- Home Internet connection has insufficient upstream to reliably stream games from my gaming desktop, but Amazon EC2 does.
- I do not own a laptop with enough horsepower to run the games I want to play.
- The games being streamed are turn-based or button-mashing and therefore do not require very low latency (no FPS or RTS).
- Low fidelity of the video quality is fine, but modern games (produced in the past 2 years) need to be run. I prefer responsiveness over detail.
- All games I need to run are only available for Windows XP or later (some, only Windows Vista or later).
- All games I need to run will install and run fine on the Windows Server platform (2012 R2 or so).
- The Nvidia GPU hardware available on Amazon EC2 is sufficient to run the games at an acceptable frame rate.
- The downstream and latency of the Internet connection I'll have available while traveling will be sufficient to receive the video stream at a playable frame rate and responsiveness, assuming the codec is properly designed for gaming.
I have already tried OnLive; the game I need is not supported.
Solution Architecture (Planned)
- I will rent an Amazon EC2 GPU instance (g2.2xlarge) with Windows Server 2012 (R2 if available).
- I will install the game I wish to run.
- I will ensure that the Nvidia graphics drivers are up to date.
- I will install (your software recommendation goes here) server on the server after (if needed) acquiring a license.
- I will install (your software recommendation goes here) client on my Android tablet and/or my Windows 8.1 (Intel x64) ultrabook which lacks a gaming-caliber GPU.
- I will connect the client to the server, and off I go!