awslabs / aws-streaming-media-analytics

AWS Streaming Media Analytics is a serverless end-to-end solution for analyzing the video streaming experience
MIT No Attribution
39 stars 17 forks source link

AWS Streaming Media Analytics

15 May 2024: AWS Streaming Media Analytics is no longer maintained or supported due to updates in best practices for this workload. This repository will soon be archived

Please see the following other AWS sample projects for an updated set of examples covering this use-case:

The following content is preserved for archive purposes

AWS Streaming Media Analytics is a serverless end-to-end solution for analyzing the video streaming experience

alt text

Quicksight Update Frequency

By default the Glue Trigger is set for every 4 hours to reduce cost. This can frequency can be increased, but check the AWS Glue console pricing for more details. In my testing AWS Glue cost 0.44 cents per run in this solution.

The GlueJob that writes player data to S3 for Athena and Quick sight is located within the WatchTimeGlueTrigger. Look for the field that looks like this. Schedule: cron(0 */4 * * ? *)

Architecture

alt text

alt text

alt text

How to customize and create your own CloudFormation template.

Setup Instructions To build with Docker && make

Pre-requisites:

The build and deployment process for this project has been tested on both Mac and Linux using the vscode and Cloud9 IDEs respectively.

Build Configuration:

Copy the Makefile.sample file to a file named Makefile. In the new file:

Commands to manage creation/deletion of S3 buckets:

Commands to build and deploy the entire project

Once the deployment is done you should see the player URL in the Outputs section of the CloudFormation template.

Pricing

Reference the AWS Pricing pages for each service used.

JavaScript Video Player Setup

Guide to Setup JavaScript Video Player

License Summary

This sample code is made available under the MIT-0 license. See the LICENSE file.