去口水词:先静音粗剪,再语义精剪
按 0002 spec 执行:ASR 转录、候选检测、Review UI、EDL、FFmpeg 输出。不要直接破坏原文件,也不要把字幕清理误当成真实剪视频。
从原始 CleanShot 录屏到可发布竖版知识视频:先把 Smart Filler Removal做成可复用模块,再统一字幕、BGM、人声、封面和发布文案。 目标不是一次性追求全自动,而是先做一条能稳定复用的半自动生产线。
reference 的核心不是医学题材,而是 竖屏录屏 + 人像 PiP + 黄字黑描边字幕 + 强封面钩子。 你的试点素材和 reference 都接近 1400px 宽的竖屏比例,后续可以保留原始画幅,不必先做复杂裁切。
点击节点查看每一步的 输入 / 处理 / 输出 / 人工复核点。
按 0002 spec 执行:ASR 转录、候选检测、Review UI、EDL、FFmpeg 输出。不要直接破坏原文件,也不要把字幕清理误当成真实剪视频。
像剪映一样“去口水词”,本质是一个可逆编辑系统,而不是字幕后处理。 它必须同时支持 不显示在字幕里 和 从音视频里真实剪掉 两种结果。 删除动作的唯一事实来源是 EDL。
从相邻 token 间隙生成停顿候选。小于 0.30s 忽略;0.30-0.80s 低置信标记; 0.80-2.00s 默认选中;超过 2s 需要看是否靠近页面切换。
auto-editor input.mp4 \
--edit audio:-35dB \
--margin 0.2s \
--export resolve
候选类型分成 filler、repeat、false_start。单字犹豫词可高置信; “然后、其实、就是”等话语标记默认只标记,不自动删除。
whisperx rough_cut.mp4 \
--model medium \
--language zh \
--output_format json
所有 destructive edits 都写进 edl.json:candidateIds、removedRanges、keepRanges、 padding 和 reviewState。原始 source 永远不被覆盖。
outputs:
transcript.json
candidates.json
edl.json
cleaned.mp4
参考剪映的体验,但第一版不做完整 NLE。页面只需要三块: Preview player、Transcript review panel、Timeline strip。 用户可以检查上下文、取消误删、预览删除后效果,再导出。
type RemovalCandidate = {
type: "filler" | "pause" | "repeat" | "false_start";
text: string;
start: number;
end: number;
confidence: number;
selected: boolean;
reviewState: "pending" | "accepted" | "rejected";
}
type EditDecisionList = {
version: 1;
sourceMediaPath: string;
candidates: RemovalCandidate[];
removedRanges: RemovedRange[];
keepRanges: KeepRange[];
}
本机现在已经有 ffmpeg / ffprobe / whisper / faster-whisper。 建议新增安装 Auto-Editor 和 WhisperX;stable-ts 可作为时间戳/字幕编辑能力的备选,但它的 GitHub README 标注开发暂停,需要谨慎选型。
根据音频响度、画面运动等方法自动剪辑视频;可导出到 Premiere、Resolve、Final Cut、Kdenlive 等。
GitHub用于中文转录、词级时间戳和对齐,是自动识别口水词候选的关键工具。
GitHub提供 Whisper 时间戳稳定、alignment、regrouping、silence suppression 等能力;适合作为实验备选。
GitHub离线开源字幕编辑器,适合人工检查 SRT/VTT、调轴和最终字幕质检。
GitHub负责 loudnorm、压缩、降噪、BGM ducking、字幕烧录、封装导出。
ffmpeg -i in.mp4 -af loudnorm=I=-14:TP=-1.5:LRA=11 out.mp4
只做语义判断和文案生成,不直接决定剪刀点;剪刀点仍以时间戳和人工复核为准。
transcript.json → edit_candidates.json → review
003_workflow/
└── video_editing_workflow_spec_20260706/
├── index.html
├── styles.css
├── app.js
└── assets/
├── input_contact_sheet.jpg
├── reference_contact_sheet.jpg
└── reference_cover.png
建议未来成片输出:
004_output/
└── 20260706_medical_pip_demo/
├── 01_source/
├── 02_work/
│ ├── transcript.json
│ ├── edit_candidates.json
│ ├── cutlist.json
│ └── subtitles.srt
├── 03_export/
│ ├── final.mp4
│ ├── cover.png
│ └── poster_3x4.png
└── 04_publish/
├── title.txt
├── description.txt
└── tags.txt
你是短视频剪辑导演。请根据 transcript.json 和 word timestamps,标注哪些片段应该剪掉。
目标:
1. 删除静音、重复、口水词、自我纠正。
2. 保留所有影响理解的步骤连接词。
3. 不要为了变短而破坏教程逻辑。
输出 JSON:
[
{
"start": 12.34,
"end": 12.78,
"type": "filler | silence | repeat | false_start",
"text": "嗯",
"reason": "孤立口水词,不承担语义",
"confidence": 0.86,
"review_required": true
}
]