Skip to content

Commit 14618b7

Browse files
committed
Major version update to v4.
Key changes include: - update nodejs to 20.x - update to use native aws-sdk-js-v3 New features: - dynamic frame analysis - auto face indexer - scene and ad break detection - leveraging generative ai for more metdata Refer to README.md for more details. Breaking changes: - consolidating the generated metadata files into one output file per analysis type - optimizing opensearch to have a single index instead of multiple indexes (one index per analysis type)
1 parent e3d942b commit 14618b7

File tree

725 files changed

+110395
-223650
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

725 files changed

+110395
-223650
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ not-used
4040
dist
4141
.vscode
4242
doc
43+
# package-lock.json
4344
global-s3-assets
4445
regional-s3-assets
4546
open-source

CHANGELOG.md

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,44 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [4.0.0] - 2024-03-06
8+
### New features
9+
- Dynamic frame analysis workflow
10+
- Auto face indexing workflow
11+
- Scene and Ad break detection workflow
12+
- GenAI playground with Amazon Bedrock (Anthropic Claude)
13+
- Knowledge graph with Amazon Neptune Serverless
14+
- Option to choose Amazon OpenSearch Serverless Service instead of Amazon OpenSearch Service (cluster)
15+
- Complex search query that supports AND, OR, NOT directives.
16+
- Experimental feature: Shoppable Metadata (Disabled by default). Contact your AWS representative if you are interested in this feature.
17+
18+
### Changes
19+
- Updated lambda function runtime to NodeJS 20.x
20+
- Updated AWS SDK JS to version 3
21+
- Refactored video analysis state machine by introducing new sub-state machines
22+
- Dynamic frame segmentation state machine
23+
- Video based detection state machine
24+
- Frame based detection state machine
25+
- Custom model detection state machine
26+
- Analysis Post Process state machine
27+
- Consolidated opensearch indices into a single index to support complex search query
28+
29+
### Added
30+
- An unified state machine status event bus using Amazon EventBridge to consolidate events from various state machines
31+
- A new Amazon DynamoDB table, `faceindexer` to store face id and name mapping
32+
- An `Update Face Indexer` state machine to manage the face indexer logics such as adding, modifying, and removing faces from the face indexer table, opensearch documents, and metadata files on proxy bucket
33+
- A `Graph Indexer` state machine to manage the Amazon Neptune Serverless logics such as adding, modifying, and removing nodes and relationships from the graph database
34+
- Amazon CodeBuild to build and package opensource models into docker images and store in a private Amazon Elastic Container Registry (Amazon ECR)
35+
- CLIP, opensource zero shot image classification model running in containerized lambda function for generating image embeddings, used for scene detection feature
36+
- Faiss, opensource vector store running in containerized lambda funciton for similarity search (stateless), used for scene detection feature
37+
- OWL-ViT, opensource zero-shot object detection model running in containerized lambda function for apparel detection, used for shoppale metadata feature
38+
- BLIP, opensource text to caption model running in containerized lambda function for generating image caption, used for image analysis
39+
- Private VPC for the Amazon Neptune Serverless instance
40+
41+
### Removed
42+
- Amazon Rekognition Person Pathing API
43+
44+
745
## [3.1.5] - 2023-11-02
846

947
### Security
@@ -124,4 +162,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
124162

125163
### Changed
126164

127-
### Removed
165+
### Removed

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
## Code of Conduct
22
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
3-
For more information, see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
3+
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
44
[email protected] with any additional questions or comments.

CONTRIBUTING.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ reported the issue. Please try to include as much information as you can. Detail
2323
## Contributing via Pull Requests
2424
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:
2525

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

@@ -36,26 +36,26 @@ To send us a pull request, please:
3636
5. Send us a pull request, answering any default questions in the pull request interface.
3737
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
3838

39-
GitHub provides an additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
39+
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
4040
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
4141

4242

4343
## Finding contributions to work on
44-
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/media2cloud/labels/help%20wanted) issues is a great place to start.
44+
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/media2cloud/labels/help%20wanted) issues is a great place to start.
4545

