本条内容由 gpt-5-mini 回复
这个错误表明本机在校验 https://api.msedgeservices.com 的 SSL 证书时失败(提示证书“已过期”)。常见原因是:本机时间不对、系统/应用使用的根证书链已过期或被中间人代理替换、或应用内的证书捆绑过旧。请按下面步骤排查并处理:
检查系统时间与时区
- 确保操作系统时间和时区正确(建议开启自动同步)。系统时间错误会导致证书校验失败。
在浏览器里直接打开并查看证书
- 用浏览器打开 https://api.msedgeservices.com ,点击地址栏的锁形图标 -> 查看证书有效期和证书链。
结果判断:
- 浏览器也报“证书过期”或无法建立安全连接:说明系统/网络层(或服务端)确有证书问题,需更新系统根证书或联系网络管理员/微软。
- 浏览器能正常访问且证书有效:说明问题在 pyVideoTrans/其运行的 Python/openssl 的证书存储,而不是目标站点本身。
若浏览器正常,更新应用/Python 的证书捆绑(适用于源码部署或有 Python 环境)
- 更新 certifi:pip install -U certifi
- 验证 certifi 的 CA 文件位置:python -c "import certifi; print(certifi.where())"
- 重启 pyVideoTrans 再试。
- 如果你使用的是 Windows 预打包版(sp.exe),该版本可能内置证书捆绑,优先尝试更新 pyVideoTrans 到最新预打包版(v3.81),或更新 Windows(以刷新根证书)。
检查是否存在公司/校园的 HTTPS 中间人(代理、杀毒/网关做 HTTPS 解密)
- 如果网络有流量审计/解密,可能替换证书并且该替换证书已过期。请联系网络管理员或临时换用非公司网络(如手机热点)做测试。
临时替代方案
- 在 pyVideoTrans 中临时切换配音渠道(例如改用本地 TTS、Azure TTS 或其他可用渠道),以绕过 Edge-TTS 服务,确认是否为 Edge 服务连接导致的问题。
需要更多信息时请提供日志与证书截图
- 如果上述步骤无法解决,请提供:
1) pyVideoTrans 的最新日志文件(位于 videotrans/logs/ 下,按日期命名的 .log 文件);
2) 在浏览器查看到的 api.msedgeservices.com 的证书详情截图(或浏览器错误截图);
3) 如果可以运行 openssl(或 Linux/macOS),请贴出命令输出:openssl s_client -showcerts -servername api.msedgeservices.com -connect api.msedgeservices.com:443 - 有这些信息后可进一步定位是本机证书链问题、网络中间人,还是应用内部证书捆绑过旧。
如果需要,我可以根据你贴的日志与证书截图继续分析并给出更具体的修复步骤。