
智谱 AI 的 glm-4v-flash 模型不仅免费,还具备图像理解能力;Google 的 Gemini-2.0-flash 模型也支持视频、图片的识别和处理,而且每日提供大量免费额度,都可用来作为OCR工具。
基于此开发了一个硬字幕提取软件,已更新到v0.2,加入Gemini支持
下载地址 (640MB)
内含文本相似度检测模型,用于判断连续字幕是否重复,故体积略大
百度网盘下载: https://pan.baidu.com/s/1SDKm5tWsr6dkajhsf8T5Ew?pwd=95i4
Github下载: https://github.com/jianchang512/stt/releases/download/0.0/GVS-v0.2-AI.7z
软件使用指南
-
下载解压: 下载软件压缩包,解压后双击
app.exe即可运行。 -
选择视频: 点击软件界面上方的按钮,选择需要提取字幕的视频文件,请确保视频中存在硬字幕。
-
选择字幕位置: 选择字幕在视频中的位置,默认是“底部”,您也可以选择“顶部”、“中间”或“全部”区域。
-
填写 API Key:
可填写 智谱AI 的 api key,这是国内免费的
也可填写 Gemini AI 的api key,每日有1500次免费调用额度,不过国内使用需要科学上网,以英文逗号分隔可填写多个key。
智谱 AI 平台可以免费注册并获取 API Key: 智谱AI开放平台
Gemini可去此页面获取 https://aistudio.google.com/app/apikey
-
选择模型: 智谱AI支持 glm-4v-flash 免费模型。 GeminiAI支持
gemini-2.0-flash-exp和gemini-1.5-flash模型 -
如果使用 GeminiAI,需填写代理ip和端口,或者在vpn软件中启用系统代理
-
开始提取: 点击“开始”按钮,软件下方文本框会显示进度和日志信息。提取完成后,会在视频文件所在目录生成同名的 SRT 字幕文件。
技术原理
- 视频切帧: 首先,使用 FFmpeg 工具将视频按 1 秒间隔切分为图像帧。选择 1 秒间隔而非逐帧提取,一方面可以大幅减少需识别的图像数量,另一方面考虑到字幕通常持续时间不会低于 1 秒,过多的帧数也会增加去重的难度。
- OCR 识别: 将切分后的图像帧发送给智谱 AI 的 GLM-4V-FLASH 模型或 Gemini-2.0-flash-exp 模型,进行 OCR 识别,提取图像中的文字。
- 字幕去重: 由于连续的图像帧可能包含相同的字幕内容,为了避免重复,使用 sentence-transformers 模型计算当前识别出的字幕与前一句字幕的相似度。如果相似度超过 60%,则认为两条字幕内容相同,进行去重。
- 生成字幕文件: 最后,将去重后的字幕文本按照对应的时间戳进行拼接,并保存为 SRT 格式的字幕文件。