4646

4747
## Code of Conduct
4848
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
49-
For more information, see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq), or contact
49+
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
5050
[email protected] with any additional questions or comments.
5151

5252

5353
## Security issue notifications
54-
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public GitHub issue.
54+
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.
5555

5656

5757
## Licensing
5858

59-
See the [LICENSE](https://github.com/aws-solutions/media2cloud/blob/main/LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
59+
See the [LICENSE](https://github.com/aws-solutions/media2cloud/blob/master/LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
6060

6161
We may ask you to sign a [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.

NOTICE.txt

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
11
Media2Cloud Solution
22

33
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4-
Licensed under the Apache License Version 2.0 (the "License"). You may not use this file except
5-
in compliance with the License. A copy of the License is located at http://www.apache.org/licenses/
6-
or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS,
7-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. See the License for the
8-
specific language governing permissions and limitations under the License.
4+
5+
Licensed under the Apache License, Version 2.0 (the "License").
6+
You may not use this file except in compliance with the License.
7+
You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software
12+
distributed under the License is distributed on an "AS IS" BASIS,
13+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
See the License for the specific language governing permissions and
15+
limitations under the License.
916

1017
**********************
1118
THIRD PARTY COMPONENTS
1219
**********************
1320
This software includes third party software subject to the following copyrights:
1421

15-
aws-sdk under the Apache License Version 2.0
16-
aws-xray-sdk under the Apache License Version 2.0
22+
AWS SDK under the Apache License Version 2.0
1723
Amazon Cognito Identity SDK for JavaScript under the Apache License Version 2.0
1824
AWS IoT SDK for JavaScript under the Apache License Version 2.0
19-
Elasticsearch Node.js client under the Apache License Version 2.0
2025
VideoJS under the Apache License Version 2.0
2126
JQuery under the Massachusetts Institute of Technology (MIT) license
2227
Bootstrap under the Massachusetts Institute of Technology (MIT) license
@@ -42,21 +47,10 @@ tar-stream under the Massachusetts Institute of Technology (MIT) license
4247
Jimp under the Massachusetts Institute of Technology (MIT) license
4348
PDF.JS under the Apache License Version 2.0
4449
@npcz/magic under the BSD-3-Clause License
45-
node-webvtt under the Massachusetts Institute of Technology (MIT) license
46-
@rollup/stream under the Massachusetts Institute of Technology (MIT) license
47-
glob under the Internet Systems Consortium (ISC) license
48-
rollup under the Massachusetts Institute of Technology (MIT) license
49-
terser under the BSD-2-Clause License
50-
@elastic/elasticsearch under the Apache License Version 2.0
51-
aws4 under the Massachusetts Institute of Technology (MIT) license
52-
mime under the Massachusetts Institute of Technology (MIT) license
53-
rusha under the Massachusetts Institute of Technology (MIT) license
54-
spark-md5 under the Massachusetts Institute of Technology (MIT) license
55-
jimp under the Massachusetts Institute of Technology (MIT) license
56-
pdfjs-dist under the Apache License Version 2.0
57-
canvas under the Massachusetts Institute of Technology (MIT) license
58-
amazon-cognito-identity-js under the Apache License Version 2.0
59-
aws-iot-device-sdk under the Apache License Version 2.0
60-
cropperjs under the Massachusetts Institute of Technology (MIT) license
61-
crypto-js under the Massachusetts Institute of Technology (MIT) license
62-
50+
TinkerPop3 (Gremlin JS) under the Apache License Version 2.0
51+
OpenSearch Node.js client under the Apache License Version 2.0
52+
winkNLP under the Massachusetts Institute of Technology (MIT) license
53+
OWL-ViT (short for Vision Transformer for Open-World Localization) model under the Apache License Version 2.0
54+
CLIP (Contrastive Language-Image Pretraining) under the Massachusetts Institute of Technology (MIT) license
55+
FAISS under the Massachusetts Institute of Technology (MIT) license
56+
BLIP (Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation) under BSD 3-Clause "New" or "Revised" License

0 commit comments

Comments
 (0)