SuperAPI AI 工具集

reframe-social

设计与创作

查看项目

更新于 10-15 11:12

技能介绍

用途

reframe-social 用于将视频重构为目标宽高比,输出适配社交平台的竖屏或方形画面,支持从横屏源素材转换。常见目标包括竖屏 9:16(Reels/Shorts/TikTok)、方形 1:1 和纵向 4:5。

两种重构模式

工具提供两种转换方式,按素材类型选择:

  • crop 模式(默认):全幅竖屏裁切,主体填满画面,适合单人讲话(talking head)等画面。
  • pad 模式:保留完整画面,用模糊填充背景,适合录屏、游戏、幻灯片等边缘内容重要的素材。

示例命令:

# 竖屏 9:16 单人讲话(全幅裁切,主体居中)
uv run video-agent reframe in.mp4 -o reel.mp4 --aspect 9:16

# 竖屏并带模糊背景填充(不裁切)
uv run video-agent reframe in.mp4 -o reel.mp4 --aspect 9:16 --mode pad --width 1080

# 方形 / 纵向
uv run video-agent reframe in.mp4 -o sq.mp4 --aspect 1:1
uv run video-agent reframe in.mp4 -o pt.mp4 --aspect 4:5

--width 设置最终输出宽度(高度随比例自动计算);省略则保持原始分辨率。对于 9:16 社交场景,--width 1080 得到 1080×1920,即标准上传尺寸。

裁切偏移(crop 模式)

裁切默认居中(--focus 0.5)。如果讲话者偏向画面左或右,默认裁切会把人物裁掉。工具设计上不包含人脸跟踪,需要手动设置裁切偏移:

  1. 查看主体位置:uv run video-agent position-grid in.mp4 --at <t> --spacing 200 -o grid.png,打开图片,记下主体的中心 x 坐标。
  2. 计算 focus = subject_center_x / frame_width(0 表示贴左边缘,1 表示贴右边缘)。
  3. 应用:uv run video-agent reframe in.mp4 -o reel.mp4 --aspect 9:16 --focus 0.62
  4. 验证:uv run video-agent frame reel.mp4 --at <t> -o check.png 并目视检查。

处理画面中移动的主体

单个固定的 --focus 无法跟踪运动。需要在主体移动的位置切分片段,分别按各自的焦点重构,再拼接:

# 主体起始在左侧,约 4 秒向右移动
uv run video-agent trim in.mp4 --start 0.0 --end 4.0 -o a.mp4
uv run video-agent trim in.mp4 --start 4.0 --end 8.0 -o b.mp4
uv run video-agent reframe a.mp4 -o ar.mp4 --aspect 9:16 --focus 0.3
uv run video-agent reframe b.mp4 -o br.mp4 --aspect 9:16 --focus 0.7
uv run video-agent concat ar.mp4 br.mp4 -o reel.mp4

可使用 detect 在时间范围内定位主体跨越位置,使切点落在运动瞬间,而非手势中间。

注意事项

  • 裁切会丢失边缘内容——输出前务必抽一帧目视检查,边缘的手势或第二个人可能已被裁掉。
  • pad 模式不会放大内容——它按比例适配,其余部分用模糊、放大的副本填充。不指定 --width 时输出画布可能较大,传入 --width 可固定尺寸。
  • 字幕应在重构之后添加,而非之前——这样字幕尺寸和换行才与最终画面匹配。参见 captions 技能。
  • 音频会被重新编码(aac);视频使用 h264_videotoolbox。重构之后的再次拼接必须使用 filter_complex concat 或 concat 命令(它会重新编码音频)。