MEDIA2CLOUD IMPLEMENTATION GUIDE - AWS DOCUMENTATION

Page created by Clifford Stevens
 
CONTINUE READING
MEDIA2CLOUD IMPLEMENTATION GUIDE - AWS DOCUMENTATION
Media2Cloud
Implementation Guide
MEDIA2CLOUD IMPLEMENTATION GUIDE - AWS DOCUMENTATION
Media2Cloud Implementation Guide

Media2Cloud: Implementation Guide
Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not
Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or
discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may
or may not be affiliated with, connected to, or sponsored by Amazon.
MEDIA2CLOUD IMPLEMENTATION GUIDE - AWS DOCUMENTATION
Media2Cloud Implementation Guide

Table of Contents
  Welcome ........................................................................................................................................... 1
  Cost .................................................................................................................................................. 2
        Example monthly cost ................................................................................................................ 2
  Architecture overview ......................................................................................................................... 5
  Solution components .......................................................................................................................... 7
        Web interface ............................................................................................................................ 7
        Ingestion workflow ..................................................................................................................... 8
        Analysis workflow ...................................................................................................................... 9
        Error handling .......................................................................................................................... 10
        Proxy files ............................................................................................................................... 11
        Amazon DynamoDB .................................................................................................................. 11
        Amazon OpenSearch Service ..................................................................................................... 11
        Amazon SNS ............................................................................................................................ 11
  Security ........................................................................................................................................... 12
        Server-side encryption .............................................................................................................. 12
        Amazon CloudFront .................................................................................................................. 12
        Amazon OpenSearch Service ..................................................................................................... 12
  Deployment considerations ................................................................................................................ 13
        Limitations .............................................................................................................................. 13
        Search engine sizing ................................................................................................................. 13
        Integrated partners .................................................................................................................. 14
                Cloudfirst.io ..................................................................................................................... 14
                Levels Beyond .................................................................................................................. 14
                Nomad CMS .................................................................................................................... 14
                EditShare ......................................................................................................................... 15
                eMAM ............................................................................................................................. 15
                Evertz ............................................................................................................................. 15
                IMT ................................................................................................................................. 15
                Quantiphi ........................................................................................................................ 15
                Signiant .......................................................................................................................... 15
                Starchive ......................................................................................................................... 16
                TrackIt ............................................................................................................................. 16
        Regional deployments ............................................................................................................... 16
  AWS CloudFormation template .......................................................................................................... 18
  Automated deployment .................................................................................................................... 19
        Deployment overview ............................................................................................................... 19
        Step 1. Launch the stack ........................................................................................................... 19
        Step 2. Upload a video or image file .......................................................................................... 21
        Step 3. Create your face collection ............................................................................................. 22
        Step 4. Advanced search ........................................................................................................... 22
        Step 5. Customizing AI/ML settings ............................................................................................ 22
        Step 6. Viewing statistics .......................................................................................................... 23
  Additional resources ......................................................................................................................... 24
  Update the stack .............................................................................................................................. 25
  File paths in Amazon S3 ................................................................................................................... 26
        Table 1: File types and Amazon S3 file paths ............................................................................... 26
  Ingestion state machine .................................................................................................................... 28
        Ingestion fixity sub-state machine .............................................................................................. 28
        Video ingestion sub-state machine ............................................................................................. 29
        Image ingestion sub-state machine ............................................................................................ 30
        Audio ingestion sub-state machine ............................................................................................. 30
        Document ingestion sub-state machine ....................................................................................... 31
  Analysis state machine ...................................................................................................................... 32
        Video analysis sub-state machine ............................................................................................... 33

                                                                          iii
Media2Cloud Implementation Guide

      Audio analysis sub-state machine ...............................................................................................                 35
      Image analysis sub-state machine ..............................................................................................                  37
      Document analysis sub-state machine .........................................................................................                    38
Main state machine ..........................................................................................................................          39
State machine error handling ............................................................................................................              40
Lifecycle policy ................................................................................................................................      41
Amazon SNS notifications .................................................................................................................              42
      Ingestion state machine notification message: .............................................................................                       42
             Table 2: Ingestion notification key name descriptions ............................................................                         43
      Analysis state machine notification message: ...............................................................................                      46
             Table 3: Analysis notification key name descriptions .............................................................                         48
      State machine error notification message: ...................................................................................                     50
             Table 4: State machine notification key name descriptions .....................................................                            50
Customizing the solution ...................................................................................................................           51
      Considerations .........................................................................................................................         51
             Bucket Region ..................................................................................................................          51
             Bucket CORS settings .......................................................................................................              51
Operational metrics ..........................................................................................................................         52
Source code .....................................................................................................................................      53
Revisions .........................................................................................................................................    54
Contributors ....................................................................................................................................      55
Notices ............................................................................................................................................   56
AWS glossary ...................................................................................................................................       57

                                                                        iv
Media2Cloud Implementation Guide

Extract key details from your media
files in your AWS accounts
   Publication date: January 2019 (last update (p. 54): February 2022)

   Migrating your digital asset management to the cloud allows you to take advantage of the latest
   innovations in asset management and supply chain applications. However, transferring your existing
   video archives to the cloud can be a challenging and slow process.

   The Media2Cloud solution helps streamline and automate the content ingestion process. It sets up
   serverless end-to-end ingestion and analysis workflows to move your video assets and associated
   metadata to the Amazon Web Services (AWS) Cloud. During the migration, this solution analyzes and
   extracts machine learning metadata from your video and images using Amazon Rekognition, Amazon
   Transcribe, and Amazon Comprehend. It extracts tabular information from scanned documents using
   Amazon Textract. This solution also includes a web interface to help you to immediately start ingesting
   and analyzing your content.

   Media2Cloud is designed to provide a serverless framework for accelerating the setup and configuration
   of a content ingestion and analysis process. We recommend that you use this solution as a baseline and
   customize it to meet your specific needs.

   This implementation guide discusses architectural considerations and configuration steps for deploying
   the Media2Cloud solution in the AWS Cloud. It includes links to an AWS CloudFormation template that
   launches, configures, and runs the AWS services required to deploy this solution using AWS best practices
   for security and availability.

   The guide is intended for IT infrastructure architects and developers who have practical experience
   working with video workflows and architecting in the AWS Cloud.

                                                 1
