Menu
Products
Products
Video Hosting
Upload and manage your videos in a centralized video library.
Image Hosting
Upload and manage all your images in a centralized library.
Galleries
Choose from 100+templates to showcase your media in style.
Video Messaging
Record, and send personalized video messages.
CincoTube
Create your own community video hub your team, students or fans.
Pages
Create dedicated webpages to share your videos and images.
Live
Create dedicated webpages to share your videos and images.
For Developers
Video API
Build a unique video experience.
DeepUploader
Collect and store user content from anywhere with our file uploader.
Solutions
Solutions
Enterprise
Supercharge your business with secure, internal communication.
Townhall
Webinars
Team Collaboration
Learning & Development
Creative Professionals
Get creative with a built in-suite of editing and marketing tools.
eCommerce
Boost sales with interactive video and easy-embedding.
Townhall
Webinars
Team Collaboration
Learning & Development
eLearning & Training
Host and share course materials in a centralized portal.
Sales & Marketing
Attract, engage and convert with interactive tools and analytics.
"Cincopa helped my Enterprise organization collaborate better through video."
Book a Demo
Resources
Resources
Blog
Learn about the latest industry trends, tips & tricks.
Help Centre
Get access to help articles FAQs, and all things Cincopa.
Partners
Check out our valued list of partners.
Product Updates
Stay up-to-date with our latest greatest features.
Ebooks, Guides & More
Customer Stories
Hear how we've helped businesses succeed.
Boost Campaign Performance Through Video
Discover how to boost your next campaign by using video.
Download Now
Pricing
Watch a Demo
Demo
Login
Start Free Trial
Real-time notifications are essential in video systems that must immediately alert users when key events occur. AWS Simple Notification Service (SNS) and AWS Lambda provide a serverless, event-driven solution for distributing and processing these alerts. This architecture eliminates manual infrastructure management and ensures low-latency, scalable delivery. Architecture Overview The system consists of three core components: a video processing service, AWS SNS for message distribution, and AWS Lambda for executing notification logic. When a video event (e.g., motion detection, live stream start) occurs, the video processing service publishes a message to an SNS topic. SNS then invokes a Lambda function, which processes the event and dispatches notifications via email, SMS, or push notifications. Key AWS Services and Their Roles AWS SNS serves as the central event distribution hub, supporting multiple communication protocols such as HTTP/S, SMS, Email, and Lambda. Its ability to handle high throughput with low latency makes it well-suited for real-time applications. AWS Lambda complements this by executing the notification logic within a serverless environment that scales automatically based on the volume of incoming requests. Together, these services integrate seamlessly, removing the need for manual infrastructure management and enabling efficient, scalable real-time notification delivery. Implementation Steps 1. Setting Up an SNS Topic Create an SNS topic to act as the central event dispatcher. The AWS CLI command below creates a topic named VideoEvents : aws sns create-topic --name VideoEvents The ARN (Amazon Resource Name) of the topic will be used to publish messages and subscribe Lambda functions. 2. Configuring Lambda for Notification Processing A Lambda function processes incoming SNS messages. Below is a Python example that parses an SNS event and sends an email via Amazon SES (Simple Email Service): import boto3 import json def lambda_handler(event, context): sns_message = json.loads(event['Records'][0]['Sns']['Message']) video_event = sns_message['event_type'] recipient = sns_message['recipient_email'] ses_client = boto3.client('ses') response = ses_client.send_email( Source='notifications@example.com', Destination={'ToAddresses': [recipient]}, Message={ 'Subject': {'Data': f'Video Event: {video_event}'}, 'Body': {'Text': {'Data': f'A video event ({video_event}) has occurred.'}} } ) return response Ensure the Lambda execution role has permissions for ses:SendEmail and sns:Publish . 3. Subscribing Lambda to SNS The Lambda function must be subscribed to the SNS topic to receive messages. Using the AWS CLI: aws sns subscribe --topic-arn arn:aws:sns:us-east-1:123456789012:VideoEvents --protocol lambda --notification-endpoint arn:aws:lambda:us-east-1:123456789012:function:VideoNotificationHandler This ensures all messages published to VideoEvents trigger the Lambda function. 4. Publishing Video Events to SNS When a video event occurs, the application publishes a message to the SNS topic. Below is an example using Python and Boto3: import boto3 import json sns_client = boto3.client('sns') def publish_video_event(event_type, recipient_email): message = { 'event_type': event_type, 'recipient_email': recipient_email } response = sns_client.publish( TopicArn='arn:aws:sns:us-east-1:123456789012:VideoEvents', Message=json.dumps(message) ) return response This function sends a JSON payload containing the event type and recipient email, which the Lambda function processes. Performance Considerations Efficient handling of real-time video notifications requires attention to throughput, latency, concurrency, and scaling behaviors. Below are key considerations: Error Handling and Retries SNS retries failed Lambda invocations with exponential backoff. If a Lambda function fails, SNS retries up to three times before potentially moving the message to a Dead Letter Queue (DLQ). Configure a DLQ for the Lambda function to capture undeliverable events: aws lambda update-function-configuration --function-name VideoNotificationHandler --dead-letter-config TargetArn=arn:aws:sqs:us-east-1:123456789012:VideoEventsDLQ Cost Optimization Minimizing costs in a real-time notification system using AWS SNS and Lambda requires controlling message volume, execution frequency, and resource utilization across services. Security Best Practices Encryption : Encrypt SNS messages using AWS Key Management Service (KMS) by enabling server-side encryption for the topic: aws sns set-topic-attributes --topic-arn arn:aws:sns:us-east-1:123456789012:VideoEvents --attribute-name KmsMasterKeyId --attribute-value alias/aws/sns Access Control : Restrict SNS publish permissions using IAM policies to prevent unauthorized access. Encrypt Lambda Environment Variables: If sensitive data (like API tokens, email addresses, or configuration settings) is stored in environment variables, enable encryption using a KMS key. Enable environment variable encryption during Lambda configuration. Grant the Lambda execution role permission to kms:Decrypt.