SuperAPI AI 工具集

video-editing

设计与创作

查看项目

更新于 10-15 20:09

技能介绍

用途:该技能用于修改录屏(Clips)的编辑方式,包括新增编辑操作、时间线 UI、基于转录的剪切、预览叠加层以及导出流程。编辑必须是非破坏性的,录屏 blob 在上传后不可变。

主要能力:数据模型涉及 recordings.edits_json(含 trims、cuts、speed、blurs 的 JSON 编辑文档)、recordings.chapters_json(章节数组)和 application_state.editor-draft(编辑器草稿状态)。支持的操作通过 apply-edit 追加到 edits_json:trim(排除 0-30000ms)、cut(移除中间范围,时间线折叠)、split(在播放头放置切割标记,不删范围)、speed(范围变速,0.5 也可)、blur(对时间范围应用模糊矩形)。动作会按类型校验区间不重叠(speed 除外,它是叠加的),输入错误会抛异常。

使用方式:编辑 UI 每次变更写 editor-draft,仅在保存时写 edits_json。切勿从 db-exec 修改 edits_json,应使用 apply-edit 或 reset-edits。转录编辑用 recording_transcripts.segments_json 把词映射到时间范围,点击某段即创建 cut 编辑;去除填充词由 agent 处理(见 ai-video-tools 技能)。导出需用户显式点击,走 export-video 动作,短片段(<2 分钟)在客户端通过 ffmpeg.wasm 渲染,长片段排队到服务端 ffmpeg。播放器是编辑的规范渲染器,基于 edits_json 计算 VirtualTimeline,永远不要用原始片段索引调用 video.currentTime,要通过 toSource。

限制:编辑严禁重新编码,原始 webm/mp4 保留在 recordings.video_url,编辑仅改 JSON。优先追加新条目而非改写已有条目,以便撤销/重做。speed 编辑会叠加(1.5×2=3x),需校验结果在 [0.25,4]。模糊坐标基于源分辨率,不是显示像素,应相对 recordings.width/height 归一化。ffmpeg.wasm 为单线程 WASM,每标签页约 2GB 内存上限,约 10 分钟 1080p WebM→MP4 是实际上限,超过阈值时会提示下载原始文件。stitching 采用客户端 ffmpeg concat,生成真实合并 MP4,以兼容分享、嵌入、iframe 和移动浏览器。波形峰值缓存于 application_state。键盘快捷键包括空格播放/暂停、Cmd/Ctrl+Z 撤销上次裁剪(无重做栈)、I/O 标记入点出点、S 在播放头分割、Delete/Backspace 在转录编辑器有选区时裁剪所选文本的时间范围。