Media2Cloud Implementation Guide
                                        Example monthly cost

Cost
    You are responsible for the cost of the AWS services used while running this solution. The total cost
    for running this solution depends on the amount of data being ingested and analyzed, running the
    solution’s Amazon OpenSearch Service cluster, and the size and length of media files analyzed with
    Amazon Rekognition, Amazon Transcribe, and Amazon Comprehend. As of February 2022, the cost for
    running this solution on 100 hours of videos totaling one terabyte with the default settings in the US
    East (N. Virginia) Region is $2,149.95/month (one time processing) with $104.60/month (recurring)
    for Amazon S3 data storage and Amazon OpenSearch Service search engine.

Example monthly cost
    The following example is for a total file size of one terabyte, which equates to one hundred total hours
    of video content where each video is one hour in duration. The cost is broken down to the following
    categories:

    1. Migration cost – when the video files are uploaded and stored in Amazon S3 Glacier Deep Archive
       storage. The cost is estimated based on the total size of the video files.
    2. Ingestion cost – when the uploaded video files are transcoded with AWS Elemental MediaConvert
       to create low resolution proxy video files plus the ingestion workflow cost composed of AWS Step
       Functions state transitions and AWS Lambda compute runtime, and Amazon DynamoDB Read/Write
       request units.
    3. Analysis cost – when proxy files are analyzed with Amazon Rekognition, Amazon Transcribe, and
       Amazon Comprehend plus the analysis workflow cost composed of AWS Step Functions state
       transitions and AWS Lambda Compute runtime, and Amazon DynamoDB Read/Write request units.
    4. Search engine cost – when the generated metadata are indexed to an Amazon OpenSearch Service
       cluster. The cost depends on the number of dedicated nodes, the number of instance nodes, and the
       amount of Amazon EBS volume.

     AWS service                        Quantity                           Monthly cost

     Migration cost (one terabyte)

     S3 Glacier Deep Archive            $0.00099 per GB / Month * 1024 $1.01
                                        GB

     Ingestion cost (100 hours)

     AWS Elemental MediaConvert         $0.012 per minutes * 100 hours     $72.00
     (SD, AVC with Professional Tier)

     AWS Elemental MediaConvert         $0.003 per minutes * 100 hours     $18.00
     (Audio only)

     AWS Step Functions State           Varies depending on number of      ~$1.05
     transitions, AWS Lambda            state transitions, the Lambda
     Compute unit (MB per 1ms), and     function memory size and
     Amazon DynamoDB Read Write         runtime duration, and read write
     Request Units                      request to DynamoDB tables.

     Analysis cost (100 hours)

                                                   2
Media2Cloud Implementation Guide
                                     Example monthly cost

 AWS service                         Quantity                            Monthly cost

 Amazon Rekognition Celebrity        $0.10 per minute * 100 hours        $600.00
 Recognition

 Amazon Rekognition Label            $0.10 per minute * 100 hours        $600.00
 Detection

 Amazon Rekognition Segment          ($0.05 + $0.05 per minute) * 100    $600.00
 Detection (Shot and Technical       hours
 Cues detections)

 Amazon Transcribe                   $0.024 per minute * 100 hours       $144.00

 Amazon Comprehend Key               $0.0001 per unit                    ~$5.00
 Phrase Extraction
                                     Vary depends on number of
                                     characters extracted from audio
                                     dialogue of the video files

 Amazon Comprehend Entity            $0.0001 per unit                    ~$5.00
 Recognition
                                     Vary depends on number of
                                     characters extracted from audio
                                     dialogue of the video files

 AWS Step Functions State            Varies depending on number of       ~$ 0.30
 transitions, AWS Lambda             state transitions, the Lambda
 Compute unit (MB per 1ms), and      function memory size and
 Amazon DynamoDB Read Write          runtime duration, and read write
 Request Units                       request to DynamoDB tables.

 Search engine cost

 Amazon OpenSearch Service           $0.036 per hour * 0 node            $0.00
 dedicated node (t3.small.search)

 Amazon OpenSearch Service           $0.142 per hour * 1 node            $102.24
 instance node (m5.large.search)

 Amazon OpenSearch Service           $0.135 per GB / month * 10 GB       $1.35
 EBS Volume (GP2)

 Total cost (based on one terabyte with 100 hours of videos)

 Monthly recurring cost              $1.01 + $102.24 + 1.35              $104.60
 (S3 storage and Amazon
 OpenSearch Service cluster)

 One-time processing cost            ($72 + $18) + $1.05 + ($600 +       $2,045.35
 (AWS Elemental MediaConvert,        $600 + $600) + $144 + ($5 + $5)
 Amazon Rekognition, Transcribe,     + $0.30
 Comprehend, AWS Step
 Functions, AWS Lambda)

                                                                 Total: $2, 149.95

We recommend creating a budget through AWS Cost Explorer to help manage costs. Prices are subject
to change. For full details, refer to the pricing webpage for each AWS service used in this solution. For

                                                3
Media2Cloud Implementation Guide
                                 Example monthly cost

customers who want to process large-scale video archives, we recommend that you contact your AWS
account representative for at-scale pricing.

                                           4
Media2Cloud Implementation Guide

