VideoCaptioner 1.4.2 的免费转录确实能用:一段 9.87 秒的中文语音,9 秒转完,输出 3 段字幕,内容对得上原文,全程不需要任何 API Key。

但翻译这条路走不通。它主打的「必应免费翻译」在实测里报 404,接口已经不可用;换谷歌则卡在我这台机器的代理上。

我是用 pip 装的,Windows 10 22H2 加 Python 3.12.10。装的过程踩了三个坑:

  • Python 3.13 装不上,必须降到 3.12
  • 官方安装器静默装 3.12 返回 1603,要用 embeddable 版
  • 装完缺 httpx,CLI 直接崩,得手动补

Python 3.13 能装吗

不能。我用 Python 3.13.14 直接 pip install videocaptioner,pip 给的是:

Ignored the following versions that require a different python version:
1.4.0 Requires-Python >=3.10,<3.13
1.4.1 Requires-Python >=3.10,<3.13
1.4.2 Requires-Python >=3.10,<3.13

三个版本都把上限定在 3.13 以下。要么装 3.12,要么等作者放宽。这一点 README 的安装一节没有提。

装的时候还有哪两个坑

我换成 Python 3.12.10 的 embeddable 版,又踩了两下。

第一下是官方安装器。用 /quiet 静默装 3.12,返回码 1603,装了 15 秒什么都没留下。所以我改用 embeddable zip,解压即用,不碰系统。

第二下是 setuptools。embeddable 版不带它,装包时报 Cannot import 'setuptools.build_meta'。先补一句 pip install setuptools wheel 才过得去。

补完这些,pip install videocaptioner 跑完用 111 秒,装了 PyQt5 5.15.11、pyqt-fluent-widgets、modelscope、openai、yt-dlp 等一堆依赖。

装完就能用吗

不能。videocaptioner --help 直接崩:

ModuleNotFoundError: No module named 'httpx'

看了下装进去的依赖,有一个 httpx2 2.15.1,但代码里写的是 import httpx。手动 pip install httpx 之后命令才正常。

这一条大概是打包时依赖名写错了,不是配置问题。videocaptioner --version 到这一步才正确输出 1.4.2。

自带的自检能查出什么

videocaptioner doctor 会把环境逐项列出来。我这台机器上四项 OK、四个 WARN。

四项通过、四项警告,具体是:

  • 通过:python 3.12.10、ffmpeg 9.0.1、ffprobe、yt-dlp 2026.08.19
  • 警告:配置文件不存在
  • 警告:LLM API key 缺失
  • 警告:配音预设没配、配音 API key 缺失

它还顺带告诉你默认配置:ASR 用 bijian(必剪)、翻译用 bing、AI 润色默认开着。这几个值很关键,后面翻译失败就跟它有关。

免费转录准不准

准。我用 Windows 自带的 Huihui 中文语音合成了 9.87 秒音频,内容是「这是一段测试语音,用来验证字幕工具能不能把中文识别出来。今天是二零二六年十月二十号。」

videocaptioner transcribe test.wav --asr bijian

9 秒跑完,输出 test.srt,切成 3 段:

时间段识别结果
0 – 1.9 秒这是一段测试语音
1.9 – 6.6 秒用来验证字幕工具能不能把中文识别出来
6.6 – 9.87 秒今天是2026年10月20号

断句位置合理,内容和原文一致。唯一的变化是原文念的「二零二六年十月二十号」被写成了阿拉伯数字,这是识别环节的规范化,不算错。

全程没填任何 Key,也没下载模型。

免费翻译还能用吗

必应这条不行了。--translator bing 跑下去报:

Failed to init Bing session: 404 Client Error: Not Found
for url: https://edge.microsoft.com/translate/auth

微软那个 edge.microsoft.com/translate/auth 端点已经不在了。项目默认翻译器就是 bing,所以默认配置下翻译必然失败。

还有个容易卡住的地方:直接跑 subtitle 会先报「LLM API key is not configured」,因为 AI 润色和断句默认是开的。要测纯翻译得手动关掉:

videocaptioner subtitle test.srt --translator bing --target-language en --no-optimize --no-split

谷歌这条我这边没测出结果。三次重试都是 ProxyError: Tunnel connection failed: 502 Bad Gateway,这台机器走代理连不上 translate.google.com。这是我家网络的问题,不能算在项目头上。

GUI 能打开吗

进程起来了,但界面没出现。

双击 videocaptioner-gui.exe,进程能活过 60 秒,stderr 还输出了一句 Successfully fetched version info: 1.4.2,说明它在正常运行。但我按进程 ID 去枚举窗口,等了 25 秒仍然是 0 个窗口。

同一时间 videocaptioner style 也报错,说样式目录是空的:

%LOCALAPPDATA%\VideoCaptioner\VideoCaptioner\resource\subtitle_style

两件事放在一起看,比较像是 pip 安装方式没有带上资源文件,界面初始化卡在那儿了。这一点我没有继续深挖,官方如果提供完整安装包,可能不会这样。

有没有不用装环境的版本

有。我把命令行部分打成了单文件 exe,56.9 MB,双击就能用,不用装 Python,也不用先补 setuptools 和 httpx。

用法和命令行版一样:

实测库-字幕工具.exe transcribe test.wav --asr bijian

这个 exe 我单独跑过一遍:5 秒转完同一段 9.87 秒音频,输出 3 段,内容和装环境那次一致。

它只包含命令行版本。图形界面那个 videocaptioner-gui 没有打进去,因为原版 GUI 在我这儿本来就没起来。

常见问题

必须配 API Key 吗

转录不用。必剪 ASR 是免费的,实测 9 秒出结果。但翻译现在不行,必应接口 404,要去配 LLM Key 走大模型翻译。

能用 Python 3.13 吗

不能。1.4.2 明确要求 >=3.10,<3.13,装 3.13 会直接报没有可用版本。

GUI 打不开是普遍问题吗

我只在这一台机器上试过,pip 安装的环境下进程起来但没有窗口。是不是所有环境都这样,我没有验证。想要界面的话,先确认有没有官方安装包。

支持哪些视频格式

这次只测了 wav 音频。视频格式没测,不过 doctor 显示 ffmpeg 和 ffprobe 都在,理论上常见格式应该能读。

能烧字幕进视频吗

代码里有 synthesize 这个子命令,但这次没有测,不能替你保证效果。

适合谁

如果你只要一个本地跑的免费语音转字幕工具,而且能接受命令行,这个项目值得试。转录这一段实测是好的,速度快,中文断句也合理。

如果你需要翻译,现在得准备好 LLM API Key,因为免费的必应通道已经断了。

看重图形界面的人建议先别装,pip 这条路在我这儿界面没起来。