docs/faq.md
为了帮助您更好地使用 pyVideoTrans,我们整理了以下常见问题及其解决方案。
在 菜单栏--帮助/关于 中有很多链接,比如模型下载地址、CUDA配置等,遇到问题时可尝试点开使用。
如何查看日志:软件根目录下的
logs/文件夹有按日期命名的.log日志文件。报错时可复制日志底部约 30 行内容寻求帮助。如何恢复出厂设置:删除
videotrans/目录下的cfg.json、params.json、codec.json、ass.json四个文件,重启软件即可。
sp.exe 后,软件无法打开或长时间没有反应?这通常是正常现象,请不要着急。
PySide6 开发,主界面包含较多组件,首次加载时需要初始化,这会消耗一些时间。根据您的电脑性能,启动时间可能在 5秒到2分钟 不等。D:\pyVideoTrans 是一个好的路径,而 D:\program file\视频 工具 则可能导致问题。python310.dll 文件怎么办?这个问题说明您只下载了升级补丁包,而没有下载主程序。
本软件是绿色版,无需安装。下载完整包后解压,双击 sp.exe 即可直接运行。
PyInstaller 工具打包,并且没有进行商业数字签名认证。一些安全软件会基于此启动风险预警,这属于常见误报。不支持。软件依赖的许多核心组件(如 PyTorch、PySide6)已不再支持 Windows 7 系统。请使用 Windows 10 或 Windows 11。
brew install ffmpeg / apt install ffmpeg)git clone https://github.com/jianchang512/pyvideotrans
cd pyvideotrans
uv sync
uv run sp.py
uv sync --all-extra 安装所有可选渠道(qwen-tts, qwen-asr, moss-tts, chatterbox)常见原因及解决方案:
uv sync 重新安装依赖.python-version 文件已指定)识别准确率主要取决于您选择的模型大小和设置。
tiny: 体积最小,速度最快,但准确率较低。base / small / medium: 效果与资源消耗居中,是常用的选项。large-v3: 体积最大,效果最好,对硬件要求也最高(需要 8GB+ 显存)。菜单--工具--高级选项找到 faster/openai语音识别调整 部分,进行如下修改:
0.530006140设置更多参数 选中 分离人声背景声,可以显著提升识别效果。任何涉及重新编码的操作都会不可避免地导致视频质量损失。如果您希望最大程度地保持原始画质,请确保满足以下所有条件:
fast,可用选择slow或slower,质量会更高,但输出耗时将增加264,可选265,输出视频质量更高部分翻译或配音服务(如 Google、OpenAI、Gemini)在国内无法直接访问,需要通过网络代理。
http://127.0.0.1:10808 这样的格式(端口号需根据您的代理客户端设置填写)。点击主界面中 -> 设置更多参数 -> 修改硬字幕
beam_size,改用 int8 量化,或使用 small 模型CUDA加速large-v3 换成 medium 或 small计算数据类型 改为 int8Unable to allocate、CUDA out of memory)large-v3 更换为 medium、small 或 base。large-v3 模型最低需要 8GB 显存。工具/选项 -> 高级选项 中进行如下修改:
CUDA数据类型: 将 float32 改为 float16 或 int8beam_size: 将 5 改为 1best_of: 将 5 改为 1上下文: 将 true 改为 false设置更多参数 中勾选 识别说话人 并指定人数videotrans/prompts/recharge/recharge-llm.txt 中修改)clone 角色克隆原音色时,不建议使用 LLM 重新断句这是翻译配音中的常见现象,源于语言间的时长差异。
音频加速,自动将过长的配音加速到匹配字幕时长视频慢速,放慢视频画面以匹配配音时长配音语速 值(如 +10%)加快整体配音速度二次识别,在配音完成后再次识别生成更精准的字幕时间轴详细原理请参考 音频视频时间轴对齐原理说明
二次识别是在配音完成后,对生成的配音音频再次进行语音识别,生成时间轴更精准、字数更简短的字幕。
嵌入单字幕(硬字幕或软字幕),且需要字幕和配音精确对齐二次识别,在高级选项中设置二次识别的最长/最短语音持续时间trans_thread=1 降低并发内容触发AI风控被过滤清理已生成 选项tmp/translate_cache/ 目录下的缓存文件edgetts-noproxy.txt 空文件可强制绕过代理api.py 或 api_v2.py,不能使用网页版 7860 端口0.0.0.0 作为地址,改为 127.0.0.1{"detail":"Not Found"}api.py 还是 api_v2.py,在软件中勾选对应的 api_v2? 选项Value: 'Same as the voice reference' is not in the listwebui.py,将 i18n("与音色参考音频相同") 替换为 Same as the voice referenceCould not find module Microsoft.CognitiveServices.Speech.core.dll分离人声背景声,去除背景噪声clone 角色配音失败或音质差高级选项 -> 语音识别参数 中,将 最长语音持续秒数 设为 6-10,最短语音持续毫秒 设为 3000-4000合并过短字幕到邻近 和 Whisper预分割音频OmniVoice-TTS 渠道,对短参考音频兼容性更好分离人声背景声,提升参考音频质量f5-tts 文件夹菜单 -> TTS 设置 -> 设置参考音频,填写 文件名.wav#音频中的说话文本注意:GPT-SoVITS 的参考音频需要放在 GPT-SoVITS 软件的根目录下,而非
f5-tts文件夹。
ffprobe exec error 或 ffmpeg 相关异常D:\videos)?*、表情符号等)当满足以下所有条件时,视频将无损输出(不重新编码):
mp4/h.264/yuv420p264/265编码 选择 264视频慢速硬字幕(软字幕不影响)注意:若配音后时长大于视频原时长,超出部分会被截断。
这是语言翻译中的正常现象。
音频加速 和/或 视频慢速配音语速(如 +10%)加快整体速度二次识别 生成更精准的字幕时间轴Unable to allocate 错误)这个错误意味着您的显卡没有足够的显存或内存来执行当前任务。
large-v3 更换为 medium、small 或 baseCUDA数据类型: 将 float32 改为 float16 或 int8beam_size: 将 5 改为 1best_of: 将 5 改为 1上下文: 将 true 改为 false请检查以下可能的原因:
bin 和 lib 目录正常。软件的工作流程是:语音识别 -> 文字翻译 -> 文本配音 -> 视频合成。
只有在第一步 "语音识别" 阶段,才会大量使用 GPU 进行运算。其他阶段(如翻译、合成)主要依赖 CPU,因此 GPU 在大部分时间处于低负载状态是符合预期的。
这通常是由于启用了"视频慢速"功能并产生了大量临时文件。
tmp/ 文件夹内的所有内容清理已生成 复选框默认批量任务时,会将每个任务分为多个阶段,同时交叉并行处理,太多任务时可能导致资源耗尽。
在 高级选项 -> 通用设置 中:
CPU同时任务数:最大 CPU 同时任务数,不超过 CPU 核数GPU同时任务数:GPU 任务同时执行数量,除非多卡或单卡显存 > 24G,否则设为 1批量翻译视频时每批数量:设为 1 可逐个处理,设为 0 则全部同时处理| 选项 | 效果 | 适用场景 |
|---|---|---|
| 音频加速 | 加速配音以匹配字幕时长,音质可能略有损失 | 配音比字幕长 1-2 倍 |
| 视频慢速 | 慢放视频以匹配配音时长,画面可能略卡 | 配音比字幕长 2 倍以上 |
| 两者同时 | 各负担一半时间差,效果最佳 | 配音远长于字幕 |
发送完整字幕 有什么作用?选中后,AI 翻译时会附带行号和时间轴发给 AI,翻译质量更好但可能合并行。建议:
二次识别 与 LLM重新断句 的区别?| 选项 | 时机 | 作用 |
|---|---|---|
| LLM重新断句 | 语音识别后 | AI 修正错别字、重新切分长文本 |
| 二次识别 | 配音完成后 | 对配音音频再次识别,生成更精准的时间轴 |
使用
clone角色时,不建议使用 LLM 重新断句。
| 类型 | 说明 | 适用场景 |
|---|---|---|
| 不嵌入字幕 | 只替换声音,不添加字幕 | 仅需配音 |
| 嵌入硬字幕 | 字幕永久烧录到画面,无法关闭 | 任何播放器都能显示 |
| 嵌入软字幕 | 字幕作为独立轨道,播放器可开关 | 需要灵活控制字幕显示 |
| 嵌入硬字幕(双) | 中英双语硬字幕 | 需要双语对照 |
| 嵌入软字幕(双) | 中英双语软字幕 | 需要双语对照且可关闭 |
?*、表情符号等特殊符号_video_out/ 文件夹output/ 目录_video_out/ 文件夹myvideo-mp4,必须带格式后缀)zh-cn.srt(源语言)和 en.srt(目标语言)uv run cli.py --task <任务类型> --name "<文件路径>" [其他参数]
任务类型:stt(语音转录)、tts(文字配音)、sts(字幕翻译)、vtv(视频翻译)
uv run cli.py --list providers # 查看所有渠道
uv run cli.py --list languages # 查看所有语言代码
uv run cli.py --list models # 查看 faster-whisper 模型
--name is required:未指定输入文件File not found:文件路径错误或文件不存在--voice_role is required:TTS 模式下必须指定配音角色--target_language_code is required:STS/VTV 模式下必须指定目标语言目前不支持。
不能。本软件的原理是分析视频中的音频轨道,识别出人类的语音并转换为文字。它不具备图像文字识别(OCR)功能。 若有需要,可以点击查看另一个项目,提取视频中硬字幕
没有。本项目为个人开发的免费开源软件,没有盈利,因此无法配备专门的人工客服团队。如果您遇到问题,请先仔细阅读本 FAQ。 或你也可以选择软件右下角微信二维码打赏,留言你的微信号,获取有偿技术支持。
logs 文件夹有当前年月日命名的 log 格式日志文件在 "批量语音转字幕" 功能面板中可以选择"自动检测",在"翻译视频或音频"功能中去掉了自动检测。因为视频翻译后续工作如字幕翻译、配音(涉及参考音频)等某些渠道需要明确指定原始语言,否则会报错。如果你仅仅想转录语音为字幕,可单独使用左侧面板中的"批量语音转字幕"功能。
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 软件无法启动 | 杀毒软件拦截 / 路径问题 | 添加信任白名单 / 移至英文路径 |
| 缺少 python310.dll | 只下载了补丁包 | 下载完整包再覆盖补丁 |
| 识别结果为空 | 语言选择错误 / 无有效人声 | 正确选择语言 / 开启降噪 |
| 显存不足 | 模型太大 | 换小模型 / 改 int8 / 降 beam_size |
| GPU 未启用 | CUDA 未安装 / 驱动过旧 | 安装 CUDA 12.8+ / 更新驱动 |
| 翻译有空白行 | AI 合并了字幕行 | 取消"发送完整字幕" / 用在线模型 |
| Edge-TTS 403 | 微软限流 | 降并发 / 加暂停秒数 |
| 声音字幕不同步 | 语言时长差异 | 启用音频加速 / 视频慢速 |
| ffprobe 报错 | 路径过长或特殊符号 | 简化文件名 / 移至浅层目录 |
| 硬盘空间占满 | 视频慢速产生大量临时文件 | 清理 tmp/ 文件夹 |
| clone 配音差 | 参考音频时长不当 | 控制 3-10 秒 / 禁用 LLM 断句 |
| GPT-SoVITS 404 | API 版本不匹配 | 检查 api.py vs api_v2.py |