#851 2025-10-07 14:21:10,429 - VideoTrans - INFO - 平台: Windows。正在按优先级检测最佳的 'h264' 编码器: ['nvenc', 'qsv', 'amf'] 2025-10-07 14:

*135.103* Posted at: 4 hours ago 👁8

2025-10-07 14:21:10,429 - VideoTrans - INFO - 平台: Windows。正在按优先级检测最佳的 'h264' 编码器: ['nvenc', 'qsv', 'amf']

2025-10-07 14:21:13,096 - VideoTrans - INFO - 正在测试编码器是否可用: h264_nvenc...

2025-10-07 14:21:13,515 - VideoTrans - INFO - 硬件编码器 'h264_nvenc' 可用。

2025-10-07 14:21:13,515 - VideoTrans - INFO - 已选择硬件编码器: h264_nvenc

2025-10-07 14:21:13,515 - VideoTrans - INFO - 最终确定使用的编码器: h264_nvenc

2025-10-07 14:30:09,997 - VideoTrans - INFO - #### 字幕翻译前准备1:self.aisendsrt=False,self.trans_thread=30

2025-10-07 14:30:09,998 - VideoTrans - INFO - 字幕翻译前准备2

2025-10-07 14:30:09,998 - VideoTrans - INFO - ##### [以文字行形式翻译]

2025-10-07 14:30:09,998 - VideoTrans - INFO - Starting call to 'videotrans.translator._deepseek.DeepSeek._item_task', this is the 1st time calling it.

2025-10-07 14:30:09,998 - VideoTrans - INFO -

[deepseek]发送请求数据:message=[{'role': 'system', 'content': '您是一名顶级的字幕翻译引擎。'}, {'role': 'user', 'content': '# 任务:逐行翻译\n\n将 ` 内的文本逐行翻译成 **英语语言**。\n\n**核心规则:**\n1. **行数绝对一致**:输入有几行,输出就必须有几行。即使句子被拆分,也要逐行翻译。\n2. **保留无法翻译的内容**:代码、专有名词、路径等无法翻译的行,直接原样输出。\n3. **指定格式**:所有输出必须用 标签包裹。\n\n---\n### 格式示例\n以下示例仅用于展示必须遵守的**格式**和**规则**。\n**请忽略示例中的具体语言,你的翻译目标是本任务开头指定的语言。**\n\n#### 输入:\nThis is\na long sentence.\nconfig_path\n\n#### 输出:\n`xml\n\n这是\n一个长句子。\nconfig_path\n\n`\n---\n\n你好啊我的朋友\n'}] 2025-10-07 14:30:12,801 - VideoTrans - INFO - [deepseek]响应:response=ChatCompletion(id='289ac640-d6c9-41a4-ae3d-477e433d48ee', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='`xml\n\nHello there my friend\n\n``', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=None))], created=1759818609, model='deepseek-chat', object='chat.completion', service_tier=None, system_fingerprint='fp_ffc7281d48_prod0820_fp8_kvcache', usage=CompletionUsage(completion_tokens=21, prompt_tokens=211, total_tokens=232, completion_tokens_details=None, prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=0), prompt_cache_hit_tokens=0, prompt_cache_miss_tokens=211))

2025-10-07 14:32:58,218 - VideoTrans - INFO - Starting call to 'videotrans.tts._gptsovits.GPTSoVITS._item_task.._run', this is the 1st time calling it.

2025-10-07 14:32:58,219 - VideoTrans - INFO - GPT-SoVITS get:data={'text': '你好啊我的朋友.', 'text_lang': 'zh', 'ref_audio_path': 'wavs/【默认】欸?已经被你看出来了吗?我还以为我装得够像了。.wav', 'prompt_text': '欸?已经被你看出来了吗?我还以为我装得够像了。', 'prompt_lang': 'zh', 'speed_factor': 1.0}

self.api_url='http://127.0.0.1:9880/tts'

2025-10-07 14:34:24,391 - VideoTrans - INFO - 平台: Windows。正在按优先级检测最佳的 'h264' 编码器: ['nvenc', 'qsv', 'amf']

2025-10-07 14:34:25,440 - VideoTrans - INFO - 正在测试编码器是否可用: h264_nvenc...

2025-10-07 14:34:25,604 - VideoTrans - INFO - 硬件编码器 'h264_nvenc' 可用。

