#1791 为什么生成不了mp4文件了

240e:3b7* Posted at: 3 days ago 👁24

之前可以生成mp4文件,然后过了一天之后就生成不了了

3 Replies

根据您的描述,问题可能出在以下方面:

  1. 缓存冲突:软件有缓存机制,如果之前处理过同名文件,再次处理时可能因缓存导致异常。
  2. 输出目录权限/路径问题:输出目录(默认是原视频目录下的 _video_out 文件夹)可能被占用、权限不足或路径包含特殊字符。
  3. FFmpeg 相关错误:这是最常见的原因,通常与文件路径或编码参数有关。

请按以下步骤排查:

第一步:强制清理缓存并重试
在软件主界面,务必勾选“清理已生成”选项,然后重新处理视频。这能确保从零开始生成所有中间文件和最终输出。

第二步:检查输出路径

  1. 确保输出目录(_video_out)没有正在被其他程序(如播放器、资源管理器)打开或占用。
  2. 尝试将输出目录更改到一个更简单、纯英文的路径(例如 D:/output)。您可以在主界面“输出目录”处手动设置。

第三步:简化输入文件

  1. 将待处理的视频文件重命名为简单的英文名(如 test.mp4)。
  2. 将其移动到磁盘根目录(如 D:/test.mp4)再进行处理。这可以排除因路径过长或包含中文字符导致的 FFmpeg 错误。

第四步:查看详细错误日志
如果以上步骤无效,问题很可能在 FFmpeg 合并或编码阶段。请提供完整的错误信息:

  1. 在软件运行并报错后,去软件所在目录下的 logs 文件夹。
  2. 打开最新的日志文件(如 sp_20250415.log),复制从您开始本次任务到任务结束的所有日志内容
  3. 将日志内容粘贴出来,以便进一步分析具体是哪个环节(如音频提取、字幕烧录、音视频合并)出了问题。

提供日志是诊断此类问题的关键。


Application started at 2025-12-05 09:20:37

