Skip to content

Media Streaming

The media streaming subsystem contains a set of components explained below:

  1. Manifest Generator: To stream a processed video, your media player will request a manifest file (text-based M3U8 format for HLS playback on Apple devices and Safari browser and XML-based MPD format for DASH playback on other browsers, Android devices etc.) The manifest file can be obtained by making an API call to the Manifest lambda.

  2. CloudFront: AWS Cloudfront acts as the CDN for caching streams. They are useful when a customer rewinds and watches a video again as it saves on ondemand watermarking costs. Further, depending on the type of watermark used (shared watermark) there are bigger advantages to using AWS CloudFront.

  3. Watermarking Lambda: The watermarking lambda adds the real time watermarking to the video chunk before it is delivered to the customer. The lambda is centrally located closer to the media bucket storage location to ensure that downloading latency is reduced.

  4. Processed Media S3: The processed media S3 bucket stores the harmonized, chunked and encrypted videos that can be streamed. Depending on the type of watermarking technology used, they could also contain videos that have some common watermarks applied on them. The watermarking lambda downloads a chunk from this S3 bucket before applying a watermark and streaming it to the caller.

  5. KMS: The AWS Key management service is used to store various encryption secrets such as DRM envelope keys etc., This is the secure way to store keys and secrets required by the Indee application to process and stream videos.

The sequence diagram explains how various components interact during the video streaming.

Indee YourCloud Processing

Whats Next

Explore the YourCloud media playback API.