Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sepiropht/auto-subtitle
Automatic subtitles in your videos
https://github.com/sepiropht/auto-subtitle
ffmpeg openai subtitles subtitles-generator whisper
Last synced: 2 months ago
JSON representation
Automatic subtitles in your videos
- Host: GitHub
- URL: https://github.com/sepiropht/auto-subtitle
- Owner: sepiropht
- License: mit
- Created: 2024-03-21T17:38:48.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-03-24T08:27:15.000Z (9 months ago)
- Last Synced: 2024-09-27T06:23:20.573Z (3 months ago)
- Topics: ffmpeg, openai, subtitles, subtitles-generator, whisper
- Language: JavaScript
- Homepage:
- Size: 11.7 KB
- Stars: 9
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Automatic subtitles in your videos
This repository uses `ffmpeg` and [OpenAI's Whisper](https://openai.com/blog/whisper) to automatically generate and overlay subtitles on any video.
## Installation
You'll also need to install [`ffmpeg`](https://ffmpeg.org/), which is available from most package managers:
```bash
# on Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg# on MacOS using Homebrew (https://brew.sh/)
brew install ffmpeg# on Windows using Chocolatey (https://chocolatey.org/)
choco install ffmpeg
```## Usage
After cloning the project and cd into the directory, first install the model for whisper and choose small, the default model,
if you choose a another model you will need to change too when you call the script.
npx whisper-node downloadThe following command will generate a `subtitled/video.mp4` file contained the input video with overlayed subtitles.
node index.mjs /path/to/video.mp4 -o subtitled/
The default setting (which selects the `small` model) works well for transcribing English. You can optionally use a bigger model for better results (especially with other languages). The available models are `tiny`, `tiny.en`, `base`, `base.en`, `small`, `small.en`, `medium`, `medium.en`, `large`.
node index.mjs /path/to/video.mp4 --model medium
Adding `--task translate` will translate the subtitles into English:
node index.mjs /path/to/video.mp4 --task translate
## License
This script is open-source and licensed under the MIT License. For more details, check the [LICENSE](LICENSE) file.