#1662 这个翻译容易卡住,比如批量翻译很容易翻译五条就卡住了,可能是那边模型没返回结果,然后就一直卡住,需要全关了再开再选没翻译的,且批量翻译太慢了,可不可以出翻译并发,就一次十几条字幕并发翻译,还有自动重试比如两分钟未返回结果自动重试。

36.142* Posted at: 10 days ago 👁54

这个翻译容易卡住,比如批量翻译很容易翻译五条就卡住了,可能是那边模型没返回结果,然后就一直卡住,需要全关了再开再选没翻译的,且批量翻译太慢了,可不可以出翻译并发,就一次十几条字幕并发翻译,还有自动重试比如两分钟未返回结果自动重试。

7 Replies

您提到的批量翻译卡住和效率问题,确实是软件当前存在的痛点。针对您提出的几个问题,以下是解决方案和建议:

1. 翻译卡住/无响应问题

  • 立即解决方案:在 工具/选项 -> 高级选项 中,勾选 “批量翻译时强制串行”。这会将多个视频的处理从并行改为逐个进行,虽然总时间可能增加,但能极大避免因并发过高导致的卡死问题。
  • 调整翻译参数:在同一界面下的“字幕翻译调整”区域:

    • 适当减小 “同时翻译字幕数”(例如从默认的20改为5-10),降低单次请求负载。
    • 增加 “翻译后暂停时间/秒”(例如设为3-5秒),避免触发翻译API的频率限制。

2. 提升翻译速度(并发请求)

软件已经支持字幕的并发翻译。您提到的“一次十几条字幕并发翻译”正是通过 “同时翻译字幕数” 这个参数控制的。您可以根据您使用的翻译服务(如Google、DeepSeek等)的并发限制和能力,适当调高此数值来加速。

3. 自动重试机制

目前软件缺乏针对单次翻译请求超时的自动重试机制。您提出的“两分钟未返回结果自动重试”是一个非常合理的功能建议。

总结与行动建议:

  1. 首要步骤:请立即在 高级选项 中启用 “批量翻译时强制串行”,这将显著解决卡住不动的问题。
  2. 速度优化:在稳定不卡死的前提下,逐步微调 “同时翻译字幕数” 来寻找速度与稳定性的平衡点。
  3. 功能建议:关于自动重试等增强稳定性的功能,您可以将此建议反馈给开发者(例如在GitHub仓库提交Issue),这有助于推动软件未来的改进。

我并未找到同时翻译字幕数这个参数的位置,高级设置里没有这个参数

您说得对,在“高级选项”中,这个参数的名称是 “每批字幕行数”,而不是“同时翻译字幕数”。它位于“高级选项”窗口的“字幕翻译调整”区域。

解决您问题的具体步骤:

  1. 在软件主界面,点击顶部菜单栏的 “工具” -> “选项” -> “高级选项”
  2. 在弹出的窗口中,找到 “字幕翻译调整” 区域。
  3. 您会看到 “每批字幕行数” 这个参数。这个参数控制着一次性发送给翻译引擎的字幕条数,数值越大,并发越高,翻译速度理论上越快,但也更容易因API限制或网络问题导致卡住。
  4. 针对您“翻译五条就卡住”的问题,建议操作如下:

    • 首要解决卡住问题:将 “每批字幕行数” 的值调小,例如从默认的 20 改为 53。这能降低单次请求的负载,提高成功率。
    • 增加暂停时间:同时,将其下方的 “翻译后暂停时间/秒” 设置为 35,以避免触发翻译API的频率限制。
    • 启用强制串行:务必勾选 “批量翻译时强制串行”,这能防止多个视频同时翻译互相干扰导致的卡死。

总结: 您需要的并发控制参数就是 “每批字幕行数”。请先通过调小此数值和启用强制串行来解决稳定性问题,待运行稳定后,再逐步调高此值来优化速度。

它从20.09之后我的api后台没有再看到他请求数据,然后他就一直着不翻译我log文件后面是这样的