Architecture overview
   Deploying the Media2Cloud solution builds the following environment in the AWS Cloud.

   Figure 1: Media2Cloud architecture on AWS

   The AWS CloudFormation template deploys the following infrastructure:

   1. An Amazon Cognito user pool to provide a user directory.
   2. An Amazon API Gateway RESTful API endpoint, which is configured to use AWS IAM authentication.
   3. An Amazon CloudFront distribution that hosts the web application artifacts such as minimized
      JavaScript files and graphics stored in the web bucket.
   4. An AWS Step Functions main state machine which serves as the entry point to the solution’s backend
      ingestion and analysis workflows.
   5. An AWS Step Functions ingestion sub-state machine that orchestrates the ingestion process by media
      file type and generates proxies for ingested media. It uses AWS Elemental MediaConvert for video and
      audio files and open-source tools for image files and documents.
   6. An AWS Step Functions analysis sub-state machine that is responsible for the analysis process. It
      consists of AWS Step Functions that run analysis jobs with Amazon Rekognition, Amazon Transcribe,
      Amazon Comprehend, and Amazon Textract.
   7. Amazon DynamoDB tables to store artifacts generated during the ingestion and analysis processes,
      such as overall status, pointers to where intermediate files are stored, and state machine run tokens.
   8. An Amazon OpenSearch Service cluster, which stores ingestion attributes and machine learning
      metadata, and facilitates customers’ search and discovery needs.
   9. Four Amazon Simple Storage Service (Amazon S3) buckets to store uploaded content, file proxies that
      the solution generates during ingestion, static web application artifacts, and access logs for services
      used.
   10.Amazon CloudWatch event rules that are logged when specific tasks undergo state changes.
   11.Amazon EventBridge used by an internal queue management system where the backlog system
      notifies workflows (state machines) when a queued AI/ML request has been processed.

                                                 5
Media2Cloud Implementation Guide

12.An AWS IoT Core topic that allows the ingestion and analysis workflows to communicate with the
   front-end web application asynchronously through publish/subscribe MQTT messaging.
13.Amazon Simple Notification Service (Amazon SNS) topics to allow Amazon Rekognition to publish job
   status in the video analysis workflow, and to support custom integration with customers’ system, by
   allowing the solution to publish ingest_completed and analysis_completed events.

                                            6
Media2Cloud Implementation Guide
                                          Web interface

Solution components
    The AWS CloudFormation template deploys three logical components: a front-end web application,
    orchestration workflows (ingestion and analysis), and data storage. The web application provides an
    interface for customers to upload media content, and view and manage their archive collection. The
    ingestion and analysis workflows are initiated when a customer uploads content to the application.
    The ingestion workflow orchestrates tasks to ingest source videos, images, audio, and documents in
    a serverless manner. The analysis workflow analyzes and extracts machine learning metadata from
    content. When you upload a media asset to the Amazon S3 ingestion bucket, the ingestion workflow
    creates a standardized proxy file and thumbnails for analysis. The analysis workflow analyzes the content
    and extracts metadata using AWS AI services.

    The Amazon S3 ingestion bucket has an Amazon S3 lifecycle policy that allows the solution to move
    uploaded videos and images to Amazon Simple Storage Service Glacier (Amazon S3 Glacier) for
    archiving. Additionally, the AWS CloudFormation template deploys multiple Amazon DynamoDB tables
    to store metadata about each processed content, such as pointers to where its proxy files are stored
    in Amazon S3 and the types of AI/ML analysis performed on it. The solution also deploys an Amazon
    OpenSearch Service cluster that allows customers to search and discover technical media metadata or
    AI/ML generated metadata.

Web interface
    This solution deploys a web interface that allows you to upload, browse, search video and image files,
    extract metadata, and search and discover content metadata. The web interface leverages Amazon
    Cognito for user authentication and is powered by web assets hosted in the web Amazon S3 bucket.
    Amazon CloudFront provides public access to the solution’s website bucket contents. An Amazon API
    Gateway RESTful API is used for searching results stored in the Amazon OpenSearch Service cluster, and
    AWS IoT Core is used as a publish/subscribe message broker to periodically update workflow progress to
    connected web clients.

    The web interface also provides a human-in-the-loop feature that allows customers to remediate cases
    where Amazon Rekognition cannot detect individuals in a video or cannot provide logical groupings of
    related individuals based on the customer’s specific use case, for example, Olympic athletes for a specific
    year. Using the web interface, customers can create face collections and index people in the video to that
    face collection.

                                                  7
Media2Cloud Implementation Guide
                                       Ingestion workflow

    Figure 2: Media2Cloud web interface

Ingestion workflow
    The ingestion workflow includes AWS Step Functions and AWS Lambda, which orchestrate the specific
    ingestion workflow for a video, image, audio file, or document. When a customer uploads a new media
    file to the Amazon S3 ingestion bucket through the Media2Cloud web interface, the ingestion process
    starts. The workflow generates an asset unique identifier, computes and validates an MD5 checksum, and
    extracts media information such as bitrate, formats, audio channels container format for video, or EXIF
    information such as GPS location, model, and make for image. For video and audio files, the ingestion
    workflow initiates AWS Elemental MediaConvert to create standardized proxy files and thumbnails of
    the media for analysis. For image files, the ingestion workflow uses an open-source tool, EXIFTool to
    extract technical metadata and to create proxy images. Similarly for documents, the ingestion workflow
    generates image proxies for each page in a document. If the media content is in Amazon S3 Glacier or
    S3 Glacier Deep Archive storage, the workflow temporarily restores the media content from archive
    storage to Amazon S3 storage. Proxy files are created and stored in a Amazon S3 proxy bucket, while the
    technical metadata extracted from media content are indexed in an Amazon OpenSearch Service cluster.
    When video ingestion process completes, Amazon SNS sends notifications to subscribed users who might
    use the notification to start other workflows. For example, third party partner solutions, such as Media

                                                 8
