
FireRed-OpenStoryline ASR口播粗剪:自动去除口头禅,按时间戳精准切分口播视频【免费下载链接】FireRed-OpenStorylineFireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language interaction, LLM-powered planning, and precise tool orchestration. It facilitates transparent, human-in-the-loop creation with reusable Style Skills for consistent, professional storytelling.项目地址: https://gitcode.com/gh_mirrors/fi/FireRed-OpenStorylineFireRed-OpenStoryline 是一款 AI 视频剪辑 Agent其中的ASR 口播粗剪speech_rough_cut功能能自动完成口播视频的一级剪辑基于本地语音识别ASR拿到逐句时间戳由大模型剔除嗯、啊、然后、就是这类口头禅与重复语句再按毫秒级时间戳用 FFmpeg 精准切分片段让 30 分钟口播快速变成干净利落的成片素材。1. 为什么口播视频需要粗剪口播、直播回放、课程录屏这类素材有一个通病有效信息密度低。❌ 大量嗯……、就是说、对吧等口水词❌ 同一句话反复重述我们我们……式口误❌ 长时间停顿、跑题空话❌ 手动逐帧拖音轨找切点极其耗时传统做法是人工在剪辑软件里听一遍、标记一遍、再逐刀切。而 OpenStoryline 的思路是让机器听ASR、让大模型判断LLM、让 FFmpeg 执行自动切割人只负责验收。2. 三步流水线:从原始口播到干净片段口播粗剪并不是一个孤立功能它依赖一条清晰的数据流镜头切分 → 本地 ASR 识别 → LLM 粗剪清洗 → FFmpeg 切分2.1 第一步:本地 ASR 识别拿到逐句时间戳ASR 节点 asr_node.py 在本地调用 FunASR 的paraformer-zh模型搭配 VAD 与标点模型先对视频做降噪、提取 16k 单声道音频然后输出带句子级时间戳的识别结果每句话的text、start、end更细的字级timestamp数组——这是后面精准切分的关键整个识别在本地完成无需上传口播内容隐私有保障。2.2 第二步:LLM 逐句清洗三种操作粗剪的核心在 speech_rough_cut.py它对每句 ASR 文本调用大模型提示词规则定义在 prompts/tasks/speech_rough_cut/zh/system.md支持三种操作操作触发条件处理方式整句删除纯口水词嗯/啊/然后/就是、无意义空话、与上下文重复直接丢弃不产生片段首尾修剪句首/句尾有语气词或赘词仅调整start或end不拆分中间删除即拆分删除了句子中间的内容剩余部分必须拆成多个独立片段以提示词中的真实示例system.md来看输入啊今天我们讲OpenStoryline。→ 删掉开头啊起始时间从 940ms 校正到 1080ms输入我觉得这个东西啊其实很好用→ 中间的啊被删句子拆成我觉得这个东西和其实很好用两段输入嗯这个就是这样。→ 整句删除输出空列表同时规则中反复强调谨慎删除任何有信息量的句子都不能删用户诉求user_request拥有第一优先级。2.3 第三步:时间戳对齐 按间隙分组 FFmpeg 切分LLM 给出的不是随意时间而是强制基于字级 timestamp 数组计算片段start 片段第一个字的时间片段end 片段最后一个字的时间随后 group_sentences 按间隙阈值默认 400ms把相邻句子合并成片段停顿不超过 400ms 的句子归为一组超过则切一刀。最后调用 FFmpeg 把原视频切分成speech_rough_cut_0000.mp4、speech_rough_cut_0001.mp4……输出到会话目录。2.4 隐藏细节:时间戳重新校准删掉中间片段后后面所有句子的原始时间戳都会对不上号。calibrate_asr_times 会计算所有被删除区间的时长用前缀和的方式把每条时间戳平移到切分后的新坐标系里——这保证了下游字幕、卡点等步骤依然精准。3. 如何控制粗剪行为该节点的输入定义在 node_schema.py两个可调参数即可覆盖大多数场景gap_threshold默认 400ms句子间停顿超过该值就切分。口播节奏快可调小慢节奏讲解可调大user_request自然语言诉求例如希望每段不超过 10 秒、在自然停顿处切分。留空则系统按通用剪辑原则自行决策由于支持意图干预粗剪完成后你还可以追加一句第二段切早了一点重新切Agent 会定位重跑而无需从头开始。4. 粗剪结果如何进入成片切好的片段并非终点。在时间线节点 plan_timeline_pro.py 中口播粗剪走专属分支is_speech_rough_cutTrue不再叠加 TTS 旁白口播本身就是声音直接采用粗剪输出的起始时间与时长排布时间线不二次调整保证你听到的每一句话与画面对应的片段严格一致这正是口播类视频与混剪类视频在流水线上的关键区别。5. 相关模块速查模块说明speech_rough_cut.py粗剪节点主逻辑LLM 清洗、分组、切分、时间校准asr_node.py本地 FunASR 识别与音频预处理system.mdLLM 清洗规则与拆分逻辑定义user.md用户提示词模板当前句 前后上下文 全文node_schema.py节点输入参数gap_threshold / user_requestffmpeg_utils.py视频切分底层工具plan_timeline_pro.py口播粗剪的时间线编排分支6. 小结FireRed-OpenStoryline 的 ASR 口播粗剪把听一遍、标一遍、切一遍的苦力活变成了三步自动流水线本地 ASR 提供毫秒级时间戳大模型按规则剔除口头禅并拆分语句FFmpeg 完成精准切分最后自动校准时间戳无缝衔接后续剪辑。对口播创作者来说它等于一位永不下班的粗剪助理——素材进来干净片段出去。【免费下载链接】FireRed-OpenStorylineFireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language interaction, LLM-powered planning, and precise tool orchestration. It facilitates transparent, human-in-the-loop creation with reusable Style Skills for consistent, professional storytelling.项目地址: https://gitcode.com/gh_mirrors/fi/FireRed-OpenStoryline创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考