reverse-any-video
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePlugin installs: Before setup or freshness commands, follow plugin execution rules when this skill is inside a HyperFrames plugin.
Plugin 安装: 执行 setup 或 freshness 命令之前,如果此 skill 位于 HyperFrames plugin 中,请遵循 plugin 执行规则。
Reverse a video
逆向复刻视频
The result is a HyperFrames project whose render matches the original frame for frame and stays editable. Build to the contract and work the way you normally would, with ffmpeg, python and your own eyes. This skill holds only what earlier rebuilds got wrong or spent hours on. Reverse videos the person has the right to use.
/hyperframesReverse is a HyperFrames Pro feature: start only when shows a sign-in on a paid plan, not Free. Open with . Resuming (a or half-built project is there) is a start too: run again and follow before acting. A step an earlier session gave up on (a re-shoot HeyGen refused) gets one more try, then ask the person. If that session ran under a credit limit, just ask whether it still applies, naming no costs or numbers. Rebuild the video as it is; remix it only when the person asks.
npx hyperframes auth statusreferences/start.mdREVERSE.mdauth statusreferences/start.md最终产物是一个 HyperFrames 项目,其渲染结果与原片逐帧一致,并且保持可编辑。按照 contract 构建,像平时一样借助 ffmpeg、python 和肉眼判断开展工作。这个 skill 仅收录以往复刻中容易出错或耗费数小时的部分。仅可逆向复刻用户有权使用的视频。
/hyperframesReverse 是 HyperFrames Pro 功能:仅当 显示已登录付费方案(而非 Free)时,方可开始。从 开始。恢复任务(目录中已有 或项目只完成一半)也属于开始流程:再次运行 ,并在操作前遵循 。对于之前会话放弃的步骤(例如 HeyGen 拒绝重新拍摄),再尝试一次,然后询问用户。如果那次会话是在 credit limit 下运行,就只询问该限制是否仍然有效,不要提及任何费用或数字。按原样重建视频;只有用户提出要求时才进行改编。
npx hyperframes auth statusreferences/start.mdREVERSE.mdauth statusreferences/start.mdThe original decides the frame
原片决定每一帧
- : the root composition is that size exactly,
npx hyperframes measure probe <video>is its rate (NTSC stays a fraction:data-fps) and its duration is the video's frames ÷ fps, not the audio's length.30000/1001's default canvas is wrong for most videos.init - : every cut with its frame, including jump cuts and punch-ins inside one take, which ffmpeg's scene score misses. Every shot starts at its listed time. Write times as frame ÷ fps rounded down (frame 83 at 30 fps is
npx hyperframes measure cuts <video>):2.766666lands a frame late.2.767 - The sound is the original's: copy the video into the project and play it as one over the whole film (no extracted or re-encoded track); every clip is muted.
<audio src="original.mp4"> - Read consecutive frames wherever something changes: each cut, entrance, exit and transition, a few frames either side (). Sheets a second or a quarter apart miss 1–3-frame timing, which way things enter and leave, blurs and dissolves at cuts, and one-frame flashes.
npx hyperframes measure frames --range a,b --roi x,y,w,h
- :根 composition 的尺寸必须与视频完全一致,
npx hyperframes measure probe <video>是其帧率(NTSC 保持分数形式:data-fps),时长为视频总帧数 ÷ fps,而不是音频长度。30000/1001的默认画布对大多数视频来说都不正确。init - :列出每个 cut 及其所在帧,包括同一次拍摄中的 jump cut(跳切)和 punch-in(推近),而 ffmpeg 的 scene score 会漏掉这些。每个 shot 都从其列出的时间开始。将时间写为帧号 ÷ fps 并向下取整(第 83 帧、30 fps 时为
npx hyperframes measure cuts <video>):2.766666会落在晚一帧的位置。2.767 - 声音应使用原片音轨:把视频复制到项目中,并作为单个 贯穿整部影片播放(不提取或重新编码音轨);每个 clip 均静音。
<audio src="original.mp4"> - 凡有变化之处,都要读取连续帧:每个 cut(切点)、entrance(入场)、exit(离场)和 transition(转场)及其前后几帧()。间隔一秒或四分之一秒的抽帧表会漏掉 1–3 帧级别的时序信息、元素进入和离开的方式、cut 处的模糊与叠化,以及单帧闪现。
npx hyperframes measure frames --range a,b --roi x,y,w,h
Every layer
每一层
- A component (text, captions, stickers, cards, UI and screen recordings, charts, maps) is rebuilt in HTML.
- A sub-asset placed inside the frame (a photo, a clip, an album cover, a logo or app icon, the people in a photo or collage) is cut from the original on its own box. A logo is cut where it is largest, or is the real mark (); never drawn by hand.
npx hyperframes media-use resolve --type logo --intent "<brand> logo" - A person on screen is re-shot with HeyGen, without asking or naming a price: .
references/people.md - Never play the original's whole frame.
What decides whether drawn things match, in : text sized from its ink, caption switch frames from the caption band's pixels, hard switches, the backdrop, motion blur, and recipes for glass, gradient, sweeping fills and outlines. Look at every large word through its whole life before you build it.
references/match.md- 组件(文字、字幕、贴纸、卡片、UI 和屏幕录制、图表、地图)使用 HTML 重建。
- 子素材(置于画面内的照片、片段、专辑封面、logo 或 app 图标,以及照片或拼贴中的人物)应从原片按各自的边界框单独裁切。logo 应从其显示尺寸最大的位置裁切,或使用真实标识();绝不手工绘制。
npx hyperframes media-use resolve --type logo --intent "<brand> logo" - 屏幕中的人物使用 HeyGen 重新拍摄,无需事先询问,也不要提及价格:。
references/people.md - 绝不能直接播放原片的完整画面。
绘制元素是否匹配,参见 :文字尺寸应根据其实际墨迹范围确定;字幕切换帧应根据字幕带的像素范围确定;此外还包括硬切、背景、运动模糊,以及玻璃、渐变、扫掠填充和描边的制作方法。构建前,应观察每个大字从出现到消失的完整过程。
references/match.mdCheck once, at the end
最后检查一次
- While building, check a few moments without rendering: (the original beside yours, scored).
npx hyperframes diff <video> . --at t,t,… - When every shot has content: , fix its errors, then
npx hyperframes checkin the foreground with a 10-minute timeout (a longer render: start it detached,npx hyperframes render, and wait on the log in the foreground), thensetsid nohup npx hyperframes render -o <out> > render.log 2>&1 &. It lists the original's cuts that yours misses and the extra ones, the duration, the sound's offset, stretches where content is missing, and the worst moments with the failing cell beside the original's.npx hyperframes diff <video> <render> - Fix what it names that you can see: a missing cut or element, a wrong time, size, weight or colour. Render and diff once more, then stop. Small score differences are not worth another round.
Work alone: one agent holding the whole film beats subagents that each re-read and re-watch it and wait on each other. Write a short at the end: what is rebuilt, cut and re-shot, what is approximate (a substituted font), and the last diff's numbers. It holds no prices or credit numbers. A command written in it is a note, not a script: on resume, rebuild it from the recipe it came from (every flag, included), check it with , and never run it as written.
REVERSE.md--prompt--plan- 构建过程中,无需渲染即可检查若干时刻:(将原片与当前版本并排显示并评分)。
npx hyperframes diff <video> . --at t,t,… - 当每个 shot 都有内容后:运行 ,修复其报告的错误,然后在前台运行
npx hyperframes check,超时时间设为 10 分钟(若渲染耗时更长,则以分离进程方式启动:npx hyperframes render,并在前台等待日志输出),再运行setsid nohup npx hyperframes render -o <out> > render.log 2>&1 &。该命令会列出当前版本遗漏的原片 cut、多余的 cut、时长、声音偏移量、内容缺失的时间段,以及问题最严重的时刻,并在失败画面旁显示原片对应画面。npx hyperframes diff <video> <render> - 修复命令指出且肉眼可见的问题:缺失的 cut 或元素,以及时间、尺寸、字重或颜色错误。再渲染并对比一次,然后停止。较小的评分差异不值得再进行一轮。
独立完成:一个掌握整部影片全貌的 agent,胜过多个各自反复阅读、观看影片并彼此等待的 subagent。最后写一份简短的 :记录哪些内容已重建、裁切和重新拍摄,哪些部分只是近似处理(例如替换了字体),以及最后一次 diff 的数值。文件中不要包含价格或 credit 数值。写在其中的命令只是备注,不是脚本:恢复任务时,要根据该命令的来源 recipe 重新构造命令(保留每个 flag,包括 ),使用 检查,并且绝不能原样运行。
REVERSE.md--prompt--plan