Media Ingestion and Processing
The media ingestion and processing subsystem has the following interfaces and components.
Interfaces
The media ingestion and processing supports two interfaces- Job Submission and Job Status Notifications.
The primary interface for submitting a video for processing involves submitting a message to an API gateway. The message has a JSON structure.
One of the parameters in the JSON is a status webhook. This webhook is used to deliver the final status of the submitted ingestion and processing job.
Components
The ingestion subsystem contains the following components:
-
Job Submission Queue: This is is an AWS SQS queue where a processing request job is pushed to trigger processing once it is received by the API.
-
Processing Helper: The processing helper is a AWS Lambda function that is triggered by the SQS queue when a job is pushed. The lambda verifies the request and ensures that everything is in order before it triggers the video processing.
-
Batch: AWS batch is a batch processing framework on AWS that is used to launch as many processing EC2 instances as needed to handle the submitted job.
-
Media processing layer: The media processing layer is a custom code that runs on a EC2 instance that can process media files.
-
S3 source: This is the bucket from which the media asset will be ingested by the media processing layer.
-
S3 Destination: The S3 bucket where the processed media files are stored by the media processing layer.
-
KMS: The AWS key management service which is used to store secrets such as decryption keys etc.,.
These components are automatically created by the installation software provided by Indee.
The sequence diagram showing how these components interact is
Whats next
Explore the JSON structure of the submission to understand the various parameters to be passed to a media processing request.