前言
制作 YouTube视频、整理录音或处理音视频素材时,经常需要将音频转换成字幕。如果完全依靠人工听写,不仅耗费时间,还需要手动调整字幕时间轴,处理长视频时尤其麻烦。
今天给大家分享一个开源项目 ywsj-audio-to-subtitle,通过 Docker 就能在自己的 VPS 或 Linux 服务器上搭建一个在线音频转字幕工具。
这个项目支持上传音频和视频文件,视频可以自动提取音轨,并提供多种语音识别引擎。其中,必剪引擎无需额外配置,另外也支持 Groq、OpenAI、硅基流动等兼容接口。生成字幕后,还可以在线修改字幕内容和时间码,并导出 SRT、VTT、TXT 等格式。
本期教程将从服务器环境准备开始,带大家完成 Docker 部署、首次登录、识别引擎配置、实际转字幕、在线编辑以及字幕文件下载。对于经常制作 YouTube 视频、需要整理录音或处理字幕的朋友来说,这个工具值得尝试。
项目图示
主界面

可以在线编辑-导出srt字幕

项目简介
免费的音频/视频转字幕工具,上传文件即可在线生成字幕。支持必剪(B站)免费引擎 + OpenAI/Groq/硅基流动等 Whisper 兼容接口,支持视频自动提取音轨、多语言识别、在线编辑、2FA 两步验证。
✨ 功能特性
- 🎵 音视频支持 — MP3/WAV/M4A 等音频,MP4/MKV/MOV 等视频(自动提取音轨),最大 200MB
- 🔍 多引擎识别 — 必剪(B站·免费·中英文)/ Groq(免费·多语言)/ OpenAI / 硅基流动,可自定义多个接口
- 📊 实时进度 — 上传进度条(百分比+已传大小)+ 识别进度(5阶段日志)
- ✏️ 在线编辑 — 识别完成后可逐条编辑字幕文本、调整时间码、增删行
- 💾 多格式下载 — 支持 SRT / VTT / TXT 格式下载
- 📡 多接口管理 — 支持添加多个 API 接口,自定义备注名,一键测试连通性
- 🛡️ 2FA 两步验证 — TOTP 支持 Google Authenticator,登录双重保护
- 🔐 安全认证 — 密码 scrypt 哈希,防暴力破解,首次部署设置密码
- 🎨 暗色 / 亮色主题切换
- 🐳 Docker 部署,amd64 + arm64 双架构
部署方法
使用Docker安装
本教程使用docker的方式安装部署,简单便捷

X86/Arm双平台
| 平台 | 架构 | 适用场景 |
|---|---|---|
| linux/amd64 | x86_64 | VPS、PC服务器、Intel/AMD |
| linux/arm64 | ARM64 | 树莓派、Mac M系列、ARM 云服务器 |
准备条件
1)一台服务器
我们使用莱卡云VPS来演示,建议选择境外云服务器,涉及访问openai接口
需要vps的可以看以下信息,配置尽量选择大点的比如2核心4G内存
莱卡云官网
2)本教程使用到的项目
本教程使用的官方github地址
https://github.com/yyzq-cf/ywsj-audio-to-subtitle

项目刚创建, 如果感觉有用,请帮忙点个stars
3)域名(建议)
根据自己的需求,
1.web界面建议绑定域名,方便使用
VPS部署
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、部署命令
登录我们自己的境外VPS使用root账户执行以下步骤
docker-compose命令
创建一个目录,并进入此目录
mkdir audio-to-subtitle ;cd audio-to-subtitle
请自行安装vim编辑器
然后再新建docker-compose.yml
vim docker-compose.yml
services:
audio-to-subtitle:
image: ywsj/audio-to-subtitle:latest
container_name: audio-to-subtitle
ports:
- "5210:5200"
volumes:
- ./data:/data
restart: always
注意端口如有冲突自行修改
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否启动成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
audio-to-subtitle ywsj/audio-to-subtitle:latest "/app/entrypoint.sh …" audio-to-subtitle 3 hours ago Up 3 hours (healthy) 0.0.0.0:5210->5200/tcp, [::]:5210->5200/tcp
四、web界面
打开web页面使用
成功以后需要打开自己相应的端口5300)防火墙就可以web端访问了
主界面
http://ip:5210

首先初始化管理员信息
默认只有一个免费的必剪接口可以使用,如果是中英文的话完全够用了

如果是其他语言可以使用Groq每天有免费额度完全够用

其他功能自行探索即可
或者fork整个项目到自己的仓库让AI给你增加个性化的需求
绑定域名
接下来就是绑定域名和配置SSL证书
绑定域名的教程参考以下内容
绑定域名视频教程
B站
YouTube
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!


评论区