进入执行字幕翻译阶段
self.proxy_str=None,self.uuid='6fd6edc753'
2025-11-28 20:09:43,917 - INFO - Starting call to 'videotrans.translator._chatgpt.ChatGPT._item_task', this is the 1st time calling it.
2025-11-28 20:09:43,917 - INFO -
[chatGPT]发送请求数据:message=[{'role': 'system', 'content': '您是一名顶级的字幕翻译引擎。'}, {'role': 'user', 'content': "# 角色\n你是一个顶级的SRT字幕翻译引擎,专门负责将SRT字幕精准地翻译成 简体中文。你的核心任务是生成专业、格式严谨的双语对照SRT字幕。\n\n# 核心任务\n处理 ` 标签内的原始SRT字幕,将其翻译成 简体中文,并严格按照下述规则和格式输出。\n\n# 工作流程与规则\n你必须严格遵循以下步骤和规则:\n\n1. **保留结构**: 完整保留原始SRT的序号、时间码(格式为 00:00:00,000)以及字幕条目之间的空行。绝不能修改或删除它们。\n\n2. **强制双语格式**: 每个字幕条目必须包含两行文本内容。\n - 第一行:原始字幕文本。\n - 第二行:对应的 简体中文 译文。\n\n3. **翻译风格**:\n - 译文必须通俗易懂、口语化。\n - 优先使用简洁的表达,避免不必要的长句。\n\n4. **特殊内容处理**:\n - **非翻译内容**: 如果某行字幕仅由数字、空格、标点符号或其任意组合构成(例如 ...123-456`),则不要翻译。直接将原文复制为译文行,以满足“强制双语格式”规则。\n - 无法翻译的内容: 如果遇到确实无法翻译的文本(如无意义的乱码或特定上下文的专有词),译文行必须是一个空行。绝不能输出任何解释、注释或错误信息。\n\n# 输出格式\n所有最终结果,即完整的双语SRT内容
......
it\n\n45\n00:06:21,100 --> 00:06:32,590\nof eq to clean it up there's definitely some trumpets in there so there's some honk to be\n\n46\n00:06:32,590 --> 00:06:44,620\ncut at least in a like a 2k uh otherwise it's just pretty simple you know then this other brass a\n\n47\n00:06:46,250 --> 00:06:54,340\nfairly similar eq it's mostly horns anyway so it just kind of depends on the sound there is\n\n48\n00:06:54,340 --> 00:07:01,160\ntwo eqs however let me see there is this first eq here and the second eq yeah this one is just\n\n49\n00:07:01,160 --> 00:07:08,850\nfine tuning sometimes i like to do some fine tuning on a different eq for clarity of vision\n\n50\n00:07:08,850 --> 00:07:18,920\nthey by default very resonant horns very muddy horns you know even with all this eq the sound\n\n51\n00:07:18,920 --> 00:07:24,640\nis still relatively dark it's not like the most hyped sound ever i think so sometimes you just\n\n52\n00:07:24,640 --> 00:07:31,320\nneed to cut more than you think but don't systematically cut that much it depends on\n\n53\n00:07:31,320 --> 00:07:44,000\nthe samples okay then we have the last horns patch very resonant notes i mean certain notes spoke so\n\n54\n00:07:44,000 --> 00:07:49,910\nmuch you can even see it here in the waveform see on the left you have this big uh this big bike\n\n55\n00:07:49,910 --> 00:07:56,220\nhere that's what you're seeing but that's why i need the dynamic eq so we don't get this huge\n\n56\n00:07:56,220 --> 00:08:01,190\nlow mid resonance otherwise we would just have like a huge kind of resonance masking everything\n\n57\n00:08:01,190 --> 00:08:05,970\nelse in the mix for a short period of time so that dynamic eq really kind of keeps this resonance\n\n58\n00:08:05,970 --> 00:08:20,090\nin check making sure that the horn is like the horn sound is consistent in in the mix and we\n\n59\n00:08:20,090 --> 00:08:27,940\nhave the mid range there but it's not like you know um and yeah precedence here just putting it\n\n60\n00:08:27,940 --> 00:08:34,240\nuh really on the left as you can see it's even narrowed here so the point was to to make it\n\n61\n00:08:34,240 --> 00:08:37,960\nreally kind of more on the left and it kind of averages out with this one which is more centered\n\n62\n00:08:37,960 --> 00:08:46,550\nand the other ones as well so we have like a huge set of horns just kind of leaving anywhere from\n\n63\n00:08:46,550 --> 00:08:56,870\nleft to middle creating a nice big sound okay and then some mellow horns here just for the intro a\n\n64\n00:09:08,520 --> 00:09:18,860\nbit of an automation because the intro kind of grows pretty simple as you can see mostly just\n\n65\n00:09:18,860 --> 00:09:23,760\nEQ and panning. Right, so now let's move on to the woodwinds.\n"}]
进入执行完成阶段
等待 uuid_signal 线程退出
正在等待线程 TranslationSRT 结束...
Successfully killed ffmpeg processes using taskkill


Application started at 2025-11-28 20:39:33

2025-11-28 20:39:36,824 - INFO - 返回缓存的编解码器 Windows-264: h264_nvenc

根据您的日志,问题很明确:软件向ChatGPT翻译API发送了请求,但API没有返回任何响应,导致翻译任务一直卡住。日志显示请求在20:09:43发送后,后面就没有任何关于翻译结果的记录了。

问题原因:

  • ChatGPT API服务端可能出现了临时故障、网络延迟或超时
  • 您的API密钥可能已达到使用限制或配额耗尽
  • 网络连接不稳定导致请求丢失

解决方案:

  1. 立即检查API状态:

    • 登录OpenAI平台检查API密钥的剩余配额和使用情况
    • 确认API密钥是否仍然有效
  2. 调整翻译设置:

    • 高级选项 -> 字幕翻译调整中:

      • 将"每批字幕行数"从20改为5-10(减少单次请求量)
      • 将"翻译后暂停时间/秒"设置为5-10秒(避免频率限制)
  3. 更换翻译渠道临时解决:

    • 如果急需完成翻译,可暂时切换到其他翻译渠道,如:

      • Google翻译(需要代理)
      • DeepSeek(免费且稳定)
      • 微软翻译
  4. 网络检查:

    • 确认代理设置正确且稳定
    • 测试网络连接到api.openai.com是否通畅
  5. 重试策略:

    • 目前软件缺乏自动重试机制,您需要手动重启任务
    • 建议在开发者GitHub页面提交"添加翻译超时自动重试"的功能请求

请先检查API密钥状态和网络连接,然后减少批量大小重试。如果问题持续,建议暂时更换翻译渠道。

就没有什么失败再次尝试?就直接卡这了、、、、

您说得完全正确,这确实是软件目前的一个设计缺陷。当翻译API请求失败或超时时,软件没有自动重试机制,而是直接卡住等待,用户体验很差。

当前临时解决方案:

  1. 手动干预:这是目前唯一的办法。当发现翻译卡住时,您需要:

    • 在软件界面点击 停止 按钮
    • 然后重新点击 开始,软件会从中断处继续处理
  2. 预防性设置:在 高级选项 -> 字幕翻译调整 中:

    • 大幅调低 “每批字幕行数”:建议设为 3-5,减少单次请求的数据量,降低失败概率。
    • 增加 “翻译后暂停时间/秒”:设为 5-10 秒,避免触发API的速率限制。

根本原因与建议:

您遇到的情况凸显了软件需要一个 “请求超时”“自动重试” 机制。例如,如果请求在30秒内未收到响应,应该自动放弃当前请求,等待几秒后重新发送。

这是一个非常重要的功能改进建议。您可以将这个需求直接反馈给开发者,这能帮助推动软件在后续版本中增加此类容错机制,从而彻底解决“直接卡死”的问题。

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