Skip to main content

发布 AMMDS v1.6.64 — VibeVoice 语音识别与字幕生成

· 5 min read
萌森
新疆萌森软件开发工作室

AMMDS v1.6.64 是一次面向“音视频智能化”的重要更新。本版本接入了微软开源的 VibeVoice 语音识别模型,让 AMMDS 拥有了为影视资源自动生成字幕的能力;同时引入了 FFmpeg 集成工具与统一的工具下载服务,并修复了本地推理的若干稳定性问题。

新功能与改进

VibeVoice 语音识别集成

本版本最大的亮点是接入了微软开源的 VibeVoice-ASR 模型,通过 OpenAI 兼容的 ASR 接口(POST /v1/audio/transcriptions)接入自部署的 VibeVoice 服务,实现视频语音自动识别并生成 SRT 字幕文件。

VibeVoice-ASR 支持单遍处理最长 60 分钟的音频,覆盖 50+ 语言,并能在一次推理中完成语音识别、说话人分离与时间戳标注。关于该模型的详细介绍,可以参阅我们发布的《微软 VibeVoice 语音识别模型介绍》一文。

AMMDS 提供两种接入模式:

  • 本地模式(AMMDS 托管):由 AMMDS 内置托管识别服务,自动下载 GGUF 模型与推理程序并启动服务,无需外部依赖
  • 远程模式(外部服务):连接已有的 OpenAI 兼容 VibeVoice 服务地址,由外部服务完成识别

本地模式下,模型文件(GGUF,合计约 1.5GB)会从 HuggingFace 官方仓库 microsoft/VibeVoice-ASR-BitNet 下载,并优先使用国内镜像 hf-mirror.com 加速。系统会自动匹配最优 GGUF 文件,无需手动选择模型。

字幕生成工具箱

为配合 VibeVoice,新增了可视化的字幕任务管理界面,入口位于 工具箱 → 媒体编辑 → 字幕生成

任务创建方式

方式说明
单个视频选择服务器上的单个视频文件创建单任务
目录批量选择包含视频文件的目录,为目录内所有视频批量创建任务

任务管理操作支持新建、取消、重试、查看、编辑、下载与删除。任务列表展示视频文件名、路径、时长、识别语言、双语标记、状态、进度与创建时间,并支持按状态筛选(全部 / 进行中 / 已完成)。

任务状态流转

状态说明
等待中等待执行(并发槽位不足)
排队中超出最大并发任务数,等待空闲槽位
进行中正在识别
已完成字幕生成成功
失败识别失败
已取消用户手动取消

字幕生成位置

支持两种字幕输出位置:

  • 视频同源(默认):字幕生成到视频所在目录并使用视频文件名(如 测试视频.srt),便于播放器自动加载
  • 统一目录:生成到 data/subtitles/vibevoice/ 目录(以任务 ID 命名)

双语字幕

开启双语字幕后,识别结果会通过系统翻译模块翻译为目标语言,字幕双行显示(原文 + 译文)。翻译能力复用 AMMDS 既有的翻译服务集成(百度、腾讯、DeepL、OpenAI、Gemini 等)。

FFmpeg 集成工具

新增 FFmpeg 集成管理页面(集成 → FFmpeg),提供 FFmpeg/FFprobe 资源的下载状态查看与手动下载能力。FFmpeg/FFprobe 是音视频处理的基础组件(视频时长探测、音频提取、截图等),是 AMMDS 音视频相关功能的底层依赖。

AMMDS 启动后会自动检查 FFmpeg/FFprobe 是否安装,缺失时异步提交下载,不阻塞启动;下载未完成时每 60 秒重新检查一次。

通用工具下载服务

新增统一的工具程序异步下载框架,替代各插件独立的下载逻辑,目前支持 FFmpeg、MetaTube、VideoHashes、VibeVoice 等多个工具的下载管理。