Media2Cloud Implementation Guide
                                           Analysis workflow

    Asset Manager (MAM) and Archive System, can subscribe to the Amazon SNS topic and then integrate
    the derived information into their workflows. When an Amazon SNS ingestion notification is received,
    the automated system can import the files into its system. For more information, refer to Amazon SNS
    notifications (p. 42).

    Figure 3: Media2Cloud ingestion workflow

Analysis workflow
    The analysis workflow includes AWS Step Functions and AWS Lambda which leverage Amazon
    Rekognition, Amazon Transcribe, Amazon Comprehend, and Amazon Textract to analyze and extract
    machine learning metadata from the proxy files generated in the ingestion workflow. The Media2Cloud
    solution provides the following preset options for the analysis process when you deploy the template:
    Default, All, and Audio and Text.

    • Default - Activates celebrity recognition, labels, transcription, key phrases, entities, and text processes.
    • All - Activates all detections including celebrity recognition, labels, transcription, key phrases, entities,
      text, faces, face matches, person, moderation, sentiment, and topic processes.
    • Audio and Text - Activates transcription, key phrases, entities, and text processes.

    The web interface also allows the end user to refine the AI/ML settings during the upload process.

    The analysis workflow includes four sub-state machines to process the analysis.

    • The video analysis state machine analyzes and extracts AI/ML metadata from the video proxy using
      Amazon Rekognition video APIs.
    • The audio analysis state machine analyzes and extracts AI/ML metadata from the audio stream of the
      proxy file using Amazon Transcribe and Amazon Comprehend.

                                                      9
Media2Cloud Implementation Guide
                                          Error handling

    • The image analysis state machine analyzes and extracts image metadata with Amazon Rekognition
      image APIs.
    • The document analysis state machine extracts text, images, and data using Amazon Textract.

    To start the analysis workflow, a Lambda function first checks an incoming analysis request and prepares
    the optimal AI/ML analysis option to run, based on the type of media in the request, and the availability
    of specific detections. For video and audio, it transforms the metadata results into WebVTT subtitle
    tracks, chapter markers, key phrases, labels, sentiments, entities, and locations. The analysis workflow
    can also provide customized analysis output if the customer uses Amazon Rekognition custom label
    models, Amazon Transcribe custom vocabularies or Amazon Comprehend custom entity recognition.
    The machine learning metadata results are stored in an Amazon S3 proxy bucket and indexed in an
    Amazon OpenSearch Service cluster. When the analysis is completed, Amazon SNS sends notifications to
    subscribed users. For more information, refer to Amazon SNS notifications (p. 42).

    Figure 4: Media2Cloud analysis workflow

Error handling
    The Media2Cloud solution applies a catch and retry concept for error handling to the state machines
    to improve the resiliency of the solution by retrying the state run multiple times. When the state run
    exhausts the retries, it stops the run and generates an error.

                                                  10
Media2Cloud Implementation Guide
                                           Proxy files

    The solution also uses Amazon CloudWatch Events to respond to run errors caused by the state machines
    (ingestion and analysis). The Lambda error handling function processes the error by analyzing the run
    history of the failed state machine and sends an Amazon SNS notification to subscribers.

Proxy files
    When a new video is uploaded to Amazon S3, the Media2Cloud solution automatically converts the video
    to MP4 format and creates a compressed version of the video known as a proxy file. For this solution,
    proxy files are used to allow users to upload videos of various sizing and formatting, without being
    subject to Amazon Rekognition and Amazon Transcribe quotas. Additionally, the proxy files can be
    used as reference proxies in a Media Asset Manager (MAM) for search, discovery, and proxy editing. The
    solution also generates compressed proxies for audio, images, and documents after extracting technical
    data from these file types during the ingestion process.

Amazon DynamoDB
    The solution deploys the following Amazon DynamoDB tables which are configured to use on-demand
    capacity and encryption at rest using Server-Side Encryption (SSE).

    • A table to store ingestion information
    • A table to store machine learning metadata
    • A table to temporarily store state machine run tokens that are used internally to communicate back to
      specific state machine runs
    • A table to temporarily store service backlog requests, an internal queue management system to
      support large number of AI requests

Amazon OpenSearch Service
    The solution configures an Amazon OpenSearch Service cluster to index ingestion technical metadata
    and analysis metadata. The solution creates indices per type of the machine learning categories such
    as celeb, label, face, faceMatch, segment, moderation, person, textract, transcribe,
    keyphrase, entity, and ingest to allow the end user to fine tune the search results. The indexed
    documents are encrypted at rest. Node-to-node encryption is also activated.

Amazon SNS
    This solution deploys two Amazon SNS topics. One to receive ingestion, analysis, and error notifications
    from the workflows and the other topic is used internally by Amazon Rekognition to send job
    notifications to the state machine run.

                                                 11
Media2Cloud Implementation Guide
                                        Server-side encryption

Security
    When you build systems on AWS infrastructure, security responsibilities are shared between you and
    AWS. This shared model can reduce your operational burden as AWS operates, manages, and controls
    the components from the host operating system and virtualization layer down to the physical security of
    the facilities in which the services operate. For more information about security on AWS, visit the AWS
    Security Center.

Server-side encryption
    AWS highly recommends that customers encrypt sensitive data in transit and at rest. This solution
    automatically encrypts media files and metadata at rest with Amazon Simple Storage Service (Amazon
    S3) Server-Side Encryption (SSE). The solution's Amazon Simple Notification Service (Amazon SNS) topics
    and Amazon DynamoDB tables are also encrypted at rest using SSE.

Amazon CloudFront
    This solution deploys a static website hosted in an Amazon S3 bucket. To help reduce latency and
    improve security, this solution includes an Amazon CloudFront distribution with an origin access identity,
    which is a special CloudFront user that helps restrict access to the solution’s website bucket contents. For
    more information, refer to Restricting Access to Amazon S3 Content by Using an Origin Access Identity.

