SuperAPI AI 工具集

composite-split-screen

设计与创作

查看项目

更新于 10-15 21:54

技能介绍

用途:把两段视频合成为一个画面,支持上下堆叠或左右并排,输出统一重新编码的 .mp4,画幅按指定宽高比(默认 9:16,即 1080×1920),时长等于两段输入中较短的一段。它只负责几何合成,不含品牌区域、分隔线或头像等更高层逻辑。

主要能力:

  • 布局:--layout 可选 top-bottom(vstack)或 left-right(hstack),默认 top-bottom。
  • 分区比例:--ratio(默认 0.5)指定 A 段占画面的比例,如 0.6 表示上下模式下 A 占 60% 高度。
  • 填充模式:--fill 可选 crop(铺满并裁掉溢出)、blur(适配区内,剩余空间用同片段放大模糊填充,常见 9:16 二创效果)、pad(剩余空间补黑边),默认 crop,同时作用于两个区域。
  • 画幅:--aspect 指定 W:H,常用 9:16、1:1(1080×1080)、16:9(1920×1080)。
  • 音频:--audio 可选 a、b 或 mix(两段等电平立体声混音),默认 a。

使用方式:需先确认 ffmpeg/ffprobe 在 PATH 中且两段素材存在,然后运行: python3 skills/atoms/editing/composite-split-screen/scripts/composite_split.py --clip-a /path/to/clip_a.mp4 --clip-b /path/to/clip_b.mp4 --layout top-bottom --ratio 0.5 --fill crop --aspect 9:16 --audio a --output /path/to/output.mp4 输出为单个 output.mp4(H.264 / yuv420p / AAC),并在输出同目录写入 manifest.json,含 skill_name、run_id、inputs、layout、ratio、fill、aspect、canvas、duration_seconds、audio_mode、output_file、status、warnings、errors。

限制与失败情形:输出时长为 min(两段时长),记入 manifest;无音频时输出无音并在 warnings 记录,--audio mix 遇单段无音会回退到有音的一段;片段缺失或 ffmpeg 未安装会报错(可用 brew install ffmpeg 安装);片段短于约 0.1 秒、aspect 非 W:H 正整数、ratio ≤0 或 ≥1 均会退出报错。质量校验包括文件存在且非空、ffprobe 尺寸匹配、时长误差约 ±0.3 秒内、编码为 H.264/AAC、manifest 状态为 pass。