#2399 TaskCfg(cache_folder='D:/TTS/win-pyvideotrans-v3.92/tmp/1540/38b12aeb28', target_dir='D:/TTS/win-pyvideotrans-v3.92/outp

104.28* Posted at: 7 hours ago 👁12

配音阶段出错 [ChatterBox TTS] 500 Server Error: INTERNAL SERVER ERROR for url: http://127.0.0.1:5093/v2/audio/speech_with_prompt
Traceback (most recent call last):
File "videotrans\task\job.py", line 224, in run
File "videotrans\task\_dubbing.py", line 48, in dubbing
File "videotrans\task\_dubbing.py", line 217, in _tts
File "videotrans\tts\__init__.py", line 286, in run
File "videotrans\tts\_base.py", line 190, in run
File "tenacity\__init__.py", line 480, in call
File "videotrans\tts\_chatterbox.py", line 46, in _run
File "videotrans\tts\_chatterbox.py", line 102, in _item_task_clone
File "requests\models.py", line 1026, in raise_for_status
requests.exceptions.HTTPError: 500 Server Error: INTERNAL SERVER ERROR for url: http://127.0.0.1:5093/v2/audio/speech_with_prompt

TaskCfg(cache_folder='D:/TTS/win-pyvideotrans-v3.92/tmp/1540/38b12aeb28', target_dir='D:/TTS/win-pyvideotrans-v3.92/output/tts', remove_noise=False, is_separate=False, detect_language=None, subtitle_language=None, source_language=None, target_language=None, source_language_code=None, target_language_code='zh-cn', source_sub=None, target_sub='D:/Users/Administrator/Documents/100 字幕/0025.zh-CN.srt', source_wav=None, source_wav_output=None, target_wav='D:/TTS/win-pyvideotrans-v3.92/output/tts/0025.zh-CN.wav', target_wav_output=None, subtitles=None, novoice_mp4=None, noextname='0025.zh-CN', shibie_audio=None, targetdir_mp4=None, instrument=None, vocal=None, back_audio=None, background_music=None, app_mode='biaozhun', subtitle_type=0, volume='+0%', pitch='+0Hz', voice_rate='+0%', voice_role='yingyufanben.wav', copysrt_rawvideo=False, clear_cache=False, translate_type=None, tts_type=12, recogn_type=None, model_name=None, split_type=0, voice_autorate=True, video_autorate=False, cuda=False, name='D:/Users/Administrator/Documents/100 字幕/0025.zh-CN.srt', basename='0025.zh-CN.srt', ext='srt', dirname='D:/Users/Administrator/Documents/100 字幕', shound_del_name=None, uuid='38b12aeb28', remove_silent_mid=False, align_sub_audio=False, enable_diariz=False, nums_diariz=0, rephrase=2, only_out_mp4=False)


=
system:Windows-10-10.0.19045-SP0
version:v3.92
frozen:True
language:zh
root_dir:D:/TTS/win-pyvideotrans-v3.92

5 Replies

该错误表明您本地部署的 ChatterBox TTS 服务在处理请求时发生了内部服务器错误 (500)。问题根源在于您的本地 TTS 服务端,而非 pyVideoTrans 客户端。请按以下步骤排查:

  1. 确认 ChatterBox 服务状态

    • 检查您启动的 ChatterBox TTS 服务是否仍在运行,并且监听地址 http://127.0.0.1:5093 是否正确。
    • 尝试在浏览器中访问 http://127.0.0.1:5093/docshttp://127.0.0.1:5093/v2/audio/speech_with_prompt,看服务是否正常响应。
  2. 检查 ChatterBox 服务端日志

    • 查看您启动 ChatterBox 服务的命令行窗口或日志文件,寻找具体的错误信息。常见的内部错误可能包括:

      • 模型加载失败。
      • 显存 (GPU) 或内存 (RAM) 不足。
      • 输入的参考音频文件 (voice_role='yingyufanben.wav') 路径错误或格式不支持。
      • 服务配置问题。
  3. 验证参考音频文件

    • 确认 yingyufanben.wav 文件存在于 pyVideoTrans 的 clone 目录下(通常是 软件根目录/clone/)。
    • 确保该 .wav 文件是有效的音频文件,并且时长不宜过短(建议5-30秒清晰人声)。
  4. 重启服务

    • 尝试完全关闭并重新启动您的 ChatterBox TTS 服务。
  5. 简化测试

    • 在 pyVideoTrans 的“工具箱” -> “试听配音”功能中,使用相同的 ChatterBox 配置和参考音频对一小段文字进行试听,看是否能复现错误。

核心排查方向:由于错误是服务端返回的 500,您需要重点检查本地 ChatterBox TTS 服务的运行状态、资源占用和日志输出。

请查看更多参考文档:

http://127.0.0.1:5093/docs 无法访问 提示Not Found
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

