ServerlessVideo is a demo application built by the serverless developer advocacy team at AWS with serverless specialists. ServerlessVideo utilizes serverless services AWS Step Functions, Amazon EventBridge, AWS Lambda, Amazon ECS, and Amazon Bedrock.
ServerlessVideo is built on an serverless architecture that makes it fast, flexible, and cost-effective. Key technical features:
- Serverless plugin architecture: ServerlessVideo uses a plugin-based architecture powered by AWS Step Functions and Amazon EventBridge. This makes it easy to integrate new data sources, Bedrock AI models, and workflows over time.
- Versatile serverless compute: Processing is handled by a combination of AWS Lambda functions and Amazon ECS containers. This provides the perfect balance of speed, scale, and cost to match diverse workloads.
- Event-driven at the core: Built with loosely coupled microservices that response to events. ServerelssVideo's events are routed with Amazon EventBridge and fanned out to the frontends WebSockets, using AWS IoT Core.
ServerlessVideo allows broadcasters to stream video directly to thousands of users using Amazon Interactive Video Service (IVS). When a broadcast has ended, the video is processed using the plugin life cycle workflow. This Step Functions workflow triggers all the configured plugins to process the video. This process includes using Amazon Transcribe to generate transcriptions, Amazon Rekognition to validate videos, Amazon Bedrock to generate titles and tags and much more!
Understanding the architecture
The application incorporates various microservices to support live streaming, on-demand video playback, video transcoding, live stream transcription, and event management. The architecture uses multiple AWS serverless services and relies on Amazon Interactive Video Service (Amazon IVS) for live transcoding and playback capabilities.
The video streaming application consists of multiple microservices that work together to provide seamless video broadcasting and playback experiences. The architecture also includes a frontend application for live and on-demand video playback. Videos are automatically saved to Amazon S3 for availability in the on-demand library. Live streams are transcribed using machine learning services orchestrated by AWS Step Functions. Event notifications are sent through Amazon EventBridge to inform users of live stream availability and on-demand playback readiness.