Bulk Video Analysis with Distributed Map State

This sample project demonstrates using Step Functions Distributed Map for bulk analysis of Videos with Amazon Rekognition.

In this project, Step Functions uses a state machine that leverages Distributed Map State for bulk analysis processing of videos with the use of Amazon Rekognition Video.
Distributed Map mode allows you to specify an s3 bucket as a source, in this example, acting as a queue for Amazon Rekognition Video analysis.
Amazon Rekognition Video supports a maximum of 20 concurrent jobs per account, the distributed map mode allows you to configure your concurrency so that you can avoid hitting thresholds, all the while knowing your vidoes will be processed.
DynamoDB is leveraged to keep track of rekognition jobs and can be used to enhance the workflow application.
Rekognition outputs are written out to an s3 bucket as CSV files through the use of Lambda functions. The output files are then consumed by a Glue crawler to populate a video content data catalog.

< Back to all workflows

GitHub icon View this workflow on GitHub


Clone repo

git clone https://github.com/aws-samples/step-functions-workflows-collection/tree/main/sfn-rekognition-video-catalog-workflow/cd step-functions-workflows-collection/sfn-rekognition-video-catalog-workflow

Deploy

1. Bootstrap CDK, if needed: <code>cdk bootstrap aws://{your-aws-account-number}/{your-aws-region}</code>2. Deploy the stack: <code>cdk deploy</code>


Testing

See the GitHub repo for detailed testing instructions.

Cleanup

1. Delete the stack: cdk destroy SfnRekognitionVideoCatalogWorkflowStack.

Created by:

Anthony Caruso

Anthony Caruso

Anthony is a Solutions Architect at AWS. Anthony is passionate about serverless and event-driven-architectures, building innovative solutions and making them accessible to all.

Follow on LinkedIn