timeline-render · git:20260927.9df448d · 2026-09-27 · sha256 1eecb56f599cb8ab

timeline-render git:20260927.9df448dA

Immutable. This exact content never changes and is served at /api/v1/blob/1eecb56f599cb8ab.

---
name: timeline-render
description: 按明确源区间、顺序、音量和输出规格渲染本地时间线预览;只执行已决定的片段表,不选段、不改节奏或生成旁白。
---

# 片段表执行与渲染

本 Skill 的通用能力是按已决定的片段与参数执行并读回实际输出;运行 Agent 可用当前编辑器或下述本地 runtime。以下 ExecutionPlan、源 SHA、FFmpeg 编码与严格音频分支是本地实现合同,跨工具交接见[能力交接](../../contracts/capability-handoff.md)。

读取 [原子合同](../../contracts/operation-contract.md) 的 ExecutionPlan,调用 `timeline-render`。所有源哈希、片段 ID、区间、gain_db、可选恒定 speed、画幅、fps、fit 必须明确。

无效段直接报错,不跳过、吸附到模型建议的切点或补造镜头;重用源区间须显式授权。contain 保留整体画面并填黑边,cover 是中心裁切,不等于智能构图。无音频段补等长静音,分段量化至输出帧数,误差有记录。

返回 normalized-plan.json 和 preview.mp4。以明确输出帧率编码,解码计数必须等于计划总帧数,平均帧率必须等于指定有理数;容器时长或编码包数不能替代这项检查。核对实际总时长及映射后交回复杂 Skill。本操作只支持原声拼接及每段固定增益;TTS、音乐混合和字幕烧录分别走已声明的独立原子。支持每段显式 0.5–2 倍恒定变速;不支持速度曲线、补帧算法选择或转场。视频按新时钟采样输出帧;仅实际有效源窗内有可消费的非1倍速原声时,默认采用当前 stream-v5;1×、静音或量化后已无原声使用身份或静音路径,无 helper 门槛。显式 ffmpeg-atempo 和绑定原 helper 的 v4 保留兼容;目标帧槽与补齐/有限裁剪按原子合同披露,听感单独验收。后端、采样与阶段预算见原子合同。

音轨按每段裁切后重采样至 48kHz,并最终编码为 AAC。源区间与 gain_db 不变只证明编辑参数保持,不能保证修改邻接片段后交付 PCM 逐采样相同;重采样末端与有损编码上下文均可能产生边界差异。要求冻结音频逐采样一致时,本预览路径不得宣称该要求已满足,需另走绑定冻结基线和精确采样区间的无损交付,并对最终解码 PCM 零容差回读。

明确逐采样冻结且输入符合单H.264/48k stereo/零起点范围时,使用[严格音频冻结辅助分支](references/strict-audio-freeze.md)。它输出MOV/PCM并全量回读;请求v2还核真实SQLite当前版本、祖先及文档绑定,并要求显式时长策略。成功只建立该时点的版本交付绑定,不修改作品历史、不登记当前交付选择,也不代替候选采纳、听检或宿主验收。

执行器:[editing_runtime.py](../../runtime/editing_runtime.py)。渲染成功不代表语义或观看通过。