Skip to content

wejesuss/subtitler-clean

Repository files navigation

Subtitler Clean


License Coverage Version



ℹ️ About

This project is used to automatically create subtitles for any audio or video, using an external service (e.g. Youtube Data API).

🌱 Requirements

  • NodeJs v14.0.0
  • FFmpeg v4.1.8
  • Youtube API enabled on Google Cloud Platform
  • Oauth 2.0 ID Client

❓ How to Use

First, you need to enable an external service that will create the subtitles, like Youtube Data API, this project is built trying to follow the principles of clean architecture, so you can implement your adapter of any other service without much difficulty.

If you are interested in creating your implementation to use services other than Youtube API, see main and infra layers.

If you want to use it as it is, the following links may be useful:

After getting the credentials, you should have a JSON file with your credentials, rename it to subtitler-credentials.json, and put it at the root of this project. See env.ts.

I'm assuming you already have NodeJs v14 installed, in addition, you need FFmpeg, install it, and add it to your PATH (as an environment variable). See video.ts and subtitle.ts

After this, run:

npm install
npm start

You should see a URL on your terminal, you need to access it to give your consent to google

You should also see http://localhost:3000, this is the app server location, open it on a browser

🚀 Technologies

This project uses the following technologies

  • NodeJS
  • FFmpeg
  • TypeScript
  • SQLite
  • Express
  • JavaScript
  • HTML
  • CSS

License

This project is under the MIT license. see LICENSE for more details