Skip to main content

Automatically subtitle any video spoken in any language to a language of your choice.

Project description

Subtitler

Automatically subtitle any video spoken in any language to a language of your choice.

Models used:

Tools used:

  • ffmpeg

Please don't forget to star the repository if you find it useful or educational!

Before:

https://github.com/extremq/subtitler/assets/45830561/49f6ecce-cfdc-4f1c-97eb-07a36ac841c9

After (in Romanian - model_type=medium, language_model_type=base):

https://github.com/extremq/subtitler/assets/45830561/20bc5169-0ce3-47cd-adb7-15d75daf27f4

Setup

Install the requirements.txt file.

pip install -r requirements.txt

Install ffmpeg:

# Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg

# MacOS
brew install ffmpeg

# Windows using Chocolatey https://chocolatey.org/
choco install ffmpeg

Quick guide

Example usage for adding subtitles and translating them in Romanian:

You only need to specify the language you want the subtitles to be in, the program will handle the rest of the work.

from src.transcriber import Transcriber

# I strongly recommend using the "medium" model_type.
Transcriber.transcribe("soldier.mp4", target_language="ro", model_type="medium", language_model_type="base", device="cuda")

You can also use the Translator class from translator.py if you just want to translate some text.

Example usage for translating from English to Romanian:

from src.translator import Translator

print(Translator.translate("Hi!", target_language="ro", source_language="en", device="cuda"))

If you have generated a .srt file and just want to add subtitles:

from src.video_utils import create_video_with_subtitles
create_video_with_subtitles("video.mp4", "output.srt", "video_subtitled.mp4")

Options

Device (if you have a gpu and have installed pytorch, use "cuda"):

  • cpu - default
  • cuda

Available options for model_type (the audio to text model):

  • tiny
  • base - default
  • small
  • medium
  • large

Available options for language_model_type (the language translator model):

  • base - default
  • large

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gptsubtitler-0.0.2.tar.gz (5.4 kB view details)

Uploaded Source

File details

Details for the file gptsubtitler-0.0.2.tar.gz.

File metadata

  • Download URL: gptsubtitler-0.0.2.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for gptsubtitler-0.0.2.tar.gz
Algorithm Hash digest
SHA256 cbf1f5fbcca932b572db6ca3a7185402585191e3f866fa31c1b3a86a741a45e5
MD5 f8f818283268d0da88836d17410a57d7
BLAKE2b-256 a3823cbacad29e9ec161136563516fdc93e96c0eb18f8c88cc408f79edda4af6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page