Amazon Kinesis Video Streams pricing

Why Kinesis Video Streams?

With Amazon Kinesis Video Streams, you pay only for what you use. There are no resources to provision, no upfront costs, or minimum fees.

For Kinesis Video Streams, you pay only for the volume of data you ingest, store, and consume through the service. If you use WebRTC capabilities, you pay for the number of signaling channels that are active in a given month, number of signaling messages sent and received, and TURN streaming minutes used for relaying media. A signaling channel is considered active in a month if at any time during the month a device or an application connects to it. TURN streaming minutes are metered in 1 minute increments.

Estimate your monthly bill using the AWS Kinesis Video Streams Calculator.

Product pricing glossary

A resource that enables you to capture live video and other time-encoded data, optionally store it, and consume data.

An optional resource that enables applications to establish peer-to-peer connectivity by exchanging metadata in signaling messages.

An optional capability for relaying media via the cloud when applications are unable to connect to each other directly for peer-to-peer streaming due to symmetric NAT or other issues.

Kinesis Video Streams pricing

Note: You will incur standard AWS data transfer charges when you retrieve data from your video streams to destinations outside of AWS over the internet. 

WebRTC pricing

Pricing examples

Pricing example 1: Smart city traffic cameras that use video streams

A metropolitan city has 150 security cams covering busy traffic intersections. Let’s assume that each camera generates 260 MB of video data per day. This data is streamed and stored in Amazon Kinesis Video Streams for a 2-week period. Data from five cameras is consumed by a pedestrian counting algorithm running on AWS. A second application consumes the same amount of data to generate a video clip summary. Their monthly charges will be calculated as follows:

Monthly Charges

The price for Kinesis Video Streams in US-East is $0.0085 per GB ingested and $0.0085 per GB consumed.

Each of the 150 cameras generate 260 MB of video data per day, for a total of 39,000 MB per day.

The traffic analysis application running on AWS plays back data from five cameras at a rate of 5 * 260 MB per day = 1,300 MB per day. The same amount of data is also consumed by another application that generates a video summary clip.

Monthly charges:

Total Data Ingested = 30 Days * (39,000/1024) GB * ($ 0.0085/GB) = $ 9.71

Data Consumed by two applications = 30 Days * (1,300/1024) GB * 2 * ($ 0.0085/GB) = $ 0.65

Total Data Stored = 14 Days * (39,000/ 1024) GB * ($ 0.023/ GB-month) = $ 12.26

Total = $ 22.62

Note: You will incur standard AWS data transfer charges when you retrieve data from your video streams to destinations outside of AWS over the Internet.

Pricing example 2: Smartphone live streaming app using Kinesis Video Streams with WebRTC

A mobile application developer has a smart phone app with 100 users that uses WebRTC capabilities in Kinesis Video Streams for live media streaming. Let’s assume that each user app is connected to its own unique signaling channel and live streams through 50 live streaming sessions for a total of 2000 minutes in a month. The monthly charges will be calculated as follows:

Monthly Charges

The price for WebRTC in US-East is $0.03 per month for an active signaling channel, $2.25 for a million signaling messages, and $0.12 per thousand TURN streaming minutes.

Each user app is connected to its own unique signaling channel, for a total of 100 active signaling channels in a month. Each user live streams 50 times in a month and every live streaming session delivers 30 signaling messages, for a total of 150,000 messages in a month. Let’s also assume that 80% of the streaming duration for every app user is direct-peer-to-peer and 20% of the streaming duration is relayed via TURN, for a total of 40,000 TURN streaming minutes.

Monthly charges:

Active signaling channels = 100 * ($ 0.03/month) = $ 3.0
Signaling messages = 100 users * 1500 signaling messages / 1,000,000 * ($2.25/million signaling messages) = $ 0.34

TURN streaming minutes = 100 users * 400 TURN streaming minutes * ($ 0.12/1000 TURN streaming minutes) = $ 4.8

Total = $ 8.14

Note: You will incur standard AWS data transfer charges when you use TURN streaming to send data to destinations outside of AWS over the internet.

Pricing example 3: Smart home security camera using both video streams and WebRTC

A home security system provider has 1,000 users. Each user has one camera in their home that streams when it detects motion. Let’s assume that the cameras stream for an average of 20 minutes per day at a rate of 7.5 MB of video data per minute. The video is stored in Amazon Kinesis Video Streams for a one-week period. Let’s assume that only 100 users play back the stored video using the HLS-capability on the companion smart phone app.

Let’s also assume that each user utilizes the companion app to connect to the camera 100 times in a month to view the live video stream and engage in in a two-way audio session, enabled by the WebRTC capability. Each live streaming session lasts 2 minutes, and 60% of the media stream is peer-to-peer and 40% is TURN relayed. The monthly Kinesis Video Streams charges will be calculated as follows:

Monthly Charges

The price for video streams in US-East is $0.0085 per GB ingested and $0.0119 per GB data consumed using HLS. The price for WebRTC in US-East is $0.03 per month for an active signaling channel, $2.25 for a million signaling messages, and $0.12 per thousand TURN streaming minutes.

Video Streams: Each camera streams at 1 Mbps, generating 150 MB of data in 20 minutes of streaming per day, for a total of 150,000 MB per day across 1,000 cameras. When 100 users play back the streamed video with HLS, 15,000 MB per day of data will be consumed.

WebRTC: Each cameras is connected to its own unique signaling channel for a total of 1,000 active signaling channels in a month. Every live streaming session delivers 30 signaling messages, for a total of 3,000,000 signaling messages. Each camera uses 80 minutes of live streaming via TURN, for a total of 80,000 TURN streaming minutes in a month.

Total monthly charges will be calculated as follows:

For video streams:

Data Ingested = 30 Days * (150,000/1024) GB * ($ 0.0085/GB) = $ 37.35

Data Consumed Using HLS = 30 Days * (15,000/1024) GB * ($ 0.0119/GB) = $ 5.23

Data Stored = 7 Days * (150,000/1024) GB * ($ 0.023/GB-month) = $ 23.58

Total for video streams = $ 66.17

For WebRTC:

Active signaling channels = 1000 * ($ 0.03/month) = $ 30.0

Signaling messages = 1000 cameras * 3000 signaling messages/1,000,000 * ($ 2.25/million signaling messages) = $ 6.75

TURN streaming minutes = 1000 cameras * 80 TURN streaming minutes * ($ 0.12/1000 TURN streaming minutes) = $ 9.6

Total for WebRTC = $ 46.35

Note: You will incur standard AWS data transfer charges when you stream data to destinations outside of AWS over the internet.

Service Level Agreement

Learn about the Amazon Kinesis Video Streams Service Level Agreement by visiting our FAQs.