Amazon AppStream
Developer Guide

This documentation is for an older version of Amazon AppStream. For information about the latest version, see the Amazon AppStream 2.0 Developer Guide.

Can My Application Run on Amazon AppStream?

Any application that can run on the Supported Operating Systems can run on Amazon AppStream.

Supported Operating Systems

The application must be able to run on the Microsoft Windows Server 2008 or later operating system. Windows Server 2008 is a 64-bit operating system; 32-bit applications are supported through the WoW64 extensions. If your application has other dependencies, such as the .NET Framework, you can include them as part of your application installer.

Hardware Specifications

The Amazon AppStream servers that Amazon AppStream uses to host applications are GPU instances provided by Amazon Elastic Compute Cloud (Amazon EC2). The GPU instances have the following virtualized hardware. For more information, see GPU Instances in the Amazon EC2 User Guide for Linux Instances.

  • CPU: High Frequency Intel Xeon E5-2670 (Sandy Bridge) Processors (8 virtual cores at 2.5 GHz each)

  • RAM: 15 GiB

  • Instance storage: 60 GB

  • GPU: 1 * NVIDIA GK104 GPU with NVIDIA GRID K520

  • GPU memory: 4 GB

  • I/O performance: High (we recommend 2 Gbps/instance)

  • EBS-optimized: Yes (500 Mbps)

  • 64-bit platform: Windows or Amazon Linux

  • HVM only

Video Input Specifications

Amazon AppStream accepts YUV 444 video input from the application and outputs YUV 444 to the client. Amazon AppStream does not perform any color conversion internally. The client displays the video at 720p.

Audio Specifications

Your application can push audio to the Amazon AppStream library or it can make use of the automatic audio capture feature that Amazon AppStream provides. If your application uses automatic audio capture, the application simply writes audio as a normal Microsoft Windows application would. If the application pushes audio to the Amazon AppStream library, observe the following audio specifications:

  • 48000Hz sampling rate

  • 2 interleaved channels

  • 16 bit signed

Bandwidth Requirements

When accessing an application hosted on Amazon AppStream, the client must be continuously connected to the Internet with a minimum bandwidth of 3 Mbps.

Amazon AppStream recommends at least 3 Mbps for streaming video at 720 pixels at 30 frames per second (720p30). When more bandwidth is available, Amazon AppStream allows the encoding rate to go as high as .2 bits per pixel, which at 720p30 is about 5.53 Mbps. When less bandwidth is available, Amazon AppStream allows the encoding rate to go as low as .02 bits per pixel, which at 720p30 is about 553 Kbps. Amazon AppStream adapts the video bit rate based on available bandwidth. If Amazon AppStream measures the available bandwidth at 3 Mbps, for example, Amazon AppStream sets the encoding bit rate to meet that constraint.

Persistent Data

Because Amazon AppStream hosts your application on Amazon AppStream hosts, any data stored on the server is lost when the client session ends. If your application needs to persist data between client sessions your application should record the data in a persistent store such as Amazon S3, Amazon RDS, or DynamoDB.

User Input

You can stream a variety of user inputs from the client to your application:

  • Keyboard – transmits keyboard data from the client application to the streaming application.

  • Mouse – transmits mouse move and mouse click data from the client application to the streaming application.

  • Touch – transmits multi-touch and gesture data from the client application to the streaming application.

  • Raw input – transmits a raw stream of bytes from the client application to the streaming application. You can use this to transmit user data that does not fit the keyboard, mouse, or touch models. For example, accelerometer data.


Amazon Web Services run on servers in data centers around the world. These are organized by geographical region. When you launch an application on Amazon AppStream, you must specify which region to launch it into. You might choose a region to reduce latency, minimize costs, or address regulatory requirements. For the list of regions and endpoints supported by Amazon AppStream, go to Regions and Endpoints in the Amazon Web Services General Reference.