Skip to main content

Amazon Kinesis Video Streams

Streaming live video and time-serialized media from devices to AWS: producers, consumers, streams, and fragments, retention and hot and warm storage, encryption with KMS, playback with HLS and DASH, image extraction, WebRTC for real-time two-way streaming, ML analysis, and cost.

6 min read · Last reviewed · SAA-C03

Loading your progress

Sign in to bookmark tutorials and track what you have read.

On this page

What it is

Amazon Kinesis Video Streams is a fully managed service to stream live video from devices to the AWS Cloud, store it durably, watch it live or later, and build applications for real-time or batch video analytics. It can take video from millions of sources, such as smartphones, security cameras, webcams, car cameras, and drones. It also handles other time-serialized data, such as audio, thermal imagery, depth data, and RADAR.

Choose Kinesis Video Streams when a question involves live video or camera feeds that must be ingested, stored, played back, or analyzed. For converting stored video files, use a transcoding service instead (see Amazon Elastic Transcoder).

Concepts

  • Producer: a device or application that sends media into a Kinesis video stream, using the producer SDK (Software development kit)A set of libraries for a programming language that wraps a service's API and handles details such as signing requests and retrying. AWS SDKs exist for Python (Boto3), JavaScript, Java, Go, and other languages.Glossary entry, the GStreamer kvssink plugin, or cameras over RTSP.
  • Stream: data is stored as fragments, which are time-indexed by producer and ingestion timestamps.
  • Consumer: an application that reads fragments and frames to view, process, or analyze them. Multiple consumers can read a stream in parallel.
  • Retention: keep media for a retention period you set. It is encrypted at rest, using SSE (Server-side encryption)Encryption that a service applies when it stores your data and removes when you read it back. Amazon S3 encrypts every new object with SSE-S3 by default; SSE-KMS uses keys in AWS KMS instead.Glossary entry with AWS KMS keys, including your own Customer managed keyA KMS key that you create, own, and manage: you control its key policy, rotation, and deletion. AWS managed keys, in contrast, are created and managed for you by an AWS service.Glossary entry. Without one, the AWS managed key aws/kinesisvideo is used. A customer managed key can be set only when the stream is created; it can't be changed later, so to switch keys you create a new stream and move producers and consumers to it.
  • Storage tiers:
    • Hot storage gives real-time access and has no minimum retention.
    • Warm storage gives rapid access, with slightly higher LatencyThe time between sending a request and receiving the response, usually measured in milliseconds. Distance and processing add to it; caching and serving users from nearby locations reduce it.Glossary entry (milliseconds), at a lower cost for long retention, with a minimum retention period of 30 days.
  • Playback: watch live or recorded video in browsers and apps with HLS or MPEG-DASH streaming session URLs and standard players, or in the console. Live HLS and DASH latency is typically 3 to 5 seconds, so they suit one-way viewing, not interactive calls.
    • GetClip downloads the archived media for a time range as an MP4 file, for example to share an incident or to transcode it with MediaConvert from S3.
    • GetMedia is a low-latency API (Application programming interface)A defined way for one program to ask another for data or actions, such as a set of HTTPS requests and responses. Every AWS service is controlled through its API, which the console, the CLI, and the SDKs call for you.Glossary entry for your own applications that process the stream; a player built on it is custom work.
  • Image extraction: generate images from the video stream, for example thumbnails or frames for ML (Machine learning)Software that learns patterns from example data to make predictions or decisions, instead of following rules written by hand. A model is first trained on data, then used to make predictions on new data, which is called inference.Glossary entry, either on demand with the GetImages API or with automated image generation, which extracts images as video is ingested and delivers them to an S3 bucket.
  • Kinesis Video Streams with WebRTC: real-time, two-way, low-latency media streaming between browsers, mobile apps, and devices using peer-to-peer connections, with a relay through the cloud when a direct connection isn't possible.

Analyzing video

  • Process frames with your own applications on EC2, or with Amazon SageMaker AI models.
  • Amazon Rekognition stream processors could analyze Kinesis video streams for face search and labels. Rekognition Streaming Video is no longer available to new customers from April 30, 2026; for new designs, send extracted frames to the Rekognition Image API. Older exam questions may pair Kinesis Video Streams with a Rekognition stream processor; do not choose it for a new design when frame extraction with the Image API is offered.
  • AWS Elemental MediaConvert reads input files from S3 or HTTP (Hypertext Transfer Protocol)The protocol that web browsers and APIs use to send requests, such as GET and POST, and receive responses. On its own it is not encrypted; HTTPS adds TLS.Glossary entry(S); it cannot read a Kinesis video stream. Export the footage with GetClip first.

