用途
flower-transitions 用于给 Tella 视频中各版面切换处,添加 Louise 风格的“花朵转场”:带颗粒感的复古万花筒动态图形。转场是 1920×1080、30fps 的透明 ProRes 4444 覆盖层,图形以形状遮罩扫入,覆盖整帧后扫出;实际版面切换在画面被完全覆盖时于底层完成,相机素材本身不被修改,颗粒与复古质感只存在于图形上。
主要能力
8 种设计(轮换使用):
- Stripes iris:波浪薄荷、紫色条纹,构成 8 瓣花朵形圆的打开与关闭。
- Bloom wave:蓝色花朵绽放,从左到右波浪擦除。
- Grid tiles:3×3 花朵网格,沿对角线逐块拼建。
- Pink stripes blinds:粉、橙色条纹,以错位水平百叶窗呈现。
- Warm bloom iris:橙粉色绽放,6 瓣光圈。
- Stripes+bloom diagonal:花朵叠在条纹上,对角擦除。
- Rings wave:条纹配色的波浪同心环,从右到左波浪擦除。
- Violet grid tiles:紫罗兰花朵网格,方块随机弹出。
每个设计默认 2.4 秒;“Pink stripes blinds”和“Warm bloom iris”另有 1.6 秒版本,用于版面切换间隔较短的地方。设计保存在用户私有媒体库,名称统一从“Flower transition –”开头。
使用方式
- 用 get_timeline 获取含 layouts 与 overlays 的时间线,先按开始时间排序,找出真正的版面切换点(可跳过纯相机段中的 punch-in、默认跳过 b-roll 边界,跳过视频最后 1 秒内的变化等)。
- 放置:2.4 秒版本从切换时刻前约 1133ms 开始,使切换落在完全覆盖的中间;1.6 秒版本从切换时刻前约 750ms 开始。
- 相邻切换过近时,使用 1.6 秒版本;若仍重叠,则保留一个转场并让另一处硬切。
- 8 种设计按 1→8 顺序轮换,避免相邻重复。
- 用一次 apply_video_edits 批量以 add_media_overlay 添加,位置 {xPct: 0, yPct: 0},尺寸 {width: 1920, height: 1080},不设 transition/animation,由 alpha 通道完成擦除。
- 用 get_filmstrip 抽查前 3–5 个切换点,确认切换时画面被完全覆盖、前后透明。
适用场景
适用于需要为 Tella 视频版面变化(如仅相机与并排或分屏、全屏与带框相机之间的切换)添加统一风格动态转场的情况。也可作为后续可选项,为每个转场添加音效、处理 b-roll 进出,或对极快段落保留硬切。
限制与重新渲染
修改转场时长需重新渲染并批量替换(update_overlay 不能更改源)。可使用 scripts/gen.py,需要 numpy(pip install --break-system-packages numpy)与 ffmpeg;三份源图形需先下载为 stripes.mp4、bloom.mp4、grid.mp4。72 帧为 2.4 秒、48 帧为 1.6 秒、24 帧为 0.8 秒。渲染后可检查联系表,再以 create_source 上传并保存到媒体库。若源图形不可达,需请用户重新附上三个片段;切勿使用 bloom 片段前 0.5 秒(含播放器界面)。其他长度、画布尺寸或颜色的具体支持效果,资料未提供更多说明。