剪易 EasyCut 结构化剪辑
- 找到用户的剪易项目路径,确认存在
cli/jianyi.mjs。不要假定当前目录或安装路径。 - 按需读取项目的
cli/README.md和cli/example.json,以其字段及能力范围为准。 - 取得用户授权使用的素材及剪辑时间,写入工作目录下的 JSON。所有时间单位为秒;素材路径相对配置文件目录。未知素材时长不要编造,要求明确片段范围,或用已有可用工具读取。第一版没有自动全长和媒体分析能力。
- 直接执行
node <项目路径>/cli/jianyi.mjs create <配置路径> --json,检查 JSON 和退出码。create 已包含配置检查,不重复执行 validate;用户只要求检查时才执行validate <配置路径> --json。没有 Node.js 时说明必要依赖,不擅自安装。 - 默认追加到用户主目录下 EasyCut 草稿库;明确指定其他库才传 --output。多次或同时生成都追加到同一库,不分散到多个输出目录;不更改原始素材。无需 npm install、ffprobe 或后端服务。
- 用户需要直接预览调优时,为 create 加
--open;已有作品用open [草稿库父目录] --draft <ID> --json。这会启动持续运行的本地服务并打开浏览器,从首段 JSON 读取 url,不等待进程退出。工具自行打开页面时可加--no-browser。保留运行会话,告知用户结束前确认网页已保存,再停止服务;网页会保存回同库。同库已有服务时使用原窗口刷新列表,不另起服务或删除正在使用的锁。不需要预览时只生成草稿,命令正常退出。 - 返回生成目录、草稿名称、ID、时长及检查限制。没有使用服务时,告诉用户在普通网页点击“草稿 → 打开本地草稿”,选择输出父目录或内部 jianyi-drafts,随后从列表打开。不要引导使用“另存到文件夹”,该入口用于复制当前作品。下次从最近目录打开;库已打开时点击“刷新列表”。
- 修改已有草稿时,先确认网页已保存,用
list --json定位目标,再用inspect --draft <ID> --json获取最新 revision 和片段 ID。其他草稿库为这两个命令提供父目录位置参数。同名草稿无法凭上下文确定时先询问,不猜测 ID。 - 按
cli/README.md的 update 约定生成修改 JSON,只填写需求涉及的字段,带version: 1和最新revision。执行update <修改配置> --draft <ID> --json,其他源库用--library,输出默认仍在源库;需要预览时支持--open,服务运行规则同第6条。注意音频输入为百分比,inspect 内部值为比例。返回的是独立副本 ID,下一轮以用户正在调整的副本为准。不要把 inspect 快照传给 create,或重建工程而丢失未涉及的样式和字体。 - 检查 update 返回的 warnings,说明因主轨缩短而裁短或移除的叠加内容。版本冲突时重新读取并核对需求,不放弃用户的网页修改。新增素材、分割、删除或重排尚未开放 update 指令,需要在网页完成或明确另建工程。
不要把配置验证成功称为视频渲染成功。CLI 未解码媒体,实际时长及编码兼容性由网页恢复检查。只有检查过预览和导出文件才能报告相应成功。