How Much Does it Cost to Host Your Videos in AWS?

Amazon Web Services (AWS) is the world’s leading cloud provider, and provides several low-cost, highly scalable options for storing video content. AWS manages infrastructure for you, letting you store unlimited amounts of video content at a predictable price, without purchasing or managing storage equipment. It provides several additional advantages:

  • Very high durability and high availability—ensuring you never lose data, and avoid service disruption for mission critical operations like VOD.
  • Globally distributed infrastructure—letting you store video in a data center nearer to your users.
  • Integrated services—Amazon lets you use a variety of services that can be useful for processing and delivering video content, like CloudFront CDN and Amazon Rekognition for AI-based detection of objects in video. You can also easily integrate non-Amazon video services like the Cloudinary video API or IBM Video Streaming.

In this article, I’ll explain your options for storing video content on AWS, and their relative cost. To gain a general understanding of Amazon pricing see this comprehensive blog post on AWS pricing.

AWS Video Storage Options

Amazon S3

Amazon Simple Storage Service (Amazon S3) is designed to provide scalable object storage. The service offers reliable, scalable, affordable, and fast data storage.

S3 provides a simple web-based interface, which you can use to manage all data types. You can log into your account from anywhere, whenever you need to store and retrieve data.

You can leverage S3 storage for a wide variety of scenarios. For example, you can use S3 to improve render performance for your application’s media, including video files and images.

Pricing

Amazon Web Services offers several pricing models for its cloud services, including a free tier. The AWS Free Tier provides new AWS customers with a certain amount of free resources.

When creating a new AWS account, you can get free S3 resources, limited to a maximum of:

  • 5GB of free S3 storage in the Standard tier
  • 2,000 PUT, POST, LIST, or COPY requests
  • 20,000 GET requests
  • 15GB of data transfer outside S3

All of the above is provided on a monthly basis for a limited one year duration.

The cost of S3 storage is calculated according to a number of factors, including:

  • On-demand storage pricing
  • Data transfer and transfer acceleration fees
  • Request and data retrieval prices
  • Data management and analytics fees
  • The cost of processing data with S3 Object Lambda

Amazon S3’s basic price per GB-month ranges from $0.021-$0.023 in the US East region. For up to date pricing and additional charges, see the official pricing page.

AWS Elemental MediaStore

AWS Elemental MediaStore is designed to provide media-optimized storage. It offers the consistency, high performance, and low latency needed to to deliver live streams of video content.

MediaStore can help you manage your video assets as objects in containers. You can use MediaStore to build reliable cloud-based media workflows, without having to build your own infrastructure.

Pricing

AWS Elemental MediaStore charges the following:

  • Per GB ingestion fee—for all content that enters the MediaStore service.
  • Per GB price for content storage—(per month) for all content kept within the service for VOD and live delivery.

Here is an example for the U.S. East region:

  • Ingest optimization = $0.02 per GB
  • Storage (Standard) = $0.023 per GB
  • Storage (Infrequent Access) = $0.0125 per GB

The costs of requests are calculated according to the type of request and the quantity of request, as shown in the image below.

 

Amazon Kinesis Video Streams

Amazon Kinesis Video Streams provides easy and secure video streaming from connected devices to your AWS cloud environment. You can also use Kinesis Video Streams to build applications with features like batch video analytics and real-time video processing.

Kinesis Video Streams offers several unique features, such as monitoring for live streams through the AWS Management Console or through an external tool using the Kinesis Video Streams API library. You can also view videos in real-time as they stream into the cloud.

You can set up a retention period for storing certain media data from your video streams. The service automatically stores your data and encrypts it while the data is at rest.

When storing data, Kinesis Video Streams creates time indexes that include ingestion and produce timestamps. This lets you build applications with ad-hoc access to historical data or applications performing periodic batch processing for videos.

Pricing

Kinesis Video Streams charges for the ingested, stored, and consumed volume of data. Here is an example for the US East region:

When using WebRTC capabilities, you additionally pay for:

  • The number of active signaling channels each month. A channel is considered active when a device or an application is connected to the signaling channel.
  • The number of sent and received signaling messages
  • All TURN streaming minutes—which are metered in one minute increments—you use for relaying media.

Prices in the US East region are shown in the table below:

Conclusion

In this article, I reviewed three options for storing video content in the cloud:

  • Amazon S3, which provides low-cost object storage
  • Elemental MediaStore, which offers media-optimized storage for a similar cost
  • Amazon Kinesis Video Streams, which offers value added services like capturing video from multiple devices, and real-time video processing

While each service has its own complex pricing, because all three are based on S3 storage, the storage component of the price remains the same. For 1 TB of video content in the US East region, you will pay $23 per month or $276 per year. On top of that, add the specific charges for data ingress, egress, and processing.

I hope this will be of help as you evaluate migrating your video assets and storage to the cloud.