explaingit

johunsang/kekedubing

11PythonAudience · generalComplexity · 3/5LicenseSetup · moderate

TLDR

A local web app that transcribes, translates, and re-voices any video using offline AI tools, upload a file or paste a URL from 1,800 supported sites, pick your languages, and get a dubbed MP4 with burned-in subtitles, all running on your own computer.

Mindmap

mindmap
  root((kekedubing))
    What it does
      Video transcription
      Translation
      Voice dubbing
      Subtitle burning
    Pipeline steps
      faster-whisper speech to text
      Argos Translate
      Supertonic text to speech
      FFmpeg video assembly
    Extra features
      Live interpreter mode
      Blur zone editor
      35 subtitle styles
      1800 site support
    Setup
      Docker recommended
      Mac and Windows scripts
      Local only no cloud
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Dub a YouTube video or local MP4 from English into another language and download the dubbed file with burned-in subtitles.

USE CASE 2

Use the Live Interpreter tab to stream near-real-time translated and dubbed audio for a video while it plays.

USE CASE 3

Draw a blur zone over faces or sensitive content before rendering the final dubbed MP4.

Tech stack

PythonFFmpegDocker

Getting it running

Difficulty · moderate Time to first run · 30min

Long videos will be slow, transcription, speech synthesis, and video rendering are all CPU-heavy with no GPU acceleration mentioned.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Kekedubing (the name is Korean for a dubbing tool) is a local web application that translates and dubs videos using AI tools that run entirely on your own computer. You open it in a browser, upload a video or paste a URL from one of 1,800 supported video sites, choose source and target languages, pick a voice, and it produces a dubbed MP4 file with subtitles burned in. The pipeline works in steps: the tool first transcribes the spoken audio using faster-whisper (a speech-to-text tool), then translates the transcript using Argos Translate (a translation library that downloads and runs language models locally), then generates new spoken audio in the target language using Supertonic (a text-to-speech system), and finally stitches everything together with FFmpeg (a widely used video processing tool). The dubbed voice is automatically sped up or slowed down to fit within the original segment's timing, staying between 85% and 175% of normal speed to keep speech natural. Beyond the standard dubbed video output, there is a Live Interpreter tab. You paste a video URL, and the app plays it muted while streaming translated and dubbed audio in near real time, grouping transcript segments into longer chunks so the dubbing sounds less choppy. The app also has a few editing features: you can draw a rectangular blur zone on the preview video to obscure faces or other content before rendering, choose from 35 subtitle style presets, adjust subtitle position and size, and switch fonts. Translation models for each language pair are downloaded on demand from the settings screen. Docker is the recommended way to run it: two commands clone and start the app, and it is accessible at a local HTTPS address. Scripts for running it directly on Mac or Windows without Docker are also included. The README notes that long videos will be slow because transcription, speech synthesis, and video rendering are all CPU-heavy operations. The project is released under the MIT license.

Copy-paste prompts

Prompt 1
I started Kekedubing with Docker and the dubbed output speech sounds too fast. How does the automatic speed adjustment work, and what controls the 85%-175% speed range?
Prompt 2
Walk me through adding a new language pair to Kekedubing, where do I download the Argos Translate model and how does the app use it during translation?
Prompt 3
I want to run Kekedubing without Docker on a Mac. What Python dependencies does it need, and which pipeline step is slowest on CPU-only hardware?
Prompt 4
How does the Kekedubing Live Interpreter tab differ from standard dub mode? What tradeoffs does it make to achieve near-real-time output?
Prompt 5
Can I use Kekedubing to dub a video from a site other than YouTube? The README mentions 1800 supported sites, is that powered by yt-dlp, and how do I use it?
Open on GitHub → Explain another repo

← johunsang on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.