该错误表明您的 ChatterBox TTS 服务虽然进程在运行,但 API 端点可能未正确启动或版本不匹配。/docs 路径不存在,说明服务可能不是以标准的 FastAPI 文档模式启动,或者服务本身启动失败。

请按以下步骤彻底排查:

  1. 检查服务进程与端口

    • 打开任务管理器,确认 python 或相关进程是否在运行。
    • 打开命令提示符,运行 netstat -ano | findstr :5093,查看 5093 端口是否被监听。如果无输出,则服务未成功启动。
  2. 检查并重启 ChatterBox 服务

    • 找到您启动 ChatterBox 的命令行窗口,查看其中是否有明显的错误日志(如模型下载失败、CUDA 错误、依赖缺失等)。
    • 完全关闭该服务进程。
    • 根据官方部署指南,重新启动 ChatterBox 服务。启动命令通常类似于:

      python api.py --port 5093 --device cuda

      uvicorn api:app --host 0.0.0.0 --port 5093
    • 启动后,仔细查看控制台输出,确认没有报错,并看到类似 Uvicorn running on http://0.0.0.0:5093 的成功提示。
  3. 验证服务健康端点

    • 服务重新启动后,在浏览器中尝试访问 http://127.0.0.1:5093/http://127.0.0.1:5093/docs
    • 如果依然无法访问,则说明服务启动失败。您需要根据其控制台输出的错误信息进行解决(常见问题:缺少依赖、模型路径错误、端口冲突、GPU内存不足)。
  4. 在 pyVideoTrans 中测试连接

    • 服务启动成功后,在 pyVideoTrans 主界面或“工具箱” -> “试听配音”中,选择 ChatterBox TTS,角色选择 clone,并指定您的参考音频文件,对一段文字进行试听。

核心结论:当前问题是由于您的本地 ChatterBox TTS 服务未正常运行导致的。您必须确保该服务独立、稳定启动后,pyVideoTrans 才能调用成功。

请查看更多参考文档:

http://127.0.0.1:5093/v2/audio/speech_with_prompt也无法访问,提示
Method Not Allowed
The method is not allowed for the requested URL.

这是一个积极的信号。Method Not Allowed 错误表明服务端(http://127.0.0.1:5093)已启动并正在运行,且 /v2/audio/speech_with_prompt 这个端点确实存在。错误原因是您使用了错误的 HTTP 方法 进行访问。

问题诊断与解决方案:

  1. 根本原因:您通过浏览器直接访问该 URL,浏览器默认使用 GET 方法。而 ChatterBox TTS 的这个 API 端点(用于语音克隆合成)只接受 POST 请求,因此返回了 405 Method Not Allowed
  2. 如何验证服务正常:要确认服务完全正常,您需要测试其 POST 接口。由于浏览器不便直接发送 POST 请求,您可以:

    • 使用 pyVideoTrans 的“试听”功能:这是最直接的测试方法。在软件主界面或“工具箱” -> “试听配音”中,配置好 ChatterBox TTS 和参考音频,点击试听。如果成功合成语音,则证明连接无误。
    • 使用 API 测试工具:如 curl 命令或 Postman 等工具,向 http://127.0.0.1:5093/v2/audio/speech_with_prompt 发送一个合法的 POST 请求(包含 textprompt_audio 等参数)。
  3. 关于您最初的 500 错误:既然服务已启动,那么之前的 500 Internal Server Error 很可能是在处理某个特定请求时发生的。可能的原因包括:

    • 参考音频文件问题:您指定的 voice_role='yingyufanben.wav' 文件可能不存在、路径错误、格式不被支持或音频质量不佳。
    • 服务端临时错误:模型推理时出现异常(如显存不足、文本过长等)。
    • 网络波动:请求超时。

行动步骤:

  1. 确认参考音频:检查 yingyufanben.wav 文件是否位于 pyVideoTrans 目录下的 clone/ 文件夹内,并且是一个有效的、清晰的、时长合适的 WAV 文件。
  2. 进行试听测试:在 pyVideoTrans 中,使用相同的配置(ChatterBox TTS,克隆角色,选择该音频文件)对一小段文字(例如“你好,世界”)进行试听。

    • 如果试听成功:说明服务连接和音频文件都没问题。之前的 500 错误可能是偶发性问题,可以尝试重新运行您的翻译/配音任务。
    • 如果试听也报错:请查看 pyVideoTrans 日志窗口或 logs/ 目录下的日志文件,获取更详细的错误信息,这将直接指向问题根源(如“音频加载失败”、“模型错误”等)。

结论:您的 ChatterBox TTS 服务已经成功运行。当前需要做的是在 pyVideoTrans 客户端内进行正确配置和测试,以排除音频文件或特定请求内容导致的问题。

请查看更多参考文档:

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