2025-10-07 14:34:25,604 - VideoTrans - INFO - 已选择硬件编码器: h264_nvenc

2025-10-07 14:34:25,604 - VideoTrans - INFO - 最终确定使用的编码器: h264_nvenc

2025-10-07 14:40:04,368 - VideoTrans - INFO - 平台: Windows。正在按优先级检测最佳的 'h264' 编码器: ['nvenc', 'qsv', 'amf']

2025-10-07 14:40:05,344 - VideoTrans - INFO - 正在测试编码器是否可用: h264_nvenc...

2025-10-07 14:40:05,504 - VideoTrans - INFO - 硬件编码器 'h264_nvenc' 可用。

2025-10-07 14:40:05,504 - VideoTrans - INFO - 已选择硬件编码器: h264_nvenc

2025-10-07 14:40:05,504 - VideoTrans - INFO - 最终确定使用的编码器: h264_nvenc

2025-10-07 14:40:33,835 - VideoTrans - INFO - Starting call to 'videotrans.tts._gptsovits.GPTSoVITS._item_task.._run', this is the 1st time calling it.

2025-10-07 14:40:33,835 - VideoTrans - INFO - GPT-SoVITS get:data={'text': '你好啊我的朋友.', 'text_lang': 'zh', 'ref_audio_path': 'wavs/【默认】欸?已经被你看出来了吗?我还以为我装得够像了。.wav', 'prompt_text': '欸?已经被你看出来了吗?我还以为我装得够像了。', 'prompt_lang': 'zh', 'speed_factor': 1.0}

self.api_url='http://127.0.0.1:9880/tts'

2025-10-07 14:40:58,321 - VideoTrans - INFO - Starting call to 'videotrans.tts._gptsovits.GPTSoVITS._item_task.._run', this is the 1st time calling it.

2025-10-07 14:40:58,322 - VideoTrans - INFO - GPT-SoVITS get:data={'text': '你好啊我的朋友.', 'text_lang': 'zh', 'ref_audio_path': 'wavs/【默认】欸?已经被你看出来了吗?我还以为我装得够像了。.wav', 'prompt_text': '欸?已经被你看出来了吗?我还以为我装得够像了。', 'prompt_lang': 'zh', 'speed_factor': 1.0}

self.api_url='http://127.0.0.1:9880/tts'

2025-10-07 14:41:02,288 - VideoTrans - INFO - Finished call to 'videotrans.tts._gptsovits.GPTSoVITS._item_task.._run' after 3.969(s), this was the 1st time calling it.

2025-10-07 14:41:07,296 - VideoTrans - INFO - Starting call to 'videotrans.tts._gptsovits.GPTSoVITS._item_task.._run', this is the 2nd time calling it.

2025-10-07 14:41:07,296 - VideoTrans - INFO - GPT-SoVITS get:data={'text': '你好啊我的朋友.', 'text_lang': 'zh', 'ref_audio_path': 'wavs/【默认】欸?已经被你看出来了吗?我还以为我装得够像了。.wav', 'prompt_text': '欸?已经被你看出来了吗?我还以为我装得够像了。', 'prompt_lang': 'zh', 'speed_factor': 1.0}

self.api_url='http://127.0.0.1:9880/tts'

2025-10-07 14:41:08,891 - VideoTrans - INFO - Finished call to 'videotrans.tts._gptsovits.GPTSoVITS._item_task.._run' after 10.562(s), this was the 2nd time calling it.

2025-10-07 14:42:29,765 - VideoTrans - INFO - Starting call to 'videotrans.tts._gptsovits.GPTSoVITS._item_task.._run', this is the 1st time calling it.

2025-10-07 14:42:29,765 - VideoTrans - INFO - GPT-SoVITS get:data={'text': '你好啊,我亲爱的朋友,希望你的每一天都是美好愉快的!', 'text_lang': 'zh', 'ref_audio_path': 'wavs/【默认】欸?已经被你看出来了吗?我还以为我装得够像了。.wav', 'prompt_text': '欸?已经被你看出来了吗?我还以为我装得够像了。', 'prompt_lang': 'zh', 'speed_factor': 1.0}

self.api_url='http://127.0.0.1:9880/tts'

2025-10-07 14:43:51,606 - VideoTrans - INFO - Starting call to 'videotrans.tts._gptsovits.GPTSoVITS._item_task.._run', this is the 1st time calling it.