Amazon OpenSearch Service
    Documents indexed to the Amazon OpenSearch Service cluster are encrypted at rest. Node-to-node
    communication within the cluster is also encrypted.

                                                   12
Media2Cloud Implementation Guide
                                           Limitations

Deployment considerations
Limitations
    Currently, the Media2Cloud solution has the following known limitations:

    • Maximum media duration is limited to four hours - Amazon Transcribe can process files up to four
      hours in length. For more information, refer to Amazon Transcribe Guidelines and Limits.
    • Amazon Rekognition Custom Labels limited to two models - The Amazon Rekognition Custom
      Labels setting is currently limited to running up to two models. For more information, refer to Amazon
      Rekognition Guidelines and Quotas.

    Figure 5: Amazon Rekognition default detection settings

Search engine sizing
    The CloudFormation template provides presets for the end user to configure different Amazon Open
    Search Service clusters: Development and Testing, Suitable for Production Workload, Recommended
    for Production Workload, and Recommended for Large Production Workload.

                                                 13
Media2Cloud Implementation Guide
                                        Integrated partners

    • Development and Testing – This preset creates an Amazon Open Search Service cluster in a single
      Availability Zone with a single m5.large.search data node, 10GB storage, and without dedicated
      primary node.
    • Suitable for Production Workflow – This preset creates an Amazon Open Search Service cluster
      in two Availability Zones with two m5.large.search data nodes, 20GB storage, and three dedicated
      t3.small.search primary nodes.
    • Recommended for Production Workload – This preset creates an Amazon Open Search Service cluster
      in two Availability Zones with four m5.large.search data nodes, 20GB storage, and three dedicated
      t3.small.search primary nodes.
    • Recommended for Large Production Workload – This preset creates an Amazon Open Search Service
      cluster in three Availability Zones with six m5.large.search data nodes, 40GB storage, and three
      dedicated t3.small.search primary nodes.

Integrated partners
    The Media2Cloud solution is designed to provide a standardized architecture to support AWS Partners to
    integrate with content from AWS customers. A standardized architecture helps accelerate the migration
    and supply chain process, and helps Media Asset Manager (MAM) partners provide solutions for their
    customers.

    The Media2Cloud solution integrates with the following AWS Partners:

    Cloudfirst.io
    Cloudfirst.io is an AWS Partner that specializes in large-scale, unstructured, active archive, and content
    storage management solutions for Media and Entertainment. They actively assist clients with legacy
    archive migrations embracing various next-generation technologies. Cloudfirst provides consulting and a
    product called Rapid Migrate that address the challenges of moving content out of existing LTO archives,
    process and move content into Amazon Simple Storage Service (Amazon S3) storage in supported
    content and metadata formats for Media2Cloud to initiate the ingestion process.

    Levels Beyond
    Levels Beyond is an AWS Partner that provides a Media Asset Manager (MAM) service platform called
    Reach Engine. Levels Beyond can be integrated with the Media2Cloud solution through Amazon Simple
    Notification Service (Amazon SNS) and interface with the output to consume the JSON formatted
    metadata to provide customers with a rich search, discovery and management service to manage their
    content archives. Levels Beyond can support customers further by configuring the services to add
    additional metadata faceting as well as automating the processing of content for production, OTT,
    digital publishing and other content related services.

    Nomad CMS
    Nomad CMS is an AWS Partner that supports the ability to bring an OTT metadata enrichment and
    discovery system to existing Amazon S3 assets. Nomad augments Amazon S3 asset storage without
    requiring any changes to the existing asset structure or files themselves. Nomad also automatically
    integrates with Media2Cloud and other AWS AI/ML services. Confidence scores, labels, transcriptions,
    and other AI enrichment is used to tag each asset with appropriate discovery information. Searching and
    publishing activities are used to make the resulting metadata available to custom solutions or in support
    of other integration activities.

                                                 14
Media2Cloud Implementation Guide
                                         EditShare

EditShare
EditShare is an AWS Partner that designs and delivers high-performance, scalable, shared storage
solutions that allow media professionals to create outstanding content. EditShare’s EFSv with FLOW
is a Media2Cloud activated, end-to-end cloud production solution. It supports tiered asset storage,
media management, intelligent archiving, and broad compatibility with creative tools such as the Adobe
Creative Suite. Highlighting only one use case, EFSv and FLOW powered workflows have fast search and
seamless switching between proxy and high-resolution editing right in the video editorial application.
EditShare’s Professional Services team can offer AWS customers seamless workflows designed around
their business processes, leveraging solutions from EditShare and other providers.

eMAM
eMAM is an AWS Partner that powers workflows for production, post-production, sharing, and
distribution: the entire lifecycle of a digital asset. eMAM provides a web interface designed to support
non-technical users, providing a collaboration nexus for editors and designers using integrations into
Apple Final Cut and Adobe Creative Cloud applications. eMAM is flexible, with easy configuration and
scalability for the entire range of use cases and verticals, to provide customers with choice and control.
eMAM provides a range of options for deployment including AWS cloud and hybrid solutions. eMAM is
available as a permanent license or as a subscription in the AWS Marketplace with SaaS/PaaS-Server
options.

Evertz
Evertz is an AWS Partner that provides the Mediator-X, a cohesive, highly scalable, infrastructure
agnostic platform for Media Asset Management, Transmission Playout and Non-Linear delivery
applications. Evertz Mediator-X allows customers to manage their Cloud Content Factory at scale using
a rich feature set of integrations and options under the functional blocks of acquisition, processing,
management, production, playout, and delivery. Utilizing Media2Cloud and other AWS services,
customers can gather and store both metadata and content in highly durable cloud storage, use the
intuitive user-interface to visualize machine learning data alongside other customer-specific metadata or
pull data from API endpoints within the Mediator-X platform.

