汇总 v0.3.3 之后的全部工作。完整条目见 CHANGELOG。
新增
- 贴合原片字幕带。
tools/measure_subtitle.py抽帧检测原片字幕区并输出红框预览;--subtitle-y-top/--subtitle-y-bot把新字幕基线与字号适配到测得坐标。 - 半透明、解说时段遮罩。 默认
SUBTITLE_MASK_OPACITY=0.6+SOURCE_SUBTITLE_MASK_TIMING=narration,原声留白不再常驻黑条。 - 参考音色解说。 recap / voiceover 新增
--voice-ref,通过mimo-v2.5-tts-voiceclone克隆音色。 - 建议性 MiMo QC。
--mimo-qc pre-assemble|post-render|both,观察聚合进mimo_qc.json,全程不阻断交付。 - 可携带剪映草稿。 素材默认打包进
Resources/local;timeline v2 支持变速、倒放、transform、富文本、转场/mask/LUT、绿幕复合。
内容驱动的创作流程
Agent 在剪辑或写稿前先比较剪辑假设,记录 POV、戏剧问题、change-based beats、audio_owner 与 narration_job。旁白比例改由素材决定,7:3 降级为粗略回退而非配额。
本轮深度审查修复的正确性问题
- 画面锚点整体偏移 1/fps 秒。 ffmpeg 的
fps滤镜首帧在源时间 0,而文件编号从 1 起——frame_00001.jpg是t=0,第 n 帧是(n-1)/fps。此前按n/fps计算,把frame_facts、场景归属与 storyboard 标签整体推后 1/fps 秒(>5min 视频默认 fps=1,即整整一秒)。这些时间戳会作为权威画面锚点交给写稿 Agent。 - 带封面图的素材渲染直接失败。 组装映射
0:v会匹配到 attached_pic 那一路视频流,ffmpeg 报Could not write header并留下损坏文件——发生在整条流程的最后一步。 --clip-padding非零时相邻片段被误判为重复素材,任意两个背靠背片段都会硬失败。CLIP_PADDING环境变量此前完全无效。
性能
file_fingerprint 按进程记忆化:一次理解流程原本要对源视频做 8–10 次全量 sha256、对整套抽帧做 2–3 遍(40 分钟视频约 2400 张全分辨率 JPEG)。另有 VLM 逐帧 base64 缓存改 LRU、续传缓存批量落盘、TTS 响度归一单遍化、缓存命中不再 ffprobe、黑白帧过滤并行。
配置面
每个配置旋钮只声明在读它的技能里,删除 583 条无效声明;新增不变量「任何技能不得声明自身从不读取的配置」。
升级提示
帧时间修复会提升帧/VLM 缓存版本,已有 work_dir 会重跑 VLM 分析(旧结果里烧进了偏移的时间戳)。ASR 与场景检测缓存不受影响,最耗时的转写结果得以保留。
环境要求
ffmpeg(烧录字幕需带 libass)+ 一个小米 MiMo API key。macOS / Linux / Windows。