live-streaming-with-automated-multi-language-subtitling | Live Streaming with Automated Multi | AWS library
kandi X-RAY | live-streaming-with-automated-multi-language-subtitling Summary
kandi X-RAY | live-streaming-with-automated-multi-language-subtitling Summary
The included AWS CloudFormation template deploys the following AWS services:. In order to get machine generated subtitles into AWS MediaPackage we use Amazon CloudFront as a proxy between AWS MediaLive and AWS Mediapackage. An HLS video stream with empty WebVtt files passes from AWS MediaLive to Amazon CloudFront with Lambda@Edge inserting subtitle text into just WebVTT files. After passing through Amazon CloudFront the video, audio, and manifest files are passed through to the AWS MediaPackage ingest url. The Amazon CloudFront endpoint that is acting as a proxy passes through all video files, manifests, and only invokes a Lambda@Edge function with a regex when a WebVTT subtitile file is detected passing from AWS MediaLive to AWS MediaPackage. Additionally AWS MediaLive outputs an audio-only User Datagram Protocol (UDP) stream to an Amazon ECS container. This container transmits an audio stream to Amazon Transcribe Streaming, which receives the text contained in the stream as asynchronous responses and writes each text response to an Amazon Dynamo DB table. This Amazon ECS container also sends Amazon SNS notifications to an Amazon Translate Lambda function, which creates translated subtitles that are written to the same Amazon Dynamo DB table. Each WebVTT file invokes the Lambda@Edge function, which inserts subtitles and then the WebVTT file passes onto MediaPackage. MediaLive provides the authentication headers. AWS MediaPackage has three endpoint preconfigured Dash, HLS, and Microsoft Smooth. An Amazon CloudFront distribution is configured to use the MediaPackage custom endpoints as its origin. This CloudFront URL is what is provided to the viewers of the live steam.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Process AWS Lambda function
- Get environment variables from the request
- Retrieve the latest caption for a given pipeline
- Put Dynamo object to DynamoDB
- Make a dictionary of all available translations
- Print an exception
- Convert string to boolean
- Put all transcripts into dynamo table
- Calculate metrics for a given duration
- Put metrics for a given pipe
- Adds metrics for the given duration
- Check if the DEBUG environment variable is set
live-streaming-with-automated-multi-language-subtitling Key Features
live-streaming-with-automated-multi-language-subtitling Examples and Code Snippets
Community Discussions
Trending Discussions on live-streaming-with-automated-multi-language-subtitling
QUESTION
I'm not sure if here is the best place for asking, but let me try.
I've created a stack on AWS for live streaming with subtitles, based on this template: https://github.com/awslabs/live-streaming-with-automated-multi-language-subtitling
To be able to test it I need a valid m3u8 url as input.
So I started looking around to find an easy way to broadcast myself and get a m3u8 link, Twitch appeared to be the simplest way to get it.
Cool, but how do I get the m3u8 link? After searching a bit I found a python script
Tried it...and failed, reading the comments I found a way to change the code and make it work... apparently
Cool, now I got my url
Added it to AWS, didn't work, this player failed to load with an error message: The media could not be loaded, either because the server or network failed or because the format is not supported.
After some attempts, restarting channels and so... somehow it started working, cool, maybe I just had to wait a bit? No idea how it started working.
Ok, tested a bit and it was working nicely, apart from a bit of lag So, I decided to create another CloudFormation stack, now including CloudFront.
Did the same proceedings, and kept the working one as a fallback
But can't make it work again, in any of these
I re-ran the script to get the new twtich link, didn't work I have tried to get any live streaming from youtube and extract it using youtube-dl
Got a certificate error: ERROR: Unable to download webpage: (caused by URLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:841)'),))
Tried a python utility called livestramer Got another error: Unable to open URL: https://api.twitch.tv/api/channels/mychannel/access_token.json (400 Client Error: Bad Request for url: https://api.twitch.tv/api/channels/mychannel/access_token.json?as3=t)
Tried a bunch of solutions, adding client-id header, didn't work
Anyway, the former script seems to work and give me a m3u8 link, but it doesn't work at all now
Adding the no-cloudfront link, it seems that it is loaded, but I only get a black screen. The Cloudfront one fails even to load, giving the same error as before
Does anyone know how to fix it? Or maybe another website that I can easily broadcast myself and retrieve the m3u8 urls?
...ANSWER
Answered 2019-Aug-26 at 15:22I'have used streamlink instead and it works like charm
How to use to retrieve the m3u8 url:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install live-streaming-with-automated-multi-language-subtitling
You can use live-streaming-with-automated-multi-language-subtitling like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page