Behind My Head 是一个用于短视频剪辑的技能模板,主要将真实网页、应用界面或单个醒目数字以具有真实景深的构图放在说话者头部后方。人物经过抠像后保持在前景,页面或数字从背景中升起并精确落到用户说出的单词上,视觉上呈现为空间深度而不是叠加的平面图形。
用途:适合产品发布、展示“这是我的网站”、价格页面、成果或里程碑数字等口播场景。
主要能力:
- 支持两种背景对象:真实网页截图(至少 1920px 宽,保持真实比例)并可在地址栏输入地址;或一个精确数字(如 12,400、$3.2m、87%)及其来源和简短标签。
- 页面或数字的运动与 words.js 中的单词时间对齐:页面在单词前 0.19 秒开始上升,在单词时刻达到完整大小;数字滚动约一秒,左侧数字先稳定,右侧数字精确落在单词上。
- 可选“lift”功能:页面上的某个区域或第二个单词可再次抬升。
- 可选景深“plate”:仅限三脚架固定拍摄,生成没有人的房间背景板,在片段中对背景进行模糊并缓慢推近镜头。
- 内置脚本 matte.py 使用 RobustVideoMatting 进行本地免费抠像,输出带帧号的 cut-out 图像并打印 headTop(画面中头顶像素位置)。
- 模板文件 behind-my-head.js 可复制到 video.js 顶部,通过 behindMyHead() 添加节拍。
- 渲染使用 node render.mjs,支持先渲染静帧检查。
使用方式:
- 先运行 video-intake 和 opening-hook 获取剪辑片段、face/ 帧、words.js 等。
- 准备背景对象:截图(含地址)或数字(含来源和标签),并明确落点单词;可选第二个单词及页面上抬区域。
- 运行 matte.py 对指定节拍进行抠像,命令示例:python3 <this skill>/scripts/matte.py my-video --from 12.4 --to 17.0。依赖安装:python3 -m pip install torch torchvision pillow numpy scipy。
- 如需景深,可选运行 plate.py:python3 <this skill>/scripts/plate.py my-video --from 12.4 --to 17.0。
- 将模板复制到 video.js 顶部,按节拍表在 VIDEO.beats 中添加 behindMyHead() 调用,参数包括 start、end、page 或 number、word、headTop、可选的 focus 和 plate。
- 在 my-video 目录下运行 node render.mjs --stills 检查静帧,再运行 node render.mjs 渲染完整视频。
- 渲染后运行 video-check 检查。
适用场景:产品发布、网站展示、价格页说明、成果或里程碑数字展示等口播视频。主要面向 9:16 竖屏,其他比例(4:5、1:1、16:9)建议对该行使用 split beat。
限制与注意事项:
- 不得编造页面、地址或数字;使用他人页面截图需获得所有者同意。
- 不能展示无权使用的标识,页面中不应保留他人姓名或账号。
- 截图必须真实且最新,数字需有来源,不确定时向下取整。
- 头部位置需控制:数字场景头顶约在 y 445,页面场景约在 y 575;过高会缩小人物并叠加模糊房间副本,超过 80% 会停止并提示修改。
- 顶部 220px 不能有文字,地址栏默认位于其下方。
- 抠像需逐帧与房间帧完全匹配(帧号、大小、位置一致),否则边缘出现重影。
- 使用 plate 时不能有手持拍摄,否则模糊房间中会出现人物残影;推镜头仅在使用 plate 时有效。
- 页面节拍需在单词前至少 0.4 秒开始,数字节拍需在单词前至少 1.5 秒开始,否则入场会被截断。
- 模板依赖 Puppeteer,如找不到需在 my-video 目录运行 npm i puppeteer。
- 所有数值在 draw() 内仅由时间决定,seek(t) 可复现相同帧。
暂未提供:具体收费、价格、平台支持范围、效果保证等未在资料中说明。