2025-10-07 14:43:51,606 - VideoTrans - INFO - GPT-SoVITS get:data={'text': '你好啊,我亲爱的朋友,希望你的每一天都是美好愉快的!', 'text_lang': 'zh', 'ref_audio_path': 'wavs/【默认】欸?已经被你看出来了吗?我还以为我装得够像了。.wav', 'prompt_text': '欸?已经被你看出来了吗?我还以为我装得够像了。', 'prompt_lang': 'zh', 'speed_factor': 1.0}

self.api_url='http://127.0.0.1:9880/tts' 在我测试gptsovits api语音时 pyvideotrans会直接闪退

1 Replies

本条内容由 DeepSeek 回复
根据您提供的日志信息,问题出现在使用 GPT-SoVITS 进行语音合成(配音)时,pyVideoTrans 软件会闪退。从日志中可以看到,软件在调用 http://127.0.0.1:9880/tts 这个本地 API 时,虽然发送了请求数据,但某些请求耗时较长(例如一个耗时约10秒),这可能是导致闪退的诱因。

主要原因分析:

1. GPT-SoVITS 服务不稳定:您本地部署的 GPT-SoVITS 服务(运行在 127.0.0.1:9880)可能响应缓慢或处理请求时出现内部错误,导致 pyVideoTrans 在等待响应时超时或崩溃。

2. 资源占用过高:GPT-SoVITS 进行语音合成时,尤其是处理较长句子时,可能会占用大量 CPU/GPU 或内存资源。如果您的系统资源不足,pyVideoTrans 进程可能因资源竞争而被系统终止。

3. 网络请求超时:虽然调用的是本地服务,但如果 GPT-SoVITS 服务端处理超时(日志中显示有的请求处理了10秒以上),pyVideoTrans 的网络客户端可能没有设置足够的超时时间,导致进程无响应而闪退。

解决方案:

1. 检查 GPT-SoVITS 服务状态

  • 确保您的 GPT-SoVITS 服务已正确启动并在 http://127.0.0.1:9880 可访问。您可以在浏览器中访问 http://127.0.0.1:9880(如果支持 Web 界面)或使用工具如 curl 测试 curl -X POST http://127.0.0.1:9880/tts 是否返回预期响应。
  • 查看 GPT-SoVITS 服务的日志,确认其在处理请求时是否有错误输出。服务端的问题(如模型加载失败、内存溢出)会导致 pyVideoTrans 调用失败。

2. 优化资源设置

  • 关闭其他占用大量资源的应用程序,确保系统有足够的空闲内存和 GPU 资源。
  • 在 pyVideoTrans 的“高级选项”中,减少“同时配音字幕数”(dubbing_thread),例如从默认值改为 1,以降低并发请求对 GPT-SoVITS 的压力。
  • 增加“配音后暂停时间/秒”(dubbing_wait),例如设置为 5-10 秒,给 GPT-SoVITS 更多处理时间,避免频繁请求。

3. 检查 pyVideoTrans 配置

  • 确认您使用的是最新版本的 pyVideoTrans(当前最新为 Windows 预打包 v3.81/源代码 v3.80),旧版本可能存在的 Bug 已修复。
  • 在 pyVideoTrans 的 TTS 设置中,验证 GPT-SoVITS 的 API 地址是否正确为 http://127.0.0.1:9880/tts。如果 GPT-SoVITS 服务使用了不同的端口或路径,请相应调整。

4. 查看详细日志

  • 闪退后,请进入 pyVideoTrans 软件目录下的 logs 文件夹,打开以当前日期命名的 .log 文件(例如 2025-10-07.log),检查闪退前的最后几条日志是否有错误信息(如 Python Traceback)。这将帮助更精确地定位问题。

5. 临时使用其他 TTS 渠道

  • 如果问题持续,可以暂时切换到其他 TTS 渠道(如 edge-TTS)测试是否闪退。如果其他渠道正常,则问题特定于 GPT-SoVITS 集成,可能需要优化您的 GPT-SoVITS 部署。

如果以上步骤无法解决,请提供闪退时的完整日志文件内容,以便进一步分析。您也可以查阅 pyVideoTrans 官方文档(https://pyvideotrans.com)或 GPT-SoVITS 项目文档,获取更多配置指导。

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Donate: https://ko-fi.com/jianchang512

Trending Questions