ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

pyVideoTrans 开源视频翻译配音工具实战指南:语音识别、字幕翻译与 AI 配音全流程

2026/9/20 7:48:10 拓冰建站 浏览量
pyVideoTrans 开源视频翻译配音工具实战指南:语音识别、字幕翻译与 AI 配音全流程 音视频AI 应用语音本地部署【免费下载链接】pyvideotransTranslate the video from one language to another and embed dubbing subtitles.项目地址https://gitcode.com/gh_mirrors/py/pyvideotrans点击查看免费下载pyVideoTranspyvideotrans是一款开源的视频翻译配音工具将语音识别ASR→ 字幕翻译 → 语音合成TTS→ 视频合成整合为一条自动化流水线同时支持本地离线部署与多种主流在线 API。读完本文你将掌握从 Windows 一键包到源码部署、从 CLI 无头批处理到 Docker/WebUI 远程部署的完整落地方法并能理解其 9 阶段任务流水线、多线程队列架构与核心配置项的真实作用。项目定位与核心能力pyVideoTrans 致力于无缝地将视频从一种语言转换为另一种语言包含语音识别、字幕翻译、多角色配音及音画同步等全套流程。其核心功能包括全自动视频翻译一键完成语音识别ASR→ 字幕翻译 → 语音合成TTS→ 视频合成的完整链路。语音转录 / 字幕生成批量将音频或视频转为 SRT 字幕支持说话人分离可区分不同角色。多角色 AI 配音支持根据不同说话人分配不同的 AI 配音角色实现多人对话场景的差异化配音。声音克隆集成F5-TTS、CosyVoice、GPT-SoVITS等模型支持零样本声音克隆可从原视频截取参考音频片段生成近似音色。强大的模型支持ASRFaster-Whisper本地、OpenAI Whisper、阿里 Qwen、字节火山、Azure、Google 等。LLM 翻译DeepSeek、ChatGPT、Claude、Gemini、MiniMax、Ollama本地、阿里百炼等。TTSEdge-TTS免费、OpenAI、Azure、Minimaxi、ChatTTS、ChatterBox 等。交互式编辑支持在识别、翻译、配音的每个阶段暂停并人工校对确保精准度。实用工具集包含人声分离、视频/字幕合并、音画对齐、文稿匹配等辅助工具。命令行模式CLI支持无头模式运行方便服务器部署或批处理。Web 界面WebUI基于浏览器的界面适合远程访问或局域网部署。技术架构与设计原理详见 docs/architecture.md。从源码结构看其能力体系在 videotrans/recognition语音识别渠道、videotrans/translator翻译渠道、videotrans/tts配音渠道三个目录中分层实现TTS 渠道数量达到 30识别与翻译渠道各 20均由统一入口函数调度详见后文流水线背后的源码实现。快速开始Windows 预打包版项目为 Windows 10/11 用户提供了预打包的.exe版本无需配置 Python 环境适合零基础快速上手下载获取最新预打包版本Releases 页面。解压将压缩包解压到一个不包含中文、空格的路径下例如D:\pyVideoTrans。运行双击文件夹内的sp.exe启动。注意请勿直接在压缩包内运行必须先解压。如需使用 GPU 加速请确保安装CUDA 12.8和cuDNN 9.11。预打包版内置了 FFmpeg 等运行时依赖项目根目录的 ffmpeg 目录存放 ffmpeg 及 sox 二进制文件因此无需额外配置环境变量即可运行。源码部署macOS / Linux / Windows 开发者推荐使用 **uv声明了requires-python 3.10, 3.11即支持 Python 3.10。1. 前置准备Python建议版本 3.10。FFmpeg必须安装并配置到环境变量。macOSbrew install libsndfile git python3.10 brew uninstall --ignore-dependencies ffmpeg brew tap homebrew-ffmpeg/ffmpeg brew install homebrew-ffmpeg/ffmpeg/ffmpegLinux (Ubuntu/Debian)sudo apt-get install ffmpeg libsndfile1-devWindows下载 FFmpeg 并配置 Path或者直接将ffmpeg.exe和ffprobe.exe放在项目目录下。2. 安装 uv如果尚未安装# macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows (PowerShell) powershell -ExecutionPolicy ByPass -c irm https://astral.sh/uv/install.ps1 | iex3. 克隆与安装git clone https://gitcode.com/gh_mirrors/py/pyvideotrans.git cd pyvideotrans uv sync可选依赖说明默认不安装whisper.net与WebUI渠道。安装全部可选渠道uv sync --all-extras单独安装whisper.netuv sync --extra dotnet安装 WebUIuv sync --extra webui对应 pyproject.toml 中[project.optional-dependencies] webui [gradio]4. 启动软件启动 GUI 界面uv run sp.pysp.py 是唯一入口它依次完成multiprocessing.freeze_support()、设置spawn启动方式、抑制 Qt 警告、创建无边框半透明启动画面StartWindow、加载 videotrans/styles/style.qss 样式表最终实例化MainWindow并进入 Qt 事件循环。使用 CLI 命令行# 视频翻译示例 uv run cli.py --task vtv --name ./video.mp4 --source_language_code zh-cn --target_language_code en --voice_role en-US-GuyNeural # 语音转字幕示例 uv run cli.py --task stt --name ./audio.wav --model_name large-v3 # 字幕翻译示例 uv run cli.py --task sts --name ./subs.srt --target_language_code en # 文字配音示例 uv run cli.py --task tts --name ./subs.srt --voice_role zh-CN-YunyangNeuralCLI 全部参数与详细用法见 docs/cli.md。启动 WebUI适合远程访问或局域网部署uv sync --extra webui uv run webui.pyWebUI 使用说明见 docs/webui.md。Docker 部署容器化部署# 构建镜像 docker build -t pyvideotrans-webui . # 运行 docker run -d -p 7860:7860 --name pyvideotrans pyvideotrans-webui # 持久化配置和输出 docker run -d -p 7860:7860 \ -v ./data/output:/app/output \ -v ./data/config:/app/videotrans \ --name pyvideotrans pyvideotrans-webui仓库根目录的 Dockerfile 支持 CPU 与 GPU 两种构建方式默认基于python:3.10-slim当docker build --build-arg USE_CUDAtrue时则基于nvidia/cuda:12.8.0-cudnn-runtime-ubuntu22.04并自动安装 CUDA 版 PyTorch 与nvidia-cublas-cu12、nvidia-cudnn-cu12。镜像内部通过静态 FFmpeg 包安装ffmpeg/ffprobe到/usr/local/binWebUI 服务监听0.0.0.0:7860。5.可选GPU 加速配置如果拥有 NVIDIA 显卡请执行以下命令以安装支持 CUDA 的 PyTorch 版本# 卸载 CPU 版本 uv remove torch torchaudio # 安装 CUDA 版本 (以 CUDA 12.x 为例) uv add torch2.7 torchaudio2.7 --index-url https://download.pytorch.org/whl/cu128 uv add nvidia-cublas-cu12 nvidia-cudnn-cu12若使用 AMD 显卡可参考 docs/whisper_net_setup.md 尝试加速。支持的渠道与模型部分类别渠道/模型说明语音识别 (ASR)Faster-Whisper(本地)推荐速度快精度高WhisperX / Parakeet支持时间轴对齐与说话人分离阿里 Qwen3-ASR / 字节火山在线 API中文效果极佳翻译 (LLM/MT)DeepSeek/ ChatGPT支持上下文理解翻译更自然MiniMax AIMiniMax M3 大模型最新旗舰模型OpenAI 兼容接口Google / Microsoft传统机器翻译速度快Ollama / M2M100完全本地离线翻译语音合成 (TTS)Edge-TTS微软免费接口效果自然F5-TTS / CosyVoice支持声音克隆需本地部署GPT-SoVITS / ChatTTS高质量开源 TTS302.AI / OpenAI / Azure高质量商业 API各渠道的音色配置以 JSON 形式存放在 videotrans/voicejson 目录如edge_tts.json、azure_voice_list.json、qwen3tts.json等F5-TTS 的按语言音色配置则位于 videotrans/voicejson/f5ttscfg仓库根目录的 f5-tts 目录存放了多语言声音克隆参考音频。CLI 无头模式四种任务类型cli.py 是命令行入口通过--task指定四种任务各自对应不同的流水线与任务子类任务说明对应任务类stt语音转录音频/视频人声转 SRT 字幕SpeechToTextvideotrans/task/speech2text.pytts文字配音SRT 字幕或文本转语音DubbingSrtvideotrans/task/dubbing.pysts字幕翻译SRT 字幕翻译为目标语言TranslateSrtvideotrans/task/translate_srt.pyvtv视频翻译识别 → 翻译 → 配音 → 合成TransCreatevideotrans/task/trans_create.py全局选项选项说明默认值--task {stt,tts,sts,vtv}必选— 任务类型—--name FILE必选— 输入文件的绝对路径—--output-dir DIR输出目录软件目录/output/文件名/--list {providers,languages,models}查询可用渠道/语言/模型列表—--log-level {DEBUG,INFO,WARNING,ERROR}日志级别WARNING-v, --verbose详细输出等同--log-level INFO否-q, --quiet静默模式仅输出错误否--version显示版本号—-h, --help显示帮助信息—典型组合实战以下命令均以中文视频60.mp4、中文字幕zw.srt、目标语言英文、Edge-TTS 的en-US-GuyNeural音色为前提场景 1仅语音转录uv run cli.py --task stt --name 60.mp4 --detect_language zh-cn --cuda场景 2仅字幕翻译uv run cli.py --task sts --name zw.srt --source_language_code zh-cn --target_language_code en场景 3仅文字配音为中文字幕生成英文配音uv run cli.py --task tts --name zw.srt --voice_role en-US-GuyNeural --target_language_code en场景 4完整视频翻译中文 → 英文带配音uv run cli.py --task vtv --name 60.mp4 --source_language_code zh-cn --target_language_code en --voice_role en-US-GuyNeural --cuda场景 5高质量翻译分离人声 GPU 二次识别 大模型uv run cli.py --task vtv --name 60.mp4 --source_language_code zh-cn --target_language_code en --voice_role en-US-GuyNeural --cuda --is_separate --recogn2pass --model_name large-v3场景 6双语硬字幕uv run cli.py --task vtv --name 60.mp4 --source_language_code zh-cn --target_language_code en --voice_role en-US-GuyNeural --subtitle_type 3 --cuda场景 7批量处理Shell 循环# Bash / Git Bash for f in *.mp4; do uv run cli.py --task vtv --name $f --source_language_code zh-cn --target_language_code en --voice_role en-US-GuyNeural --cuda done# PowerShell Get-ChildItem *.mp4 | ForEach-Object { uv run cli.py --task vtv --name $_.FullName --source_language_code zh-cn --target_language_code en --voice_role en-US-GuyNeural --cuda }查询可用渠道、语言与模型uv run cli.py --list providers # 列出 STT / 翻译 / TTS 全部渠道及编号 uv run cli.py --list languages # 列出全部语言代码en、zh-cn、ja、ko 等 uv run cli.py --list models # 列出 faster-whisper 可用模型tiny/base/small/medium/large-v3/large-v3-turbo从 cli.py 源码看--list providers依次遍历recognition.RECOGN_NAME_LIST、translator.TRANSLASTE_NAME_LIST、tts.TTS_NAME_LIST输出带编号的渠道清单编号即可直接用于--recogn_type、--translate_type、--tts_type。常用 Edge-TTS 音色速查音色名称性别语言说明zh-CN-YunyangNeural男中文云扬 — 新闻播报风格zh-CN-XiaoxiaoNeural女中文晓晓 — 自然对话zh-CN-YunxiNeural男中文云希 — 年轻活泼en-US-GuyNeural男英文Guy — 自然男声en-US-JennyNeural女英文Jenny — 自然女声en-US-AriaNeural女英文Aria — 专业女声en-US-EmmaNeural女英文Emma — 温暖女声en-US-BrianNeural男英文Brian — 沉稳男声退出码约定退出码含义0任务成功完成1任务执行出错130用户中断CtrlC2参数错误argparse 自动退出WebUI 与 Docker 部署要点WebUI 基于 Gradio 实现仅实现了部分功能主要用于云服务器远程部署、局域网部署与 Docker 容器化部署场景如需完整功能实时交互编辑、批量处理等应使用桌面客户端sp.exe或源码运行sp.py。启动服务uv run webui.py默认0.0.0.0:7860支持--port 8080、--host 127.0.0.1、--share创建 Gradio 公网临时链接。渠道设置与高级选项与桌面版通用配置保存在videotrans/params.json中使用 API 渠道前需先用桌面版配置好 API 地址和 SK 密钥。Docker 持久化-v ./data/output:/app/output -v ./data/config:/app/videotransGPU 加速需安装 nvidia-container-toolkit 后加--gpus all。详细说明见 docs/webui.md。流水线背后的源码实现九阶段处理流程与五个控制标志位视频翻译配音过程被分解为 9 个独立阶段形成自动化流水线阶段方法职责① 预处理prepare()分离无声视频流与原始音频音频转为单声道 16k/wav可选人声/背景分离、降噪创建缓存/输出目录② 语音识别recogn()调用 ASR 引擎默认 Faster-Whisper large-v3-turbo转录为带时间戳的 SRT 字幕③ 说话人分离diariz()按说话人归类标注字幕built-in onnx、ali_CAM、pyannote 等后端④ 字幕翻译trans()源语言与目标语言不同时经翻译渠道翻译字幕支持双语输出⑤ TTS 配音dubbing()按目标语言字幕与时间戳逐条生成配音音频支持声音克隆⑥ 音画对齐align()通过SpeedRate处理配音加速、视频慢放、静音去除、字幕音频强制对齐⑦ 二次识别recogn2pass()对配音音频再次 ASR生成时间轴精确且短小的字幕⑧ 最终合成assembling()用 ffmpeg 合并无声视频流、配音音频、背景音乐与目标语言字幕⑨ 收尾task_done()移动输出文件、清理临时文件、发送完成通知每个任务通过 5 个布尔标志位控制哪些阶段被跳过定义于 videotrans/task/_base.pyshould_recogn: bool # 是否需要语音识别无已有字幕则为 True should_trans: bool # 是否需要翻译源语言 ≠ 目标语言则为 True should_dubbing: bool # 是否需要配音选择了配音角色且非 No 则为 True should_hebing: bool # 是否需要嵌入合并非 tiqu 模式且有配音或字幕嵌入则为 True should_separate: bool # 是否需要人声背景分离不同功能即标志位组合的结果视频翻译✓✓✓✓、转录翻译 tiqu✓ 可选 ✗ ✗、语音转录✓✗✗✗、文字配音✗✗✓✓、翻译字幕✗✓✗✗。多线程队列架构与子进程保护软件采用基于生产者-消费者模式的多线程多队列架构MultVideo线程作为生产者将任务推入prepare_queue9 种BaseWorker子类作为消费者监听专属队列逐级流转prepare_queue → regcon_queue → diariz_queue → trans_queue → dubb_queue → align_queue → regcon2_queue → assemb_queue → taskdone_queue每级根据trk的标志位决定下一跳。批量提交支持batch_nums参数控制并发0全量并发、1逐个、1每批 N 个。为避免faster-whisper、F5-TTS 等重型渠道崩溃导致整个软件退出部分渠道通过BaseCon._new_process()委托给 videotrans/process/signelobj.py 中的GlobalProcessManager类级别单例含 CPU/GPU 双multiprocessing.Poolmaxtasksperchild1防内存泄漏在独立子进程中执行子进程通过写入 JSON 日志文件报告进度_signal_of_process()轮询该文件解析进度。动态渠道加载与统一入口videotrans/init.py 提供通用的懒加载机制get_class()通过importlib.import_module(fvideotrans.{provider_type}...)按渠道编号动态加载对应模块类。三大模块各自维护_ID_NAME_DICT渠道注册表识别 20、翻译 20、配音 30并提供统一的run()入口函数与is_input_api()API Key 校验。翻译模块还实现了基于 MD5 的翻译缓存缓存 key md5(渠道url模型源语言目标语言文本)存储于{TEMP_ROOT}/translate_cache/重复翻译可显著提速。交互式单视频模式当用户选择 1 个视频且在标准模式下时程序改用 videotrans/task/only_one.py 中的Worker(QThread)在单个线程内串行执行全部阶段并在识别、翻译、配音之后设置三个暂停点弹出校对对话框原始字幕编辑、说话人角色分配、配音结果试听重配配合app_cfg.set_countdown()倒计时实现自动继续或无限期暂停。批量模式则不支持这种中间人工校对。常见问题速览如何查看所有渠道和音色uv run cli.py --list providers或在 GUI 的 TTS 设置中查看音色下拉列表。路径含空格怎么办使用英文双引号包裹--name D:/my videos/60.mp4。如何启用 GPU 加速添加--cuda前提是已安装 NVIDIA 驱动、CUDA 12.8、cuDNN 9.11。翻译后的字幕和声音不同步添加--voice_autorate自动加速音频或--video_autorate自动慢速视频。如何只翻译不配音不指定--voice_role或指定为No。处理速度太慢添加--cuda改用小模型--model_name tiny跳过--is_separate与--recogn2pass。如何保留缓存调试使用--no-clear-cache默认--clear_cache为 true完成即清理。详细日志-v或--log-level DEBUG。文档与支持中文 READMEdocs/README_CN.md技术架构与实现原理docs/architecture.mdCLI 命令行文档docs/cli.mdWebUI 使用说明docs/webui.md音画对齐原理docs/Synchronize.md常见问题docs/faq.mdAMD GPU 加速Whisper.NETdocs/whisper_net_setup.md免责声明本软件为开源免费非商业项目GPL-3.0见 LICENSE使用者需自行承担因使用本软件包括但不限于调用第三方 API、处理受版权保护的视频内容所产生的一切法律后果。请遵守当地法律法规及相关服务商的使用协议。项目主要依赖 FFmpeg、PySide6、sherpa-onnx、faster-whisper、openai-whisper、edge-tts、F5-TTS、Confucius4-TTS、OmniVoice、CosyVoice、GradioWebUI等开源项目。赞分享音视频AI 应用语音本地部署【免费下载链接】pyvideotransTranslate the video from one language to another and embed dubbing subtitles.项目地址https://gitcode.com/gh_mirrors/py/pyvideotrans点击查看免费下载相关推荐pyvideotrans视频翻译工具从语音识别到多语言配音的完整解决方案pyvideotrans视频翻译工具从语音识别到多语言配音的完整解决方案 你是否曾经面对精彩的外语视频却因为语言障碍而无法理解内容或者想要将自己的视频作品推音视频AI 应用语音本地部署【免费下载】 pyvideotrans 视频翻译配音工具使用教程pyvideotrans 视频翻译配音工具使用教程 项目介绍 pyvideotrans 是一个视频翻译配音工具可以将一种语言的视频翻译为指定语言的视频自动生音视频AI 应用语音本地部署VideoLingo终极指南5分钟学会AI视频字幕翻译与配音全流程还在为视频翻译的复杂流程头疼吗手动听译、调整时间轴、寻找配音演员的时代已经过去。VideoLingo作为一款专业的AI视频本地化工具能够帮你一键完成从字幕提音视频语音视频处理AI 应用大模型上一篇WuWa-Mod终极指南如何轻松解锁《鸣潮》无限游戏乐趣下一篇Mall-Cook与uni-app集成指南快速实现跨端商城开发的终极方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考