IMT
IMT is an AWS Partner that provides SoDA, a new way to control data movement between storage
tiers, on-site and in the cloud. Since its inception 13 years ago, IMT has grown to become a leading
next-gen Systems Integrator supporting over 800+ customers in Media & Entertainment, broadcast,
sports, and corporate video in North America. SoDA is IMT’s Intelligent Data Management Software that
can be leveraged as a simple data migration tool to help customers move off from legacy archives, as
well as broker data movement to and from the cloud to various endpoints. Designed to work with all
types of storage—on-premises, hybrid, and AWS—users can define rich, flexible policies or manually
transfer data. SoDA plugs into multiple MAM solutions to empower end users to control their own data
movement.

Quantiphi
Quantiphi is an AWS partner that provides an AI-powered Media Intelligence solution that helps media
and entertainment customers unlock hidden data potential to curate better content, enhance customer
targeting, and implement effective channel strategies to transform their customer experience.

Signiant
Signiant is an AWS Partner that offers fast and secure movement of large data sets over any IP network.
Signiant provides foundational technology that allows content exchange within and between companies

                                               15
Media2Cloud Implementation Guide
                                              Starchive

    of all sizes to connect the global media supply chain. The Signiant Software-Defined Content Exchange
    (SDCX) SaaS platform provides people and systems with access to media assets located across disparate
    and distributed storage repositories # and lays the groundwork for innovations that extend beyond
    file transfer. Signiant’s proprietary transport technology is the foundation upon which Signiant was
    built. Signiant’s continued investment in this area has allowed them to remain a leader in the category
    for more than 15 years, and their software is relied upon to move petabytes of high-value content
    every day. Each Signiant product capitalizes on their advanced acceleration technology to transfer
    content up to 100 times faster than standard Internet transmission speeds, and Signiant technology is
    capable of moving any size of file or data set over any IP network, while taking advantage of all available
    bandwidth.

    Starchive
    Starchive is an AWS Partner that offers a command center for today’s content producers. Starchive
    brings the power of digital asset management to the entrepreneur and small/medium business with the
    elegance of a modern consumer SaaS application and at a fraction of the cost of comparable solutions.
    Starchive helps users find the signal in the noise of their digital chaos and get back to work building
    their brand, business, and bottom line. In a world where every individual has the power to create and
    the opportunity to consume digital media 24/7—every business has the mandate to be a content
    powerhouse to thrive. Learn more about how Starchive used Media2Cloud to help Essence Magazine
    support their 50-year anniversary by improving the accessibility to their historical archive.

    TrackIt
    TrackIt is an AWS Advanced Consulting Partner with decades of experience in the Media & Entertainment
    industry and a wealth of cloud technology design and deployment work performed for many media-
    centric companies. TrackIt has experience building advanced pipelines that include AI/ML tools and
    integration with asset management systems, along with transcoding, rendering, VOD, OTT, live
    streaming, cloud-based editorial, and collaborative online tools. Learn more about how Trackit used
    Media2Cloud to help Jukin Media improve the utility of their archive.

Regional deployments
    This solution can be deployed to any AWS Region. If a service, such as Amazon Rekognition, is not
    currently available in the Region, the solution reduces its functionality. Analysis features such as celebrity
    recognition, label detection, and face detection will be turned off.

    We recommend for you to launch the solution in an AWS Region where Amazon Rekognition, Amazon
    Transcribe, and Amazon Comprehend are available. For the most current availability of AWS services by
    Region, refer to the AWS Regional Services List.

    As of February 2022, this solution is fully supported in the following Regions:

     Region ID                                              Region name

     us-east-1                                              US East (N. Virginia)

     us-east-2                                              US East (Ohio)

     us-west-2                                              US West (Oregon)

     ap-south-1                                             Asia Pacific (Mumbai)

     ap-northeast-2                                         Asia Pacific (Seoul)

                                                   16
Media2Cloud Implementation Guide
                       Regional deployments

Region ID                              Region name

ap-southeast-2                         Asia Pacific (Singapore)

ap-southeast-2                         Asia Pacific (Sydney)

ap-northeast-1                         Asia Pacific (Tokyo)

eu-central-1                           Europe (Frankfurt)

eu-west-1                              Europe (Ireland)

eu-west-2                              Europe (London)

                               17
Media2Cloud Implementation Guide

AWS CloudFormation template
   This solution uses AWS CloudFormation to automate the deployment of the Media2Cloud in the
   AWS Cloud. It includes the following AWS CloudFormation template, which you can download before
   deployment:

                      media2cloud.template: Use this template to launch the solution and all associated
   components. The default configuration deploys Amazon Simple Storage Service (Amazon S3) buckets,
   an Amazon OpenSearch Service cluster, AWS Lambda functions, AWS Step Functions state machines,
   an Amazon API Gateway RESTful API, an Amazon CloudFront distribution, Amazon Cognito user pools,
   Amazon Simple Notification Service (Amazon SNS) topics, AWS IoT Core, and Amazon DynamoDB tables.
   You can also customize the template based on your specific needs.

                                              18
Media2Cloud Implementation Guide
                                         Deployment overview

Automated deployment
    Before you launch the automated deployment, please review the architecture, configuration, and other
    considerations discussed in this guide. Follow the step-by-step instructions in this section to configure
    and deploy the Media2Cloud solution into your account.

    Time to deploy: Approximately 25 minutes

