jianchang512/pyvideotrans

★ 19,017⑂ 0

Translate the video from one language to another and embed dubbing & subtitles.

19,017Star
0Fork
0Watch
0Issue
PythonLanguage
-License
Created · last push · repository size 0 KB · default branch -

README

> Sponsors:

- Recall.ai - Meeting Transcription API: If you’re looking for a transcription API for meetings, consider checking out Recall.ai , an API that works with Zoom, Google Meet, Microsoft Teams, and more

---

pyVideoTrans

A Powerful Open Source Video Translation / Audio Transcription / AI Dubbing / Subtitle Translation Tool

中文 | Documentation | Online Q&A

License Python [Platform]()

pyVideoTrans is dedicated to seamlessly converting videos from one language to another, offering a complete workflow that includes speech recognition, subtitle translation, multi-role dubbing, and audio-video synchronization. It supports both local offline deployment and a wide variety of mainstream online APIs.

https://github.com/jianchang512/pyvideotrans/blob/HEAD/image

---

Core Features

Technical Architecture and Principles

---

Quick Start (Windows Users)

We provide a pre-packaged .exe version for Windows 10/11 users, requiring no Python environment configuration.

1. Download: Click to download the latest pre-packaged version 2. Unzip: Extract the compressed file to a path without Chinese characters or spaces (e.g., D:\pyVideoTrans). 3. Run: Double-click sp.exe inside the folder to launch.

Note:
* Do not run directly from within the compressed archive.
* To use GPU acceleration, ensure CUDA 12.8 and cuDNN 9.11 are installed.

---

️ Source Deployment (macOS / Linux / Windows Developers)

We recommend using uv for package management for faster speed and better environment isolation.

1. Prerequisites

    brew install libsndfile  git  [email protected]
	
	brew uninstall --ignore-dependencies ffmpeg
	
	brew tap homebrew-ffmpeg/ffmpeg
	
	brew install homebrew-ffmpeg/ffmpeg/ffmpeg
  

2. Install uv (If not installed)

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

Windows (PowerShell)

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

3. Clone and Install

git clone https://github.com/jianchang512/pyvideotrans.git
cd pyvideotrans
uv sync
By default, whisper.net and WebUI are not installed locally.
- To install all optional channels: uv sync --all-extras
- To install whisper.net: uv sync --extra dotnet
- To install WebUI: uv sync --extra webui

4. Launch Software

GUI:

uv run sp.py

CLI:

# Video Translation
uv run cli.py --task vtv --name "./video.mp4" --source_language_code zh-cn --target_language_code en --voice_role "en-US-GuyNeural"

Audio to Subtitle

uv run cli.py --task stt --name "./audio.wav" --model_name large-v3

Subtitle Translation

uv run cli.py --task sts --name "./subs.srt" --target_language_code en

Text to Speech

uv run cli.py --task tts --name "./subs.srt" --voice_role "zh-CN-YunyangNeural"
CLI documentation with all parameters

WebUI (for remote/internal network access):

uv sync --extra webui
uv run webui.py

Docker (containerized deployment):

# Build
docker build -t pyvideotrans-webui .

Run

docker run -d -p 7860:7860 --name pyvideotrans pyvideotrans-webui

With persistent config and output

docker run -d -p 7860:7860 \ -v ./data/output:/app/output \ -v ./data/config:/app/videotrans \ --name pyvideotrans pyvideotrans-webui
WebUI documentation

5. (Optional) GPU Acceleration Configuration

If you have an NVIDIA graphics card, execute the following commands to install the CUDA-supported PyTorch version:

# Uninstall CPU version
uv remove torch torchaudio

Install CUDA version (Example for CUDA 12.x)

uv add torch==2.7 torchaudio==2.7 --index-url https://download.pytorch.org/whl/cu128 uv add nvidia-cublas-cu12 nvidia-cudnn-cu12
AMD GPU acceleration via Whisper.NET

---

Supported Channels & Models (Partial)

| Category | Channel/Model | Description | | :--- | :--- | :--- | | ASR (Speech Recognition) | Faster-Whisper (Local) | Recommended, fast speed, high accuracy | | | WhisperX / Parakeet | Supports timestamp alignment & speaker diarization | | | Alibaba Qwen3-ASR / ByteDance Volcano | Online API, excellent for Chinese | | Translation (LLM/MT) | DeepSeek / ChatGPT | Supports context understanding, more natural translation | | | MiniMax AI | MiniMax M3 LLM, latest flagship model, OpenAI-compatible | | | Google / Microsoft | Traditional machine translation, fast speed | | | Ollama / M2M100 | Fully local offline translation | | TTS (Speech Synthesis) | Edge-TTS | Microsoft free interface, natural effect | | | F5-TTS / CosyVoice | Supports Voice Cloning, requires local deployment | | | GPT-SoVITS / ChatTTS | High-quality open-source TTS | | | 302.AI / OpenAI / Azure | High-quality commercial API |

---

Documentation & Support

Disclaimer

This software is an open-source, free, non-commercial project. Users are solely responsible for any legal consequences arising from the use of this software (including but not limited to calling third-party APIs or processing copyrighted video content). Please comply with local laws and regulations and the terms of use of relevant service providers.

Acknowledgements

This project mainly relies on the following open-source projects (partial):

---

Created by jianchang512

More Audio Trending projects

1

huggingface / transformers

Python★ 166,108⑂ 0
2

harry0703 / MoneyPrinterTurbo

Python★ 123,776⑂ 0
3

unslothai / unsloth

Python★ 76,181⑂ 0
4

RVC-Boss / GPT-SoVITS

Python★ 61,798⑂ 0
5

calesthio / OpenMontage

Python★ 59,205⑂ 0
6

ggml-org / whisper.cpp

C++★ 53,674⑂ 0