新闻详情

新闻详情

首页 / 资讯中心 / 详情

把 AI 剪辑搬进浏览器:基于 Silero VAD 实现视频长停顿自动裁切

发布时间:2026/9/26 3:27:45来源:尧图网络
把 AI 剪辑搬进浏览器:基于 Silero VAD 实现视频长停顿自动裁切
录制口播、课程讲解和产品演示时经常会留下几秒钟的停顿。手动处理这些空白需要反复播放、定位、分割再把后面的片段接起来。能不能让浏览器自动找出长停顿并把对应的画面一起剪掉我在开源项目Timeline Studio中实现了这个功能。核心方案是使用Silero VAD ONNX Runtime Web在浏览器本地检测人声再把检测结果转换为可预览、可选择、可撤销的时间线编辑。下面分享实现思路和开发中遇到的问题。1. 先明确目标检测停顿不需要先识别文字如果只是去除说话中间的长停顿不必先完成语音转文字。我们需要的是音频中的语音活动信息有人说话 → 保留 短暂停顿 → 保留自然节奏 长时间无人说话 → 生成裁切建议VAD也就是语音活动检测正好用于判断音频中是否存在人声。本项目使用的 Silero VAD ONNX 模型文件约为2.24 MB通过 ONNX Runtime Web 的 WASM 路径执行。这里仅指模型文件大小不包含运行时依赖。需要注意没有人声不代表没有有效内容。演示操作、背景音乐和刻意留白都可能被识别为非语音区间。因此检测完成后应先让用户预览而不是直接删除。2. 整体实现流程选中时间线视频 ↓ 读取并解码原始音轨 ↓ 转换为单声道、16 kHz 音频 ↓ Worker 中运行 Silero VAD ↓ 根据人声概率生成语音区间 ↓ 计算长停顿和候选裁切区间 ↓ 用户试听、勾选 ↓ 同步裁切视频画面与原声这里有两个设计重点。首先音频采用分块处理避免一次准备整段长视频的分析数据。连续音频块之间保留模型状态使检测能够利用上下文。其次模型推理放在独立 Worker 中减少对编辑器主界面的阻塞。用户仍然可以查看进度或取消分析。3. 从人声概率生成语音区间模型输出的人声概率需要进一步转换成稳定的语音区间。如果只使用一个阈值逐帧判断轻声、呼吸和短暂波动可能把一句话拆成很多碎片。实现中采用不同的语音开始和结束阈值并加入短暂的静音确认时间达到开始阈值 → 进入语音状态 低于结束阈值并持续一小段时间 → 结束当前语音区间得到语音区间后相邻区间之间的空白就是停顿候选。例如第一段语音0.04.2 秒 第二段语音7.212.0 秒 中间停顿4.27.2 秒共 3 秒这些边界是模型检测结果并不等同于人工精确标注因此还需要保留衔接空间和试听入口。4. 去除停顿其实是把长停顿缩短完全剪掉两句话之间的空白容易让讲话显得急促。因此功能提供两个参数参数作用当前默认值最短停顿决定哪些停顿进入候选范围0.8 秒保留间隔决定裁切后保留多少停顿0.5 秒保留间隔支持0.31 秒。以上面的 3 秒停顿为例如果保留 0.5 秒可以在前一句结束后和后一句开始前各留约 0.25 秒删除中间约 2.5 秒。下面是帮助理解的简化代码不是项目完整实现functioncreatePauseCut({previousSpeechEnd,nextSpeechStart,minimumPause0.8,retainedGap0.5,minimumCutDuration0.5,}){constpauseDurationnextSpeechStart-previousSpeechEnd;constremovableDurationpauseDuration-retainedGap;if(pauseDurationminimumPause||removableDurationminimumCutDuration){returnnull;}return{start:previousSpeechEndretainedGap/2,end:nextSpeechStart-retainedGap/2,};}实际实现还需要处理视频开头、结尾以及裁切后保留片段的最小长度。所以并不是每个超过门槛的停顿都会被裁切。原本比保留间隔更短的停顿也不会被拉长。5. 音画同步共用一套裁切区间找到停顿之后不能分别计算音频和视频的裁切位置。更稳妥的方式是先生成统一的时间区间再同时应用到画面和原声。这里需要区分两种时间源素材时间原始视频文件中的位置。时间线时间素材经过裁剪、倍速后在项目中的位置。对于恒定倍速基本换算关系可以表示为片段内时间 源素材时间 − 源素材起点÷ 播放速度 项目时间 片段在项目中的起点 片段内时间这个关系只适用于恒定正向播放速度。速度曲线、倒放等情况需要额外的映射逻辑不能直接套用。本功能对暂不支持的复杂组合明确限制优先保证支持范围内的裁切结果可靠。6. 实际踩坑视频时长不等于音轨时长开发过程中一个能够正常播放的视频在分析阶段却提示音轨无法完整解码。检查后发现视频时长约 300.13 秒 音频结束约 298.68 秒视频末尾还有画面但已经没有音频数据。如果程序要求解码音频必须覆盖完整视频时长就会把这种正常素材误判为异常。修复时需要区分情况处理方式音轨实际开始前、结束后的空白按静音补齐保持时间轴对齐音轨有效范围内部的数据缺失继续报错避免误判为停顿不能把所有缺失数据都补成静音否则真正的解码失败可能变成错误的裁切建议。这也是音视频开发中值得留意的一点播放器能够正常播放并不意味着容器时长、视频时长和音频时长完全一致。7. 分析与应用分开编辑才可控功能采用两个阶段分析阶段生成候选方案不修改项目 应用阶段提交用户选中的裁切形成一次可撤销编辑用户可以跳转试听候选位置取消需要保留的停顿再一次性应用。调整停顿门槛或保留间隔时可以利用已经计算好的人声概率重新生成候选区间不必重复运行模型。应用裁切时还要遵循编辑器已有的轨道规则主画面与原声保持同步其他轨道是否跟随移动由波纹编辑模式决定锁定轨道受到保护字幕和音频的关联关系需要保留原始媒体不被覆盖操作可以撤销。如果整段素材没有检测到人声也不会将其整段自动删除。8. 模型需要下载视频不需要上传分析这个功能在浏览器本地完成音轨处理和模型推理。模型文件通过自有 Hugging Face 与 ModelScope 镜像分发固定版本并保留许可证与来源说明。不同下载来源使用统一的缓存身份减少同一模型被重复存储。两者的职责是模型托管平台提供模型文件 用户浏览器读取媒体、解码音频、执行推理、生成剪辑方案因此用户不需要为了停顿检测把整段视频上传到远程推理服务器。不过本地运行仍然会消耗设备的计算资源和内存实际速度也取决于浏览器、硬件和素材的解码情况。9. 一个小模型也需要完整的编辑流程实现这个功能之后我发现模型推理只是其中一部分。真正决定体验的是检测结果能否试听、参数调整是否及时、音画是否同步以及错误能否取消和恢复。对于停顿裁切比较合适的分工是模型寻找人声边界规则生成候选方案编辑器可靠地执行用户保留内容判断权。项目源码和在线体验GitHubTimeline Studio在线体验Timeline Studio 视频编辑器
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

