Amazon Kinesis Video Streams is a fully managed video ingestion and storage service. It enables you to securely ingest, process, and store video at any scale for applications that power robots, smart cities, industrial automation, security monitoring, machine learning (ML), and more. Kinesis Video Streams also ingests other kinds of time-encoded data like audio, RADAR, and LIDAR signals. Kinesis Video Streams provides you SDKs to install on your devices to make it easy to securely stream video to AWS. Kinesis Video Streams automatically provisions and elastically scales all the infrastructure needed to ingest video streams from millions of devices. It also durably stores, encrypts, and indexes the video streams and provides easy-to-use APIs so that applications can access and retrieve indexed video fragments based on tags and timestamps. Kinesis Video Streams provides a library to integrate ML frameworks such as Apache MxNet, TensorFlow, and OpenCV with video streams to build machine learning applications. Kinesis Video Streams is integrated with Amazon Rekognition Video, enabling you to build computer vision applications that detect and recognize faces in streaming video.
Time-encoded data is any data in which the records are in a time series, and each record is related to its previous and next records. Video is an example of time-encoded data, where each frame is related to the previous and next frames through spatial transformations. Other examples of time-encoded data include audio, RADAR, and LIDAR signals. Amazon Kinesis Video Streams is designed specifically for cost-effective, efficient ingestion and storage of all kinds of time-encoded data for analytics and ML use cases.
Device SDKs to Securely Stream Data from Devices
Amazon Kinesis Video Streams provides SDKs that you can download and install on your connected device and write a few lines of code to securely stream video and other time-encoded data to Kinesis Video Streams for analytics and storage. The SDKs, which are available for popular device-oriented development environments such as Android and Java, continuously receive data from the device’s media source and transmit it to the Kinesis video stream. Once you have written the code for a given device, you can re-use it for other devices with minor changes. To get started with the Kinesis Video Streams SDKs, see the documentation.
Amazon Kinesis Video Streams uses Amazon S3 as the underlying data store, which means your data is stored durably and reliably. You can set and control retention periods on a per-stream basis, allowing you to cost-effectively store the data in your streams for a limited time period or indefinitely. You can change the stream retention period at any point.
APIs for Real-time and Batch Data Retrieval
Amazon Kinesis Video Streams offers easy-to-use APIs that allow you to retrieve the data from your streams on a frame-by-frame basis for building real-time and batch processing. For more information, see documentation.
Video Stream Parser Library
Amazon Kinesis Video Streams offers a stream parser library that you can use within your applications to easily retrieve frame-level objects, extract and collect metadata attached to fragments, merge consecutive fragments, and more. It allows you to readily integrate popular ML frameworks such as Apache MxNet, TensorFlow, and OpenCV. For more information, see the documentation.
Video Playback in the Console
Amazon Kinesis Video Streams automatically transcodes any H.264 encoded video data in your streams to MPEG4 and lets you to playback the video in the AWS management console. (H.264 is an industry-standard format for video data). You can rewind or skip to any point in the video stream by entering the time.
Built-in Integration with Amazon Rekognition Video
Amazon Rekognition Video allows you to specify any of your Amazon Kinesis video streams as an input. This enables you to automatically detect and recognize faces in streaming video. Using this built-in integration, you can quickly build computer vision applications for use cases like security monitoring.
Automatic Data Encryption in Transit
The Amazon Kinesis Video Streams SDK encrypts the frames and fragments generated by the device’s hardware for secure streaming using Transport Layer Security (TLS), a protocol that provides privacy and data integrity between two communicating applications.
Automatic Data Encryption at Rest with AWS KMS
Amazon Kinesis Video Streams automatically encrypts the data you put into your video streams using AWS Key Management Service (KMS), helping you protect your data at rest. Data is encrypted before it is written to the Kinesis Video Streams storage, and it is decrypted after it is retrieved from storage. As a result, your data is always encrypted at rest within the stream. To learn more, see the documentation.
Access Control with AWS IAM
Amazon Kinesis Video Streams integrates with AWS Identity and Access Management (IAM), enabling you to control access to your video streams. You can create policies that allow only specific users and groups to take specific actions such as putting data into, or retrieving data from your video streams. For more information about using IAM policies with Kinesis Video Streams, see the documentation.
Automatic Indexing for Search and Retrieval
Amazon Kinesis Video Streams automatically indexes the data you store in your video streams based on timestamps generated by the device, or timestamps generated by Kinesis Video Streams when it receives the video. You can combine stream-level tags with timestamps to easily search and retrieve specific video fragments for playback, analytics, and other processing.
Amazon Kinesis Video Streams is fully managed, so there is no infrastructure to manage. Kinesis Video Streams automatically provisions and elastically scales to millions of devices, and scales down when the devices are not transmitting video, without the need to provision a fleet of servers.
Pay per Use
With Amazon Kinesis Video Streams, you pay only for the volume of data you ingest, store, and consume through the service. There are no upfront costs or minimum fees, and you need not worry about paying for idle video streams. For more information, see the pricing page.