Security, resilience, performance, and cost

Security

  • IAM controls who can create streams and put or get media. Data is encrypted at rest with KMS and in transit with TLS (Transport Layer Security)The protocol that encrypts traffic between a client and a server and lets the server prove its identity with a certificate. It replaced SSL, though the older name is still common; HTTPS is HTTP over TLS.Glossary entry.
  • With a customer managed key, producers need kms:GenerateDataKey and consumers need kms:Decrypt on the key.

Resilience and performance

  • Managed and scalable: it takes video from many devices at once, and consumers read in parallel without affecting producers.

Cost

  • Pay for data ingested, data stored (per GB-month), and data consumed, including through HLS. Warm storage is charged per fragment persisted.
  • WebRTC is charged for signaling channels, messages, and relayed (TURN) streaming minutes.

Kinesis Video Streams or another option?

If the requirement is Choose
Ingest and store live video from cameras Amazon Kinesis Video Streams
Real-time two-way video calls in apps or browsers Kinesis Video Streams with WebRTC
Watch live or recorded camera video in a standard web player HLS or MPEG-DASH streaming sessions
Export footage from a time range as a video file GetClip (MP4), then MediaConvert from S3 to convert it
Thumbnails from a stream, delivered to S3 Automated image generation
Encrypt an existing stream with your own KMS key Create a new stream with the customer managed key
Stream non-video records, such as clickstreams or logs Amazon Kinesis Data Streams
Convert stored video files to other formats MediaConvert (older questions may name the discontinued Elastic Transcoder)
Detect faces or objects in video frames Image extraction plus the Amazon Rekognition Image API

Reverse mindmap: when the question points here

Is it Kinesis Video Streams?
  • Yes, when the question says
    • Stream video from security cameras to AWS leads to Kinesis Video Streams
    • Ingest video from millions of devices leads to Kinesis Video Streams
    • Store and replay camera footage leads to Retention and playback
    • Watch live video in a browser leads to HLS or DASH playback (typically 3 to 5 seconds behind)
    • Download a time range as an MP4 file leads to GetClip
    • Build your own processing app on the live stream leads to GetMedia
    • Low-latency two-way video leads to Kinesis Video Streams with WebRTC
    • Own KMS key for stored video leads to Customer managed key, set at stream creation
  • Use the data
    • Run ML on video frames leads to SageMaker AI or Rekognition Image API
    • Thumbnails from video leads to Image extraction, automated to S3
    • Keep footage cheaply for months leads to Warm storage
  • No, when the question says
    • Clickstream or log records leads to Kinesis Data Streams
    • Convert uploaded video files leads to MediaConvert
    • MediaConvert reading the live stream directly leads to Not possible; GetClip to S3 first

Key takeaways

  • Kinesis Video Streams ingests live video and other time-serialized media from devices, stores it encrypted, and supports live and recorded playback (HLS and DASH).
  • Producers send fragments; many consumers can read in parallel for real-time or batch analytics.
  • Hot storage serves real-time access; warm storage lowers the cost of long retention (30-day minimum).
  • HLS and DASH live playback is typically 3 to 5 seconds behind; WebRTC provides real-time two-way streaming.
  • GetClip exports a time range as MP4; automated image generation delivers images to S3.
  • A customer managed KMS key can be set only when a stream is created.
  • Rekognition streaming video analysis is closed to new customers; use frames with the Image API instead.

Sources

Check your understanding

Loading your quiz progress

Sign in to check your understanding with 9 questions on Amazon Kinesis Video Streams.

Glossary Install the app

LetMeMaster is an independent educational project and is not affiliated with or endorsed by Amazon Web Services. Practice results do not predict actual exam outcomes.

© 2026 LetMeMaster. All rights reserved. Content may not be copied or redistributed without permission.

Proudly made in Canada

Add LetMeMaster to your Home Screen

  1. Tap the Share button in your browser's toolbar. In Safari it is at the bottom of the screen, or at the top on iPad.
  2. Scroll down and tap Add to Home Screen.
  3. Tap Add. Open LetMeMaster from its icon on your Home Screen.