Live Streaming with Automated Multi-Language Subtitling
Live Streaming with Automated Multi-Language Subtitling

Automated Deployment

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

Time to deploy: Approximately 20 minutes

Launch the Stack

This automated AWS CloudFormation template deploys the Live Streaming with Automated Multi-Language Subtitling solution on the AWS Cloud.

Note

You are responsible for the cost of the AWS services used while running this solution. See the Cost section for more details. For full details, see the pricing webpage for each AWS service you will be using in this solution.

  1. Log in to the AWS Management Console and click the button below to launch the live-streaming-with-automated-multi-language-subtitling AWS CloudFormation template.

    
                                Live Streaming with Automated Multi-Language Subtitling launch button

    You can also download the template as a starting point for your own implementation.

  2. The template is launched in the US East (N. Virginia) Region by default. To launch this solution in a different AWS Region, use the region selector in the console navigation bar.

    Note

    This solution uses the Amazon Translate, Amazon Transcribe, AWS Elemental MediaLive, MediaPackage, and MediaConnect services, which are currently available in specific AWS Regions only. Therefore, you must launch this solution in an AWS Region where these services are available. For the most current service availability by region, see the AWS service offerings by region.

  3. On the Select Template page, verify that you selected the correct template and choose Next.

  4. On the Specify 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 default values.

    Parameter Default Description
    Deployment Options
    Source Code <Requires input>

    Choose whether to deploy the solution using NodeJS or Python source code for the AWS Lambda-backed custom resource

    Note

    There is no difference in functionality between the NodeJS version and the Python version.

    Use CloudFront CDN for MediaPackage True Choose whether to put Amazon CloudFront in front of MediaPackage endpoints. We recommend putting CloudFront in front of your MediaPackage endpoints.
    Live Streaming Source
    Source Input Type URL_PULL Specify the input type for AWS Elemental MediaLive: RTP_PUSH, RTMP_PUSH, RTMP_PULL, URL_PULL, or MEDIACONNECT
    Source Codec AVC Specify the codec for the source stream for MediaLive: AVC, HEVC, or MPEG2
    Encoding Profile 720 Specify the encoding profile to use with MediaLive
    Start MediaLive Channel True Choose whether to start the MediaLive channel when the solution is created.
    PUSH Source Input Types
    Input CIDR Block <Requires input> Specify the CIDR block for the MediaLive security group for PUSH Input Types
    PULL Source Input Types
    Primary Source URL https://d15an60oaeed9r.cloudfront.net/live_stream_v2/sports_reel_with_markers.m3u8 The primary source URL for the live feed. By default, this parameter contains the primary demo source URL.
    Primary Source Username <Optional input> If authentication is required to access the source, enter the username
    Primary Source Password <Optional input> If authentication is required to access the source, enter the password
    Secondary Source URL https://d3h5srgm8b0t83.cloudfront.net/live_stream_v2/sports_reel_with_markers.m3u8 The secondary (backup) source URL for the live feed. By default, this parameter contains the secondary demo source URL.
    Secondary Source Username <Optional input> If authentication is required to access the secondary source, enter the username
    Secondary Source Password <Optional input> If authentication is required to access the secondary source, enter the password
    MediaConnect Source Input Types
    Primary MediaConnect Flow ARN <Optional input> The primary source MediaConnect flow for the live feed. You can create the flow in the MediaConnect console. To provide redundancy, create the primary and secondary flows in different Availability Zones.
    Secondary MediaConnect Flow ARN <Optional input> The secondary source MediaConnect flow for the live feed. You can create the flow in the MediaConnect console. To provide redundancy, create the primary and secondary flows in different Availability Zones.
    Real Time Subtitling
    Turn on Subtitle Generation True Choose whether to generate subtitles with the live stream
    Languages en List of language codes for the subtitle language(s). Note that the format is comma separated (for more than one value). For example, en, es, fr, de.
    Custom Vocabulary <Optional input>

    Specify a name of an existing custom vocabulary for Amazon Transcribe to use. For more information, see Custom Vocabularies in the Amazon Transcribe Developer Guide.

    Note

    Your custom vocabulary must be located in the US East (N. Virginia) Region.

  6. Choose Next.

  7. On the Options page, choose Next.

  8. On the Review page, review and confirm the settings. Be sure to check the box acknowledging that the template will create AWS Identity and Access Management (IAM) resources.

  9. Choose Create to deploy the stack.

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

Note

In addition to the primary AWS Lambda function, this solution includes the solution-helper Lambda function, which runs only during initial configuration or when resources are updated or deleted.

When running this solution, you will see both Lambda functions in the AWS Lambda console, but only the primary Lambda function is regularly active. However, do not delete the solution-helper function as it is necessary to manage associated resources.

Once the live streaming event is complete, terminate the resources created by this solution to help ensure that you don’t incur unnecessary AWS charges.

On this page: