Skip to content

jianchang512 /pyvideotrans

Video translated, subtitled and dubbed into another language
Editing & audioGPL-3.0English README
Stars
19k
30 days
New
Last push
yesterday

About pyvideotrans

pyVideoTrans takes a video in one language and puts it out in another. Speech recognition, subtitle translation, dubbing and assembly run as one chain. You can also use just the subtitle or text-to-speech parts. Some channels want paid API keys, and some local voices need a separate install.

Best for: Subtitling teams using local models or paid APIs to translate videos they already have.

What it does

  • Runs speech recognition, subtitle translation, dubbing and video assembly in one go
  • Turns batches of audio or video into SRT subtitles, with speaker separation
  • Gives each speaker their own AI dubbing voice
  • Clones a voice from a short sample with F5-TTS, CosyVoice or GPT-SoVITS
  • Lets you pause and fix text at the recognition, translation and dubbing steps
  • Ships a CLI for batch runs, a browser WebUI and a Docker image

Quickstart

Rewritten from the README. Check the repo for the latest steps.

  1. 1
    On Windows, download the pre-packaged release, unzip it to a path with no Chinese characters or spaces, and run sp.exe.
  2. 2
    For a source install, get Python 3.10 and FFmpeg (on Ubuntu/Debian: the command below).
    sudo apt-get install ffmpeg libsndfile1-dev
  3. 3
    Install uv, clone the repo, then run uv sync (add --all-extras for optional channels).
  4. 4
    Start the desktop app with uv run sp.py.
  5. 5
    Or run a CLI job: the command below.
    uv run cli.py --task vtv --name "./video.mp4" --source_language_code zh-cn --target_language_code en --voice_role "en-US-GuyNeural"
  6. 6
    For browser access, run uv sync --extra webui then uv run webui.py.

Models and languages

Models it works with

  • Faster-Whisper
  • WhisperX
  • Parakeet
  • Qwen3-ASR
  • DeepSeek
  • ChatGPT
  • Claude
  • Gemini
  • MiniMax M3
  • Edge-TTS

Interface and docs

  • Chinese
  • English

Alternatives

Other editing & audio projects people compare with pyvideotrans.

buxuku

SmartSub

Feed it a video, get subtitles, translations and AI dubbing

Editing & audio
  • whisper.cpp
  • faster-whisper
  • FunASR / SenseVoice
  • +7
5.4k GitHub starsyesterdayMIT

Huanshere

VideoLingo

Translated subtitles and a dubbed voice track for any video

Editing & audio
  • Qwen3-ASR
  • Qwen3-ForcedAligner
  • ElevenLabs
  • +7
19k GitHub starstodayApache-2.0

liuzhao1225

YouDub-webui

Desktop app that dubs a YouTube or Bilibili video into another language

Editing & audio
  • Whisper large-v3-turbo
  • VoxCPM2
  • Demucs
5.6k GitHub stars8 days agoApache-2.0

RVC-Boss

GPT-SoVITS

Clones a voice from a 5-second clip and reads your text in it

Editing & audio
  • GPT-SoVITS v2Pro / v2ProPlus
  • GPT-SoVITS v4
  • GPT-SoVITS v3
  • +7
62k GitHub stars1 month agoMIT

Featured on OpenMicroDrama

Do you maintain pyvideotrans? Add this badge to your README so English speakers can find our write-up.

Featured on OpenMicroDrama
markdown
[![Featured on OpenMicroDrama](https://openmicrodrama.com/badges/featured.svg)](https://openmicrodrama.com/projects/jianchang512-pyvideotrans)

The badge links to this page. Want your description changed? Email support@openmicrodrama.com.

Reviewed Oct 1, 2026. We write these descriptions ourselves. The repo's own docs are the final word.