Working with stored video analysis operations
Amazon Rekognition Video is an API that you can use to analyze videos. With Amazon Rekognition Video, you can detect labels, faces, people, celebrities, and adult (suggestive and explicit) content in videos that are stored in an Amazon Simple Storage Service (Amazon S3) bucket. You can use Amazon Rekognition Video in categories such as media/entertainment and public safety. Previously, scanning videos for objects or people would have taken many hours of error-prone viewing by a human being. Amazon Rekognition Video automates the detection of items and when they occur throughout a video.
This section covers the types of analysis that Amazon Rekognition Video can perform, an overview of the API, and examples for using Amazon Rekognition Video.
Topics
- Types of analysis
- Amazon Rekognition Video API overview
- Calling Amazon Rekognition Video operations
- Configuring Amazon Rekognition Video
- Analyzing a video stored in an Amazon S3 bucket with Java or Python (SDK)
- Analyzing a video with the AWS Command Line Interface
- Reference: Video analysis results notification
- Troubleshooting Amazon Rekognition Video
Types of analysis
You can use Amazon Rekognition Video to analyze videos for the following information:
For more information, see How Amazon Rekognition works.
Amazon Rekognition Video API overview
Amazon Rekognition Video processes a video that's stored in an Amazon S3 bucket. The design pattern is an
asynchronous set of operations. You start video analysis by calling a Start
operation such as StartLabelDetection. The completion status of the request is
published to an Amazon Simple Notification Service (Amazon SNS) topic. To get the completion status from the Amazon SNS
topic, you can use an Amazon Simple Queue Service (Amazon SQS) queue or an AWS Lambda function. After you have
the completion status, you call a Get
operation, such as GetLabelDetection, to get the
results of the request.
The following diagram shows the process for detecting labels in a video that's stored in an Amazon S3 bucket. In the diagram, an Amazon SQS queue gets the completion status from the Amazon SNS topic. Alternatively, you can use an AWS Lambda function.
The process is the same for other Amazon Rekognition Video operations. The following table lists the
Start
and Get
operations for each of the non-storage
Amazon Rekognition operations.
Detection | Start Operation | Get Operation |
---|---|---|
Video Segments |
||
Labels |
||
Explicit or suggestive adult content |
||
Text |
||
Celebrities |
||
Faces |
||
People |
For Get
operations other than GetCelebrityRecognition
,
Amazon Rekognition Video returns tracking information for when entities are detected throughout the
input video.
For more information about using Amazon Rekognition Video, see Calling Amazon Rekognition Video operations. For an example that does video analysis by using Amazon SQS, see Analyzing a video stored in an Amazon S3 bucket with Java or Python (SDK). For AWS CLI examples, see Analyzing a video with the AWS Command Line Interface.
Video formats and storage
Amazon Rekognition operations can analyze videos that are stored in Amazon S3 buckets. For a list of all limits on video analysis operation, see Guidelines and quotas in Amazon Rekognition.
The video must be encoded using the H.264 codec. The supported file formats are MPEG-4 and MOV.
A codec is software or hardware that compresses data for faster delivery and decompresses received data into its original form. The H.264 codec is commonly used for recording, compressing, and distributing video content. A video file format can contain one or more codecs. If your MOV or MPEG-4 format video file doesn't work with Amazon Rekognition Video, check that the codec used to encode the video is H.264.
Any Amazon Rekognition Video API that analyzes audio data only supports AAC audio codecs.
The maximum file size for a stored video is 10GB.
Searching for people
You can use facial metadata that's stored in a collection to search for people in a video. For example, you can search an archived video for a specific person or for multiple people. You store facial metadata from source images in a collection by using the IndexFaces operation. You can then use StartFaceSearch to start asynchronously searching for faces in the collection. You use GetFaceSearch to get the search results. For more information, see Searching stored videos for faces. Searching for people is an example of a storage-based Amazon Rekognition operation. For more information, see Storage-based API operations.
You can also search for people in a streaming video. For more information, see Working with streaming video events.