Live Streaming with Automated Multi-Language Subtitling is a solution that automatically generates multi-language subtitles for live streaming video content in real time. You can use this solution as-is, customize the solution to meet your specific use case, or work with AWS Partner Network (APN) partners to implement an end-to-end subtitling workflow.
Based on the Live Streaming on AWS solution, the implementation adds machine learning services Amazon Transcribe and Amazon Translate into the mix. The solution enables the last-mile addition of automatically generated subtitles to live over the top (OTT) channels without having to hire a dedicated transcriptionist, which could be too costly to make subtitles available in general. The solution is available as open source for anyone who wants to expand the basic architecture, adding custom features to fit the solution into their workflow. The GitHub repository can be found here.
Additional AWS Solutions offerings are available on the AWS Solutions webpage, where customers can browse solutions by product category or industry to find AWS-vetted, automated, and turnkey reference implementations that address specific business needs.
Note: The solution described in this blog post uses Amazon Transcribe Streaming, AWS MediaLive, and AWS MediaPackage, which are currently available only in specific AWS Regions. Therefore, you must launch this solution in an AWS Region where all of these services are available. For the most current AWS service availability by Region, see AWS service offerings by region.
Step 1: Deploy the Live Streaming with Automated Multi-Language Subtitling solution
Sign into the AWS Management Console and then head over to the Live Streaming with Automated Multi-Language Subtitling Solution page. Choose Launch solution in the AWS Console.
Step 2: Launch the AWS CloudFormation template
The stack can also be launched with the Launch Solution in the documentation guide.
Step 3: On the Select Template page, choose Next
Step 4: Input information on the Specify Details page
- Choose a name for your stack.
- Choose what input format you want to use.
- If you are using HLS pull put in your input URLs. Example: https://s3.amazonaws.com/yourbucketname/index.m3u8
- Choose the languages you want as subtitles. For example if you want English, Spanish, and German you would enter: en, es, de.
The supported output subtitle languages are listed here. For information on the inputs see the documentation guide.
Step 5: On the Options page, choose Next
Choose the Next button on the options page.
Then, check that you accept that AWS CloudFormation will create IAM resources and choose Create.
Note that this CloudFormation takes about 20 minutes to deploy.
Step 6: Solution should show deployed now
You should see CREATE_COMPLETE in the status area.
The screenshot of the solution deployed page should say CREATE_COMPLETE under the status area for the solution.
After waiting a minute for the AWS MediaLive channel to start you can copy and paste the HLSEndpoint URL ending in m3u8 into Safari or an online test player, such as Video.JS.
I took the HLS stream output ending in m3u8 and pasted it into my Safari browser search bar. The subtitle selector on the bottom right allows a user to select different languages for the subtitles.
We have shown you how easy it is to set up your Live Stream with automatically generated subtitles from Amazon Transcribe. For more information about AWS Media Services or this solution follow these links:
About the Author
Eddie Goynes is a Technical Marketing Engineer for AWS Elemental. He is an AWS Cloud and Live Video Streaming technical expert.