Deployment overview
    The procedure for deploying this architecture on AWS consists of the following steps. For detailed
    instructions, follow the links for each step.

    Step 1. Launch the stack (p. 19)

    • Launch the AWS CloudFormation template into your AWS account.
    • Enter values for required parameters: Stack Name and Email Address.
    • Review the other template parameters, and adjust if necessary.

    Step 2. Upload a video or image file (p. 21)

    • Upload a file using the web interface to begin the ingestion and analysis workflows.

    Step 3. Create your face collection (p. 22)

    • Index faces to create your face collection to improve face analysis results.

    Step 4: Advanced search (p. 22)

    • Find the specific moment you are looking for.

    Step 5: Customizing AI/ML settings (p. 22)

    • Configure the AI/ML services that you want to use in your analysis.

    Step 6: Viewing statistics (p. 23)

    • A summary of all content in your collection.

Step 1. Launch the stack
    This automated AWS CloudFormation template deploys the Media2Cloud solution in the AWS Cloud.
        Note
        You are responsible for the cost of the AWS services used while running this solution. For more
        details, visit the Cost (p. 2) section in this guide, and refer to the pricing webpage for each AWS
        service used in this solution.

                                                   19
Media2Cloud Implementation Guide
                                  Step 1. Launch the stack

1. Sign in to the AWS Management Console and select the button to launch the media2cloud AWS
   CloudFormation template.

  Alternatively, you can download the template as a starting point for your own implementation.
2. The template launches in the US East (N. Virginia) Region by default. To launch the solution in a
   different AWS Region, use the region selector in the console navigation bar.
3. On the Create stack page, verify that the correct template URL shows in the Amazon S3 URL text box
   and choose Next.
4. On the Specify stack details page, assign a name to your solution stack.
5. Under Parameters, review the parameters for the template, and modify them as necessary. This
   solution uses the following parameters.

   Parameter                          Default                            Description

   Email                                                 Email address of the user that
                                                                         will be created in the Amazon
                                                                         Cognito identity pool and
                                                                         subscribed to the Amazon SNS
                                                                         topic. Subscribed users will
                                                                         receive ingestion, analysis,
                                                                         labeling, and error notifications.

                                                                         After launch, two emails will
                                                                         be sent to this address: one
                                                                         with instructions for logging in
                                                                         to the web interface and one
                                                                         confirming the Amazon SNS
                                                                         subscription.

   Price Class                        Use Only U.S., Canada              A dropdown box with price
                                      and Europe                         classes for the edge location
                                                                         from which Amazon CloudFront
                                                                         serves your requests. Choose
                                                                         Use Only U.S., Canada
                                                                         and Europe; Use U.S.,
                                                                         Canada, Europe, Asia
                                                                         and Africa; or Use All
                                                                         Edge Locations. For more
                                                                         information, refer to Choosing
                                                                         the price class.

   Amazon OpenSearch Service          Development and Testing            A drop-down box with four
   Cluster Size                                                          Amazon OpenSearch Service
                                                                         cluster sizes: Development
                                                                         and Testing, Suitable for
                                                                         Production Workloads,
                                                                         Recommended for
                                                                         Production Workloads, and
                                                                         Recommended for Large
                                                                         Production Workloads.

                                              20
Media2Cloud Implementation Guide
                                  Step 2. Upload a video or image file

       Parameter                           Default                            Description

       Analysis Feature(s)                 Default                            A drop-down box with nine
                                                                              presets: Default, All, Video
                                                                              analysis, Audio analysis,
                                                                              Image analysis, Document
                                                                              analysis, Celebrity
                                                                              recognition only, Video
                                                                              segment detection only,
                                                                              and Speech to text only.
                                                                              For more information about
                                                                              the presets, refer to Analysis
                                                                              workflow (p. 9).

       (Optional) User Defined                                 If you have an existing bucket
       Amazon S3 Bucket for ingest                                            that you would like to store
                                                                              uploaded contents, specify the
                                                                              bucket name. Otherwise, leave
                                                                              it blank to auto create a new
                                                                              bucket.

       (Optional) Allow autostart on       NO                                 A drop-down box to specify if
       ingest S3 bucket                                                       you would like to automatically
                                                                              start workflow when directly
                                                                              upload assets to Amazon S3
                                                                              ingestion bucket.

    6. Choose Next.
    7. On the Configure stack options page, choose Next.
    8. On the Review page, review and confirm the settings. Be sure to check the boxes acknowledging that
       the template will create IAM resources.
    9. Choose Create stack to deploy the stack.

      You can view the status of the stack in the AWS CloudFormation console in the Status column. You
      should receive a CREATE_COMPLETE status in approximately 25 minutes.

Step 2. Upload a video or image file
    After the solution successfully launches, you can start uploading video or image files for processing.
    The solution sends two emails: one with the subscription confirmation for the Amazon SNS topic to
    send ingestion, analysis, labeling, and error notifications, and one with instructions for signing into the
    solution’s provided web interface.

    1. In the M2CStatus email, select Confirm subscription to subscribe to the Amazon SNS topic.
    2. In the second email, follow the instructions to sign in to the website. You will be prompted to change
       the password the first time you sign in.
    3. Choose Sign in on the upper right corner of the page and sign in using your recently created
       password.
    4. Navigate to the Upload tab.
    5. Drag and drop your files to the Upload Video box, or choose the Browse Files button to upload a
       video or image file. Once the files are uploaded, choose Quick upload, or select Next to Start Upload.

      Once the ingestion process is completed, a thumbnail image of the video or image is created. You can
      hover over the thumbnail image and select Play now to view the media file.

                                                   21
Media2Cloud Implementation Guide
                                   Step 3. Create your face collection

Step 3. Create your face collection
     The web interface allows you to create your own Amazon Rekognition face collection and index and store
     faces in the collection to improve the analysis results.

     1. In the web interface select FaceCollection in the top navigation.
     2. Type in the name of the face collection in the blank field and choose Create New Collection.
     3. In the web interface, hover over a created video or image and choose Play.
     4. Choose the Play button again and then choose Pause once you find a face in the content.
     5. Move the toggle by Snapshot Mode to the right to display a bounding box.
     6. Adjust the size of the bounding to fit tightly over the face.
     7. Type the name of the person in the Name box and select your Face Collection from the dropdown
        menu.
     8. Once finished, choose the Index Face button.
     9. Repeat steps 4-8 until you have identified all of the faces.
     10.After the faces are indexed, choose Re-analyze to analyze the video or image using the newly indexed
        faces in your face collection so that all unidentified faces are recognized and indexed.

Step 4. Advanced search
     Included in the web interface is the ability to search for specific moments across the analyzed content. A
     user has the ability to put in specific search terms and have timestamped results returned.

     1. In the web interface select Collection in the top navigation bar.
     2. On the collection page, there is a search bar in the top right-hand corner of the page. Deselect any of
        the attributes that you want excluded from your search and then type a term or phrase in the Search
        box and hit submit.
     3. Assets matching the search term will be presented under the Search Results section of the page and
        highlight where there was a match to your search term.
     4. Choose the file thumbnail in the search results to be taken to that asset.

Step 5. Customizing AI/ML settings
     In this version of Media2Cloud, users have a lot of flexibility on the AI/ML services that are used. They
     also have the ability to configure those services for their use cases.

     1. In the web interface select Settings from the top navigation bar.
     2. In the Amazon Rekognition Settings section:
       • You can set the minimum confidence level that you want results from.
       • Toggle on or off specific detection types.
       • Select the face collection that you want to use when analyzing assets.
       • When using Amazon Rekognition to detect text on screen, you can select the specific regions of the
         screen for analysis.
       • If you have created a custom AI/ML model using Amazon Rekognition Custom Labels, you can use
         that model when analyzing assets.
       • The Frame Based Analysis section give the flexibility to switch from the Amazon Rekognition Video
         API to the Amazon Rekognition Image API. When you toggle the Frame Based Analysis button on,
         you can determine the frequency that frames are analyzed.

                                                   22
Media2Cloud Implementation Guide
                                        Step 6. Viewing statistics

     3. In the Amazon Transcribe settings section:
        • Select the language that you want Amazon Transcribe to create a transcript of the video in. For a
           complete list of supported languages, refer to Amazon Transcribe Supported Languages.
        • If you have created a Custom Vocabulary to improve the accuracy of Amazon Transcribe, you can
           select that model for the analysis of your assets.
       • If you have created a Custom Language Model you can activate that model for the analysis of your
         assets.
     4. In the Amazon Comprehend settings section:
        • Activate Entity Detection, Sentiment Analysis, and Key phrase Detection.
        • If you have built a Custom Entity Recognizer to identify custom entities for your business needs,
           you can activate that as well.
     5. In the Amazon Textract settings section, you can activate the service to extract text from documents
        that you are analyzing.

Step 6. Viewing statistics
     Once content has been analyzed, the web interface has a way to show an aggregation of the metadata
     generated by the AI/ML Services. This helps to answer the question of what the most popular or
     frequent tags and detections are in the library.

     1. In the web interface select Stats from the top navigation bar.
     2. Pie charts show the overall and categorized statistics of your content collection.

                                                    23
Media2Cloud Implementation Guide

Additional resources
   AWS services

   • AWS CloudFormation                           • Amazon API Gateway
   • AWS Lambda                                   • Amazon OpenSearch Service
   • Amazon Rekognition                           • AWS Step Functions
   • Amazon Cognito                               • Amazon CloudFront
   • Amazon Simple Storage Service                • Amazon DynamoDB
   • Amazon Transcribe                            • AWS IoT Core
   • Amazon Simple Notification Service            • AWS Elemental MediaConvert
   • Amazon Comprehend                            • Amazon EventBridge

                                          24
Media2Cloud Implementation Guide

Update the stack
   Media2Cloud Version 3 can be deployed side-by-side with your previously deployed Media2Cloud
   versions (Version 2 and Version 1). However, this version is incompatible with previous versions due to
   changes of the Amazon DynamoDB tables and Amazon OpenSearch Service indices used by the solution.

   To migrate from your existing Media2Cloud version (Version 2 or Version 1) to this version, contact your
   AWS account representative for assistance.

                                                25
Media2Cloud Implementation Guide
                             Table 1: File types and Amazon S3 file paths

File paths in Amazon S3
    When a customer deploys Media2Cloud, the solution creates four different Amazon Simple Storage
    Service (Amazon S3) buckets to store assets:

    • A web bucket that stores the static HTML, CSS, and JavaScript files for the web interface.
    • An ingestion bucket that stores your original source files.
    • A proxy bucket that stores all the files and assets generated by the solution, including:
      • Video proxies and thumbnail images generated by AWS Elemental MediaConvert
      • MediaInfo XML output generated by MediaInfo
      • JSON documents generated by EXIFTool
      • Machine learning metadata generated by AWS AI services
      • Additional WebVTT tracks and analysis JSON documents created by the solution
    • A logs bucket that stores all access logs for the web bucket, the ingestion bucket, the proxy bucket,
      and Amazon CloudFront standard logs.

Table 1: File types and Amazon S3 file paths
     File type                                            File path

     Web static assets                                    S3:///

     Uploaded file                                         S3:////

     Technical metadata such as mediainfo and EXIF        S3://///
     results                                              mediainfo/

                                                          S3://///
                                                          imageinfo/

     Proxy files, thumbnails generated by                  S3://///
     MediaConvert                                         transcode/proxy S3://///transcode/aiml

                                                          S3://///
                                                          transcode/frameCapture

     All AI/ML analysis results                           S3://///
                                                          raw/

     Raw AI/ML analysis results from Amazon AI            S3://///
     services                                             raw//comprehend/

                                                          S3://///
                                                          raw//rekognition/

                                                          S3://///
                                                          raw//transcribe/

                                                          S3://///
                                                          raw//textract/

                                                  26
You can also read