面试官:ReAct 和 Plan-and-Execute,你平时怎么选?你答「看复杂程度」,他听到的是「我没选过」 2026/9/26 4:14:55

面试官:ReAct 和 Plan-and-Execute,你平时怎么选?你答「看复杂程度」,他听到的是「我没选过」

ReAct 和 Plan-and-Execute 的差别不在难度,在「不确定性落在哪」。这篇文章给你一套能当场判定的选型流程,以及三种形态各自的失败模式。 面试现场 大厂 AI 应用岗 **面试官:**ReAct 和 Plan-and-Execute,你平时怎么选&#x…

阅读更多 →
软件项目管理实战:从需求到收尾的全流程方法与避坑指南 2026/9/26 4:14:55

软件项目管理实战:从需求到收尾的全流程方法与避坑指南

做软件项目管理这些年,我最常被同行问的一句话是:项目又快又稳的秘诀到底是什么?说实话,不存在什么万能秘诀,但所有做得好的项目,背后都逃不开几件基础事——需求聊透、范围控住、节奏稳住、人盘活。这篇文…

阅读更多 →
[Git-1] Git基础认识 2026/9/26 4:14:48

[Git-1] Git基础认识

一、版本控制 Git 是软件开发中最常用的版本控制工具之一。可能大家都有接触过,不过也就仅限于常用命令的使用,其原理并不是很清楚。 1、版本控制引入 在没有版本控制工具时,如果我们想保存代码的不同版本,最直接的方法可能就是复…

阅读更多 →
基于STM32单片机锂电池无线充电器电压电流电池电量蓝牙/WiFi/视频监控/云平台无线APP-DIY设计S521 2026/9/26 4:14:48

基于STM32单片机锂电池无线充电器电压电流电池电量蓝牙/WiFi/视频监控/云平台无线APP-DIY设计S521

S521-电流功率锂电池无线充电充电电压计时USB输出锂电池电压电量欠压阈值OLED屏声光提醒按键蓝牙/WiFi/视频监控/云平台APP本系统由STM32F103C8T6单片机核心板、OLED屏、无线蓝牙/WIFI/视频监控/云平台模块-可选、锂电池充电管理电路、锂电池升压电路、USB接口、蜂鸣器报警、电…

阅读更多 →
AI客服多智能体实战第5讲|分类→动态装载:客服Agent核心链路实现 2026/9/26 4:14:48

AI客服多智能体实战第5讲|分类→动态装载:客服Agent核心链路实现

一、分类模块:只管"进哪个 Topic" 先把分类这件事的边界划死:分类不调业务 Agent,分类只决定"这条消息进哪个 Topic"。 它不查订单、不查物流,更不直接回答用户——它的全部产出就是一个分类结果&#xff0c…

阅读更多 →
GraphRAG 前沿速递!强化学习 + 知识图谱,3 大核心痛点同时缓解,泛化指标提升 10.1%! 2026/9/26 4:14:48

GraphRAG 前沿速递!强化学习 + 知识图谱,3 大核心痛点同时缓解,泛化指标提升 10.1%!

强化学习是知识图谱大模型推理的通用优化思路,三篇论文针对不同环节构建定制强化学习框架,适配图嵌入、图谱路径探索、图谱构建任务。AGE依托强化学习节点采样实现自适应掩码,改善图自监督学习效果;Explore‑on‑Graph采用SFT加双…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