Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/awslabs/serverless-subtitles
Serverless Subtitles can handle a video input, extract the sound, transcript it and generate different subtitle files for your video.
https://github.com/awslabs/serverless-subtitles
Last synced: 3 months ago
JSON representation
Serverless Subtitles can handle a video input, extract the sound, transcript it and generate different subtitle files for your video.
- Host: GitHub
- URL: https://github.com/awslabs/serverless-subtitles
- Owner: awslabs
- License: apache-2.0
- Created: 2018-05-14T16:18:33.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-04T07:10:36.000Z (about 2 years ago)
- Last Synced: 2024-08-02T07:02:15.555Z (7 months ago)
- Language: Python
- Size: 17.6 MB
- Stars: 127
- Watchers: 13
- Forks: 32
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Serverless Subtitles
Serverless Subtitles is a demonstration project which allows you to prove the
usage of several AWS Products.Original idea by Maxime THOMAS - [email protected]
Open Source Code under [Apache License](LICENSE)## Pitch
You have a video but it's in english and you have difficulties to understand it.
Serverless Subtitles can handle a video input, extract the sound, transcript it
and generate different subtitle files for your video.
When the file is processed, you can access to a preview of the video with
different generated languages.
Examples of the different VTT format files generated :
[EN](./doc/en.vtt) |
[FR](./doc/fr.vtt)## TL;DR
This is working *only* in us-east-1 region so far.
$ cd cloudformation;
$ export USERNAME=
$ ./create-all.sh## AWS Services demonstrated
**Elastic Transcoder** :
Transcode is a service allowing you to transform videos.
We use it to extract the sound of a MP4 file to a MP3 file.https://aws.amazon.com/en/elastictranscoder/
**Transcribe**
Transcribe is a service allowing you to transform speech to text.
We use it to get the transcript of the MP3 file.https://aws.amazon.com/en/transcribe/
**Translate**
Translate is a service allowing you to translate text file in different
languages. We use it to translate subtitle files.https://aws.amazon.com/en/translate/
## Solution Architecture

## Set up
You must define a unique user id with only chars to setup this project.
We do so to avoid Bucket Name collision.
$ cd cloudformation;
$ export USERNAME=
$ ./create-all.shThe script will do the following :
* apply all cloudformation templates from the _cloudformation/templates_
directory
* set up the project :
* uploading the lambdas functions;
* creating mandatory keys in the S3 buckets;
* generating a config file for the static website so JS client can directly
access the resources with good arns.
* when everything is ready (about 2 min), you will get an url that should be
like : http://subtitle.static.<username>.aws.com.s3-website-us-east-1.amazonaws.com/## Set down
$ cd cloudformation
$ ./delete-all.sh## License
This library is licensed under the Apache 2.0 License.