Skip to content

Commit

Permalink
Update to version v3.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
tabdunabi committed Mar 10, 2022
1 parent 4bf5cae commit 9e956e5
Show file tree
Hide file tree
Showing 14 changed files with 20,448 additions and 3,060 deletions.
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,22 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [3.0.0] - 2022-3-10

### Added
- Added Amazon S3 construct to replace AWS MediaStore for storing video segments.
- Amazon S3 request metrics added, including first byte latency, and total latency of each request.

### Changed
- Github repo name changed from live-streaming-on-aws-with-mediastore to live-streaming-on-aws-with-amazon-s3.
- Removed mediastore actions from min_user_iam_deploy.json.
- Updated architecture diagram.
- Changed references to MediaStore in implementation guide to Amazon S3.
- Removed CloudWatch MediaStore dashboard.
- Replaced mentions of MediaStore with Amazon S3 where appropriate.
- Package follow-redirects updated to 1.14.8
- Replaced resource urls pointing to MediaStore with Amazon S3 urls.

## [2.1.1] - 2022-1-24

### Updated
Expand Down
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ information to effectively respond to your bug report or contribution.

We welcome you to use the GitHub issue tracker to report bugs or suggest features.

When filing an issue, please check [existing open](https://github.com/awslabs/live-streaming-on-aws-with-mediastore/issues), or [recently closed](https://github.com/awslabs/live-streaming-on-aws-with-mediastore/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20), issues to make sure somebody else hasn't already
When filing an issue, please check [existing open](https://github.com/aws-solutions/live-streaming-on-aws-with-amazon-s3/issues), or [recently closed](https://github.com/aws-solutions/live-streaming-on-aws-with-amazon-s3/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20), issues to make sure somebody else hasn't already
reported the issue. Please try to include as much information as you can. Details like these are incredibly useful:

* A reproducible test case or series of steps
Expand All @@ -23,7 +23,7 @@ reported the issue. Please try to include as much information as you can. Detail
## Contributing via Pull Requests
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:

1. You are working against the latest source on the *master* branch.
1. You are working against the latest source on the *mainline* branch.
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.

Expand All @@ -41,7 +41,7 @@ GitHub provides additional document on [forking a repository](https://help.githu


## Finding contributions to work on
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels ((enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any ['help wanted'](https://github.com/awslabs/live-streaming-on-aws-with-mediastore/labels/help%20wanted) issues is a great place to start.
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels ((enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any ['help wanted'](https://github.com/aws-solutions/live-streaming-on-aws-with-amazon-s3/labels/help%20wanted) issues is a great place to start.


## Code of Conduct
Expand All @@ -55,6 +55,6 @@ If you discover a potential security issue in this project we ask that you notif


## Licensing
See the [LICENSE](https://github.com/awslabs/live-streaming-on-aws-with-mediastore/blob/master/LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
See the [LICENSE](https://github.com/aws-solutions/live-streaming-on-aws-with-amazon-s3/blob/mainline/LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution.

We may ask you to sign a [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.
2 changes: 1 addition & 1 deletion NOTICE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Live Streaming on AWS with MediaStore
Live Streaming on AWS with Amazon S3

Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Expand Down
36 changes: 10 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
# Live Streaming on AWS with MediaStore
# Live Streaming on AWS with Amazon S3

Live streaming on AWS with MediaStore automatically configures AWS Elemental MediaLive, AWS Elemental MediaStore and Amazon CloudFront to ingest, encode, package and deliver a single source live stream through the AWS Cloud. The Solution provides 3 Encoding profiles to support 1080p through 288p HTTP live streaming (HLS) outputs and an Amazon CloudFront Dashboard to monitor the ingress and egress requests to MediaStore. For more details see the [solution home page](https://aws.amazon.com/solutions/live-streaming-on-aws/).
Live streaming on AWS with Amazon S3 automatically configures AWS Elemental MediaLive, Amazon S3 and Amazon CloudFront to ingest, encode, package and deliver a single source live stream through the AWS Cloud. The Solution provides 3 Encoding profiles to support 1080p through 288p HTTP live streaming (HLS) outputs. For more details see the [solution home page](https://aws.amazon.com/solutions/live-streaming-on-aws/).

The solution was developed using the [AWS Cloud Development Kit]() and also leverages a AWS Solutions Construct [CloudFrontToMediaStore](tbc)
The solution was developed using the [AWS Cloud Development Kit]() and also leverages a AWS Solutions Construct [CloudFrontToS3](https://docs.aws.amazon.com/solutions/latest/constructs/aws-cloudfront-s3.html)

## On this Page
- [Architecture Overview](#architecture-overview)
- [Encoding Profiles](#encoding-profiles)
- [CloudWatch Dashboard](#cloudwatch-dashboard)
- [Requirements](#requirements)
- [Deployment](#deployment)
- [Creating a custom Build](#creating-a-custom-build)
- [License](#license)
Expand All @@ -17,33 +15,18 @@ The solution was developed using the [AWS Cloud Development Kit]() and also leve
![Architecture](architecture.png)

## Input Options
The solution supports RTP Push, RTMP push, HLS and [AWS Elemental Link](https://aws.amazon.com/medialive/features/link/) input types. For more detialed instructions see the Implementation Guid on the [solution home page](https://aws.amazon.com/solutions/live-streaming-on-aws/).
The solution supports RTP Push, RTMP push, HLS and [AWS Elemental Link](https://aws.amazon.com/medialive/features/link/) input types. For more detialed instructions see the implementation guide on the [solution home page](https://aws.amazon.com/solutions/live-streaming-on-aws/).

## Encoding Profiles:

* HD-1080p profile: 1920x1080, 1280x720, 960x540, 768x432, 640x360, 512x288
* HD-720p profile: 1280x720, 960x540, 768x432, 640x360, 512x288
* SD-540p profile: 960x540, 768x432, 640x360, 512x288

## CloudWatch Dashboard
The solution includes an Amazon CloudWatch Dashboard that is configured to monitor the following MediaStore data points captured in Amazon CloudWatch Logs:

* Ingress TPM (Transaction Per Minute)
* Egress TPM (Transaction Per Minute)
* Put Object Latencies (Successful Requests)
* Get Object Latencies (Successful Requests)
* Ingress 2xx Status Count by Operation
* Ingress 4xx Status Count by Operation
* Ingress 5xx Status Count by Operation
* Egress 2xx Status Count by Operation
* Egress 4xx Status Count by Operation
* Egress 5xx Status Count by Operation



## Requirements:
Before you launch the solution, you must create a MediaStore IAM Role and associated policy to allow MediaStore access to Amazon CloudWatch. The solution will launch successfully but without this Role the Amazon CloudWatch Dashboard deployed as part of the solution will not work. This is a one-time requirement, once created the role will authorize logging for all MediaStore Containers (if enabled). For details please see the [MediaStore documentation](https://docs.aws.amazon.com/mediastore/latest/ug/incident-response.html)

## Deployment
The solution can be deployed through the CloudFormation template available on the [solution home page](https://aws.amazon.com/solutions/live-streaming-on-aws/).

Expand Down Expand Up @@ -95,7 +78,7 @@ aws s3 mb s3://my-bucket-us-east-1
Build the distributable:
```
chmod +x ./build-s3-dist.sh
./build-s3-dist.sh <my-bucket> live-streaming-on-aws-with-mediastore <version>
./build-s3-dist.sh <my-bucket> live-streaming-on-aws-with-amazon-s3 <version>
```

> **Notes**: The _build-s3-dist_ script expects the bucket name as one of its parameters. This value should not have the region suffix (remove the -us-east-1)
Expand All @@ -107,12 +90,12 @@ aws s3api head-bucket --bucket my-bucket-us-east-1 --expected-bucket-owner YOUR-

Deploy the distributable to the Amazon S3 bucket in your account:
```
aws s3 sync ./regional-s3-assets/ s3://my-bucket-us-east-1/live-streaming-on-aws-with-mediastore/<version>/
aws s3 sync ./global-s3-assets/ s3://my-bucket-us-east-1/live-streaming-on-aws-with-mediastore/<version>/
aws s3 sync ./regional-s3-assets/ s3://my-bucket-us-east-1/live-streaming-on-aws-with-amazon-s3/<version>/
aws s3 sync ./global-s3-assets/ s3://my-bucket-us-east-1/live-streaming-on-aws-with-amazon-s3/<version>/
```

### 5. Launch the CloudFormation template.
* Get the link of the live-streaming-on-aws-with-mediastore.template uploaded to your Amazon S3 bucket.
* Get the link of the live-streaming-on-aws-with-amazon-s3.template uploaded to your Amazon S3 bucket.
* Deploy the solution.


Expand All @@ -129,4 +112,5 @@ When deploying this solution you may have a DevOps operator IAM user that deploy

This solution collects anonymous operational metrics to help AWS improve the
quality of features of the solution. For more information, including how to disable
this capability, please see the [implementation guide](_https://docs.aws.amazon.com/solutions/latest/live-streaming-on-aws-with-mediastore/collection-of-operational-metrics.html_).
this capability, please see the [implementation guide](https://docs.aws.amazon.com/solutions/latest/live-streaming-on-aws-with-amazon-s3/welcome.html).

Binary file modified architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion source/constructs/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
package-lock.json
.DS_Store
.vscode/
*.js
Expand Down
Loading

0 comments on commit 9e956e5

Please sign in to comment.