用途
Instagram 的原生文字(Edits / IG 作曲器)的字体、逐行圆角框和抗锯齿效果无法在渲染器中精确复现。本技能把这种精确外观应用到任意数量的视频上,而手机只需处理一个 6 秒的模板工程。流程为:黑白双底板 → Edits 模板工程(各半段上有一层样式文字)→ 每个钩子重打文字、导出、下载(scripts/edits_hooks.py)→ 得到 hook-NN.mp4 → 差分遮罩提取(scripts/extract_overlay.py)→ 得到 hook-NN.png、hook-NN-sprite.png、hook-NN.json → 缩放、定位、时间、HLG 安全烧录(scripts/apply_overlay.py)→ 输出 <video>-hook.mp4。
主要能力
- 批量渲染:同一钩子用于 N 个视频时一次导出、一次 apply_overlay;每个视频不同钩子时一次 edits_hooks.py 调用写入所有文案,再按序配对。
- 精确提取:利用黑底板 a·C 与白底板 a·C+(1−a) 的关系恢复软边缘、圆角、描边与部分透明度,避免抠像或阈值遮罩破坏抗锯齿。
- HDR 处理:HLG 手机素材保持不变,叠加层经 SDR709→HLG2020 LUT 后覆盖在原像素上,输出 HEVC Main10 HLG 并保留源标签;SDR 源输出 H.264,音频流复制。
- 质检:extract_overlay.py 每次校验 recomposite_mean_abs_err_8bit 与 motion_between_black_frames;输出需在审阅介质中逐帧查看,框外应与源一致。
使用方式
需要 iPhone 安装 Edits、USB 连接、WebDriverAgent 运行并端口转发(--wda,默认 http://localhost:8100)、屏幕解锁;还需 pymobiledevice3、ffmpeg/ffprobe、Python 3 + numpy + Pillow。无手机时第 2–3 步可用任何手工制作的静态文字导出替代。先手工制作一次性模板(约 2 分钟):生成 plate-bw.mp4 并导入手机相册,在 Edits 中新建工程、添加文字、设置样式,将文字片段拉伸覆盖整个底板,关闭动画,重命名工程。随后运行脚本渲染、提取和烧录,参数包括 --center-y、--start、--end、--trim、--hlg-white 等。
适用场景
适合需要大量视频统一使用 Instagram 原生文字钩子风格的短视频批量制作;同一钩子用于多视频或每个视频不同钩子的场景均可。新样式(红框、白框、描边)需另建一个模板工程。
限制
资料未提供价格、平台兼容范围或效果保证。依赖特定软硬件环境(iPhone + Edits、WebDriverAgent、USB),模板中文字必须静态且覆盖黑白两半;长行由 Edits 自行换行;钩子文案为公开文案,需按内部文案 QA 流程处理。