主要特性:

  • 异步下载:使用固定线程池(2 线程)异步下载,不阻塞主流程
  • 防重复:已就绪或下载中的组件自动跳过
  • 多源回退:下载地址支持多个源,失败时自动回退到下一源
  • 进度跟踪:返回文件名、路径、是否就绪、下载进度等状态
  • 统一路径展示:所有工具下载路径展示逻辑统一

MetaTube、ThePornDB、VibeVoice 等插件的集成页面均新增了资源下载卡片,支持自动下载。

启动器选择

本地模式下支持两种推理引擎,用户可按场景选择:

引擎说明适用场景
asr_infer(推荐)命令行单次推理,每段独立进程,无常驻内存占用;LM 上下文 16384,实测速度更快(RTF ≈ 1.39)默认选择,适合大多数场景
asr_stream_server常驻进程(约 2.5GB 常驻内存),LM 上下文小,长音频会因 ggml 上下文分配失败崩溃仅在需要避免每段重新加载模型时选用

本地推理稳定性修复

针对本地模式推理进程崩溃问题进行了一系列修复:

问题修复方案
本地模式推理进程崩溃将默认单段最大时长从 60 分钟改为 3 分钟,避免超出推理模型上下文限制
配置超出安全上限新增单段时长自动收敛逻辑,本地模式自动将超出安全上限的配置下调到 3 分钟
常驻服务重启端口泄漏修复常驻服务重启时端口泄漏问题,复用原有 HTTP 服务端口
官方下载地址路径调整官方下载地址路径,优化资源访问路径
异常提示不友好优化异常提示信息,添加音频过长或内存不足的排查指引

本地模式受推理模型上下文限制(实测 240s 可运行 / 480s 崩溃),代码会按当前启动器能力自动收敛:切换启动器时前端应用对应推荐参数,本地模式自动将超出安全上限的 vibevoice_segment_minutes 下调到 3 分钟,远程服务可按其能力调大。

配置项说明

VibeVoice 集成支持以下配置项(保存在系统配置表中):

配置项默认值说明
接入模式locallocal 本地托管 / remote 远程服务
启用状态false是否启用 VibeVoice 插件
服务地址http://127.0.0.1:8000远程模式使用;本地模式由内置服务自动写入
API Key(空)可选,远程服务鉴权
识别模型名vibevoice-asr识别使用的模型名
最多同时任务数1并发任务上限 1~5
单个任务最大线程4转发给服务的提示参数
单段最大分钟3单段识别最大时长(分钟),本地模式上限 3
模型仓库microsoft/VibeVoice-ASR-BitNetHuggingFace 官方仓库
启动器优先级asr_inferasr_infer 命令行单次推理 / asr_stream_server 常驻服务
字幕生成位置video_dirvideo_dir 视频同源 / unified 统一目录

升级指南

Docker 部署

# 拉取最新镜像
docker pull ghcr.io/mengshou/ammds:latest # 国内用户可替换为 qyg2297248353/ammds:latest(Docker Hub)

# 重新启动容器
docker compose down
docker compose up -d

注意事项

  1. 首次启用 VibeVoice 本地模式时,系统会自动下载约 1.5GB 的 GGUF 模型与推理程序,请确保磁盘空间充足并保持网络畅通(国内会优先使用 hf-mirror.com 镜像)
  2. 本地模式对内存有较高要求,建议至少为容器分配 4GB 可用内存;资源紧张时可选“远程模式”连接外部 VibeVoice 服务
  3. FFmpeg/FFprobe 会在升级后自动下载,无需手动干预

已知问题

  • 在内存不足的设备上,VibeVoice 本地模式长段识别可能因 ggml 上下文分配失败而崩溃,建议降低单段最大分钟数或改用远程模式
  • 常驻服务(asr_stream_server)模式约占 2.5GB 常驻内存,仅在确有需要时启用

致谢

感谢社区用户在 VibeVoice 集成开发过程中提交的反馈与测试支持。AMMDS v1.6.64 为影视库的智能化补全迈出了关键一步,下一版本我们将继续完善字幕翻译流程,并引入大模型对话能力,敬请期待!