DEV Community

Cover image for Captio: Video Subtitles in Different Languages
Asaolu Elijah 🧙‍♂️
Asaolu Elijah 🧙‍♂️

Posted on • Edited on

Captio: Video Subtitles in Different Languages

Overview of My Submission

Language has always been a barrier, but now, with recent technologies, we can translate live text in real time.

However, this does not apply to video; it is still quite difficult to do so. And I'm sure we've all been in a position where we've seen a video clip on the internet (usually with a lot of interaction) and couldn't get the gist of it because it wasn't in our native language. Captio solves this barrier.

Captio is a powerful bot that will generate subtitle for video files in any preferred language. Available via the following medium:

  • Twitter Bot - Twitter is inarguably one of the most used social media platform in the world, and it does make sense that a technology like this one is available on there.
    Check out caption on Twitter.

  • CLI Application - Captio is also available as a CLI application, so that you are able to generate translated subtitles offline.

Submission Category:

Accessibility

Link to Code on GitHub

Captio: Video Subtitles in Different Languages



Twitter bot x Cli program to generate subtitles in different languages.

Read article on Dev.to

Installation

git clone https://github.com/AsaoluElijah/generate-sub captio
cd captio
npm install
Enter fullscreen mode Exit fullscreen mode

API Keys

Once the installation is completed, make sure to rename .env.example to .env and replace all the Twitter API keys and the Deepgram API key with yours.

Learn how to retrieve your Twitter API keys here, and Deepgram's here too.

Usage

Cli

npm run start:cli video="path/to/video" language='spanish'
# Replace spanish with preferred language.
Enter fullscreen mode Exit fullscreen mode

Twitter Bot

npm start:bot
Enter fullscreen mode Exit fullscreen mode

License

MIT




How it works

Behind the seen, Captio uses a lot of open source API to perform it's operation, the diagram below sums it up pretty much.

How it works

Nevertheless, you can checkout the full information on how it works here

Usage

On twitter, to let captio generate translated subtitle for a video tweet, you'll only need to reply the tweet mentioning captio (@generate_sub) like below:

Captio usage on twitter

Top comments (6)

Collapse
 
jonrandy profile image
Jon Randy 🎖️

Unfortunately, for a lot of content - providing translated subtitles really isn't as simple as doing a direct language translation. If you do that, many subtleties and nuances are going to be 'lost in translation'. In an awful lot of cases, a skilled human interpreter is needed - they will use knowledge of local cultures, idioms, etc. to provide a much better subtitle in the target language.

Collapse
 
asaoluelijah profile image
Asaolu Elijah 🧙‍♂️

I totally agree with your view, but it's still fun and exciting to see what we can do with our current technology.

Collapse
 
mtwn105 profile image
Amit Wani

This is remarkable. I also had similar idea but couldn't find a way to add sub titles to vidoes. Amazing

Collapse
 
asaoluelijah profile image
Asaolu Elijah 🧙‍♂️

Thanks for the feedback Amit.
I’ve used fluent-ffmpeg for adding subtitles to video.

Collapse
 
bekahhw profile image
BekahHW

This is really cool! I'd love to see you add directions for what needs to go in the .env file in your repo.

Collapse
 
asaoluelijah profile image
Asaolu Elijah 🧙‍♂️

Hi Bekah, thank you for the wonderful feedback :)

I've updated the README file to include the directions. You can check it out here