乐于分享
好东西不私藏

AI编程-视频自动生成字幕工具

AI编程-视频自动生成字幕工具
      笔者好长时间没有更新公众号了,AI发展太快,层出不穷的AI工具,让人应接不暇。
      我自己录制了一些视频,大部分都是要收费的,想要生成字幕,结果用剪影啥的软件都是导出收费。因为不是很常用,但是有时候又要用的场景,让我萌生了想要自己做一个工具,后续可以扩展更多功能的工具。
      使用的工具是TRAE CN基本上都是免费的,现在deepseek的模型也便宜,把deepseek的大模型设置到trae cn上基本都可以实现编程自由。

工具技术栈介绍

🛠️ 技术栈

电脑:mac pro m1芯片

后端

  • 语言
    : Node.js 16+
  • 框架
    : Express.js
  • 视频处理
    : FFmpeg + fluent-ffmpeg
  • 语音识别
    • 科大讯飞API(WebSocket + REST)
    • Xenova/transformers Whisper
    • Sherpa-Onnx
  • 文件上传
    : multer

前端

  • 框架
    : React 18
  • UI组件
    : Ant Design
  • 样式
    : Tailwind CSS 3
  • 构建工具
    : Vite

部署

  • 容器化
    : Docker
  • 单服务器部署

📋 环境要求

  • Node.js 16+
  • FFmpeg
  • 4GB+ 内存(推荐用于语音识别)

环境搭建介绍

🚀 快速开始

📋 前置要求

安装 FFmpeg:

# macOSbrew install ffmpeg# Ubuntu/Debiansudo apt-get update && sudo apt-get install ffmpeg# CentOS/RHELsudo yum install ffmpeg# Windows# 下载地址:https://ffmpeg.org/download.html#build-windows

1. 源码代码未公开,【可以私信笔者要源码】

git clone <repository-url>cd opctools

2. 启动后端(本地方式)

cd backendnpm install# 第一次运行会自动下载Whisper模型,需要等待一会npm start

后端服务将在 http://localhost:8000 启动

3. 启动前端(本地方式)

打开新终端:

cd frontendnpm installnpm run dev

前端服务将在 http://localhost:3000 启动

4.前后端一起启动命令

npm run start //启动前后端

讯飞接口获取

登录讯飞官网,找到语言听写功能,此处可以申请讯飞的语音转文字接口,个人有一万次的免费,基本很难用得完,把自己的appid、apisecret、apikey复制到代码中

对讯飞获取语言识别单独一个文件,讯飞语音识别接口话费了不少时间,一直出现接口封装不对的情况。所以在使用AI编程时,要把讯飞API链接先让AI学习一会,然后再让它封装讯飞接口会比起直接让它封装效果更好,不容易出错。

功能使用介绍

  1. 上传视频
     - 拖拽或选择你的操作视频文件上传
  2. 预览调整
     - 设置的内容点击预览可以看到视频播放
    点击预览视频,可以看到标题设置的内容已经设置在右侧,并且语音识别的内容也都显示在下面了
3、点击开始处理按钮
 - 系统自动提取关键帧并进行语音识别,讯飞接口返回的字体

4.字幕处理完成
点击预览可以查看是否正确,点击下载,可以下载已经生成标题和字幕的视频
5.预览视频,点击下载

下载后对成品视频,可以直接拿去做自媒体的发布啦

还有一个功能是生成字幕的,上传视频,然后生成字幕,可以下载字幕,把下载的字幕直接导入到剪影中直接剪辑,省得自己打字费时间。

这个小工具遇到了几个问题

1.环境问题,ffmpeg的mac pro 在ffmpeg的烧录字幕时一直报错,到最后安装到ffmpeg 6.5版本后才可以正确烧录视频字幕。

2.讯飞接口调用,一直没有调通,跟讯飞接口版本,加密方式等有关系

3.在讯飞接口调用后与视频的口型和字幕对应上时遇到问题,后续通过时间帧方式对应上

遇到问题有时候会很难受沮丧,无法坚持下去。往往很多人都在这个时候放弃了,其实可能你再坚持一会会就胜利了,不要让之前的99%的努力浪费了。AI编程让编程几乎无编程门槛,但是遇到问题解决问题还是要花时间和精力跟AI磨合。所以学习编程的宝子们坚持,胜利的曙光等着你们~

既然看到这儿了,如果觉得还不错,帮忙随手点个「赞」、「在看」、「转发」三连;如果想第一时间收到推送,也可给我加个星标★,非常感谢!