type=0
t='-'
code=None
t='泰国语'
code='th'
vt='th'
2025-12-05 09:21:55,597 - VideoTrans - WARNING - 失败: 编码器 'h264_nvenc' 测试失败。FFmpeg 返回码: 4294967256
2025-12-05 09:21:55,597 - VideoTrans - WARNING - FFmpeg stderr:
[h264_nvenc @ 000001e4d2ee3dc0] Driver does not support the required nvenc API version. Required: 13.0 Found: 12.2
[h264_nvenc @ 000001e4d2ee3dc0] The minimum required Nvidia driver for nvenc is (unknown) or newer
[vost#0:0/h264_nvenc @ 000001e4d2ee1980] Error while opening encoder - maybe incorrect parameters such as bit_rate, rate, width or height.
[vf#0:0 @ 000001e4d2ee4140] Error sending frames to consumers: Function not implemented
[vf#0:0 @ 000001e4d2ee4140] Task finished with error code: -40 (Function not implemented)
[vf#0:0 @ 000001e4d2ee4140] Terminating thread with return code -40 (Function not implemented)
[vost#0:0/h264_nvenc @ 000001e4d2ee1980] Could not open encoder before EOF
[vost#0:0/h264_nv
......
nection
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "urllib3\connectionpool.py", line 787, in urlopen
File "urllib3\connectionpool.py", line 488, in _make_request
File "urllib3\connectionpool.py", line 464, in _make_request
File "urllib3\connectionpool.py", line 1093, in _validate_conn
File "urllib3\connection.py", line 753, in connect
File "urllib3\connection.py", line 207, in _new_conn
urllib3.exceptions.ConnectTimeoutError: (, 'Connection to translate.googleapis.com timed out. (connect timeout=300)')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "requests\adapters.py", line 667, in send
File "urllib3\connectionpool.py", line 841, in urlopen
File "urllib3\util\retry.py", line 519, in increment
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='translate.googleapis.com', port=443): Max retries exceeded with url: /translate_a/single?client=gtx&dt=t&sl=auto&tl=th&q=73B%E4%BE%BF%E6%90%BA%E7%A7%BB%E5%8A%A8%E7%82%B9%E7%84%8A%E7%AC%94%E3%80%8273SA%E5%8F%AF%E6%8B%86%E5%8D%B8%E7%94%B1%E8%87%82%E4%B8%8B%E5%8E%8B%E8%AF%95%E7%84%8A%E9%94%AF%E3%80%82%E5%8F%8C%E5%8A%9F%E8%83%BD%E9%AB%98%E6%95%88%E8%AF%95%E7%84%8A%E7%84%8A%E9%94%AF%2C%E7%BE%8E%E8%A7%82%E4%B8%8D%E5%8F%91%E9%BB%91%E3%80%82 (Caused by ConnectTimeoutError(, 'Connection to translate.googleapis.com timed out. (connect timeout=300)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "videotrans\translator\_base.py", line 112, in run
File "videotrans\translator\_google.py", line 57, in _item_task
File "requests\api.py", line 73, in get
File "requests\api.py", line 59, in request
File "requests\sessions.py", line 589, in request
File "requests\sessions.py", line 703, in send
File "requests\adapters.py", line 688, in send
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='translate.googleapis.com', port=443): Max retries exceeded with url: /translate_a/single?client=gtx&dt=t&sl=auto&tl=th&q=73B%E4%BE%BF%E6%90%BA%E7%A7%BB%E5%8A%A8%E7%82%B9%E7%84%8A%E7%AC%94%E3%80%8273SA%E5%8F%AF%E6%8B%86%E5%8D%B8%E7%94%B1%E8%87%82%E4%B8%8B%E5%8E%8B%E8%AF%95%E7%84%8A%E9%94%AF%E3%80%82%E5%8F%8C%E5%8A%9F%E8%83%BD%E9%AB%98%E6%95%88%E8%AF%95%E7%84%8A%E7%84%8A%E9%94%AF%2C%E7%BE%8E%E8%A7%82%E4%B8%8D%E5%8F%91%E9%BB%91%E3%80%82 (Caused by ConnectTimeoutError(, 'Connection to translate.googleapis.com timed out. (connect timeout=300)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "videotrans\task\_only_one.py", line 62, in run
File "videotrans\task\trans_create.py", line 396, in trans
File "videotrans\translator\__init__.py", line 740, in run
File "videotrans\translator\_base.py", line 146, in run
RuntimeError

您遇到了两个独立但共同导致任务失败的问题:

  1. 主要问题(导致无法生成MP4):硬件编码器故障。
    日志显示:Driver does not support the required nvenc API version. Required: 13.0 Found: 12.2
    原因:您的 NVIDIA 显卡驱动程序版本(12.2)低于软件调用硬件编码(h264_nvenc)所需的最低版本(13.0)。
    解决方案

    • 立即解决:在软件菜单栏选择 工具/选项 -> 高级选项
    • 在“视频输出控制”区域,找到并勾选 “强制使用软件编码器” 选项。
    • 保存设置后重新处理视频。这将绕过有问题的硬件编码器,使用 CPU 进行编码(速度会变慢,但可以正常输出)。
  2. 次要问题(翻译阶段失败):Google 翻译 API 连接超时。
    在编码器问题之后,软件尝试翻译时无法连接到 translate.googleapis.com
    原因:网络连接问题(可能需要代理)或 Google 服务暂时不可用。
    解决方案

    • 如果您在中国大陆,需要在主界面第5行的“网络代理”处填写可用的代理地址(如 http://127.0.0.1:7890)。
    • 或者,在翻译阶段更换为其他翻译渠道(如微软、DeepLX 或配置了 API Key 的 AI 翻译)。

操作优先级
首先执行“强制使用软件编码器”的修改,这是解决无法生成 MP4 文件的核心。翻译超时问题可以在编码问题解决后,根据您的网络环境再行调整。

完成上述设置后,请务必在主界面勾选“清理已生成”,然后重新开始任务。

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