← Back to Services

Amazon Kinesis Video Streams

LOW

Amazon Kinesis Video Streams is an AWS service designed for streaming live video content and non-video time-serialized data from various devices to the AWS cloud. It enables capabilities like analytics, machine learning, playback, and other processing on the ingested data.

Learning Objectives

  • Understand the purpose and core functionality of Amazon Kinesis Video Streams.
  • Identify key use cases and examples for Kinesis Video Streams across different industries.
  • Recognize the tools and libraries available for developing producer and consumer applications for Kinesis Video Streams.

Kinesis Video Streams Overview

Amazon Kinesis Video Streams is a specialized offering within the Kinesis family for handling streaming media and time-series data.

Kinesis Video Streams is an AWS service for streaming live video from devices to the AWS cloud. It also supports streaming non-video time-serialized data, enabling further processing like analytics, machine learning, and playback.
Kinesis video streams are fundamentally made up of fragments. Each fragment is a self-contained sequence of video frames.
As a Kinesis service, Kinesis Video Streams involves producers continually pushing data to the stream and consumers processing data in real time. A stream consists of shards, with each shard being a uniquely identified continuous sequence of data records. Data records have a sequence number, a partition key, and a data blob, which can be up to 1MB.
Technical Specs: Data blob up to 1MB

Kinesis Video Streams Key Features and Technical Details

Kinesis Video Streams provides robust capabilities for data ingestion, storage, retrieval, and ensures data security and scalability.

Details on how data is managed within Kinesis Video Streams, from writing to storage and security.

Data Ingestion (Writing Fragments)

Fragments are written to the video stream using the `PutMedia` command. The Kinesis service automatically assigns a fragment number and timestamps to these fragments for sequential organization within the video stream.
write_command PutMedia
metadata_assignment Fragment Number, Timestamps
Use Cases:
  • Streaming live video from devices
  • Streaming non-video time-serialized data

Data Retrieval (Reading Fragments)

Fragments can be read from the stream using a `GetMedia` command, specifying a `StartSelector` location. The command returns the requested fragments along with their associated timing information.
read_command GetMedia
input_parameter StartSelector location
output_data fragments and timing information
Use Cases:
  • Playback
  • Analytics processing
  • Machine learning inference

Data Storage and Security

Kinesis Video Streams stores, encrypts, and indexes the video data within your streams. Data encryption is enabled at rest.
data_state encrypted at rest
data_management stores, encrypts, indexes

Supported Video Format

Kinesis Video Streams has a limitation: it only supports the MKV (Matroska Video) video format.
supported_format MKV video format only

Scalability

The service is designed to scale elastically to handle data from millions of devices, accommodating large-scale video streaming needs.
scaling_capability elastically to millions of devices

Kinesis Video Streams Use Cases and Examples

Kinesis Video Streams is applied in various scenarios requiring real-time video and time-series data ingestion and processing.

A perfect example is smart home devices like Amazon Ring, where internal and external cameras stream video content. This content can then be used with machine learning and analytics to detect people or objects.
In smart city initiatives, CCTV cameras can leverage Kinesis Video Streams to monitor traffic at intersections and other public spaces.
For industrial automation, Kinesis Video Streams can ingest time-encoded data from sensors like LIDAR and RADAR signals, as well as temperature sensors, for real-time monitoring and analysis.
It enables streaming live video from a wide range of devices including smartphones, security cameras, webcams, and cameras embedded in cars and drones, to the AWS Cloud.

Kinesis Video Streams Development Tools and Libraries

AWS provides various client libraries and SDK components to facilitate interaction with Kinesis Video Streams for both producers and consumers.

Tools available for building applications that integrate with Kinesis Video Streams.

Kinesis Video Streams Producer Client (Java & Android)

A producer client specifically for Java and Android applications. The Kinesis Video Streams Producer Library is included within this client.
supported_platforms Java, Android
Use Cases:
  • Developing producer applications for mobile and Java environments

Kinesis Video Streams C++ Producer Library

A dedicated producer library for applications developed in C++.
supported_language C++
Use Cases:
  • Developing high-performance producer applications in C++

Kinesis Video Stream Parser Library

A library designed for reading MKV data specifically from Kinesis Video Streams.
functionality reading MKV data
Use Cases:
  • Parsing MKV video streams

AWS SDKs KinesisVideoMedia Class

The AWS Software Development Kits include a KinesisVideoMedia class. This class can be used for reading MKV data from a Kinesis video stream (specifically for `GetMedia` operations), but it cannot be used for putting media into a stream.
functionality reading MKV data
operations_supported GetMedia only
limitation cannot be used for putting media
Use Cases:
  • Consuming MKV video streams via SDKs

Exam Focus

  • For the exam, you need to understand what Kinesis Video Streams is and what use cases you can apply it for. Remembering examples like Amazon Ring is beneficial.
  • Kinesis Video Streams is primarily used for video streaming at scale from millions of devices.
  • Remember to keep in mind the specific use cases and examples for Kinesis Video Streams for the exam.

Glossary

Fragment
A self-contained sequence of video frames, forming the basic unit of data in Kinesis video streams.
PutMedia
The command used to write fragments of video or time-serialized data to a Kinesis video stream.
GetMedia
The command used to read fragments of video or time-serialized data from a Kinesis video stream, typically by specifying a StartSelector location.
StartSelector
A parameter supplied when using the GetMedia command to specify the position in the stream from which to start reading fragments.
MKV Video Format
Matroska Video format, which is the only video format supported by Amazon Kinesis Video Streams.

Key Takeaways

  • Amazon Kinesis Video Streams enables streaming of live video and non-video time-serialized data from devices to the AWS cloud, allowing for analytics, machine learning, and playback (Source Page 1, 5).
  • It scales elastically to millions of devices, stores, encrypts, and indexes data, and notably only supports the MKV video format (Source Page 1, 5).
  • Key use cases include smart homes (e.g., Amazon Ring), smart cities (CCTV), and industrial automation (LIDAR, RADAR, temperature sensors) (Source Page 5).

Content Sources

Kinesis 08_AWS_Solutions_Architect_Associate_... AWS Knowledge Resources Deep Dive: Amazon CloudWatch Media Extracted: 2026-03-25T01:05:05.967831+00:00 Model: gemini-2.5-flash