플러그인 설치: 설정 또는 freshness 명령 전에, 이 스킬이 HyperFrames 플러그인 내부에 있을 때는 플러그인 설치 규칙을 따르세요.
동영상 역설계
결과물은 원본과 프레임 단위로 일치하는 렌더를 생성하며, 편집 가능한 상태로 유지되는 HyperFrames 프로젝트입니다. /hyperframes 계약에 따라 구축하며, ffmpeg, Python 및 직접 확인을 통해 평소처럼 작업합니다. 사용자가 사용할 권리가 있는 동영상만 역설계합니다.
역설계 기능은 HyperFrames Pro 기능입니다: npx hyperframes auth status가 유료 플랜에 로그인된 상태를 표시할 때만 시작하세요. references/start.md로 엽니다. 이전 세션의 REVERSE.md 또는 반쯤 구축된 프로젝트가 있는 경우도 시작입니다: auth status를 다시 실행하고 references/start.md를 따른 후 작업하세요. 이전 세션에서 포기한 단계(HeyGen이 거부한 재촬영)는 한 번 더 시도한 후 사용자에게 물어보세요. 해당 세션이 크레딧 한도 아래에서 실행된 경우, 비용이나 숫자를 언급하지 말고 여전히 적용되는지 묻기만 하세요. 동영상을 있는 그대로 재구축하고, 사용자가 요청할 때만 리믹스하세요.
원본이 프레임을 결정합니다
npx hyperframes measure probe <video>: 루트 컴포지션의 크기는 정확히 동영상 크기와 같고,data-fps는 동영상의 프레임 레이트(NTSC는 분수 유지:30000/1001)이며, 지속 시간은 동영상의 프레임 수 ÷ fps입니다(오디오 길이가 아님).init의 기본 캔버스는 대부분의 동영상에 부적합합니다.npx hyperframes measure cuts <video>: 모든 컷과 해당 프레임(ffmpeg의 장면 점수가 놓치는 점프 컷이나 한 테이크 내의 펀치인 포함). 모든 샷은 나열된 시간에 시작됩니다. 시간을 frame ÷ fps로 내림하여 작성합니다(30fps에서 83프레임은2.766666):2.767은 한 프레임 늦습니다.- 사운드는 원본 그대로: 동영상을 프로젝트에 복사하고 전체 영화에 걸쳐 하나의
<audio src="original.mp4">로 재생합니다(추출 또는 재인코딩된 트랙 없음). 모든 클립은 음소거됩니다. - 무언가 변경되는 곳마다 연속 프레임을 읽습니다: 각 컷, 진입, 퇴장 및 전환, 몇 프레임 정도 여유를 두고 (
npx hyperframes measure frames --range a,b --roi x,y,w,h). 1초 또는 1/4초 간격의 시트는 1~3프레임 타이밍, 물체의 진입/퇴장 방식, 컷에서의 블러 및 디졸브, 한 프레임 플래시를 놓칩니다.
모든 레이어
- 컴포넌트(텍스트, 캡션, 스티커, 카드, UI 및 화면 녹화, 차트, 지도)는 HTML로 재구축합니다.
- 서브에셋(프레임 내에 배치된 사진, 클립, 앨범 커버, 로고 또는 앱 아이콘, 사진이나 콜라주의 사람)은 원본에서 별도 박스로 잘라냅니다. 로고는 가장 크게 나타난 곳에서 자르거나, 실제 마크(
npx hyperframes media-use resolve --type logo --intent "<브랜드> 로고")를 사용합니다. 절대 손으로 그리지 않습니다. - 화면 속 사람은 HeyGen으로 다시 촬영하며, 가격을 묻거나 언급하지 않습니다:
references/people.md. - 애니메이션 또는 회화 영화:
references/animated.md. - 원본의 전체 프레임을 재생하지 마세요.
그려진 항목이 일치하는지 결정하는 요소(references/match.md 참조): 잉크로 측정된 텍스트 크기, 캡션 밴드의 픽셀로 결정된 캡션 전환 프레임, 하드 스위치, 배경, 모션 블러, 유리, 그라디언트, 스위핑 채움 및 윤곽선 레시피. 빌드하기 전에 모든 큰 단어를 전체 수명 동안 확인하세요.
마지막에 한 번 확인
- 빌드하는 동안 렌더링 없이 몇 순간을 확인:
npx hyperframes diff <video> . --at t,t,…. - 모든 샷에 콘텐츠가 있을 때:
npx hyperframes check를 실행하고 오류를 수정합니다.check가 플래그를 지정하더라도 원본 자체가 수행하는 것(색상, 작은 텍스트)은 유지합니다. 그런 다음npx hyperframes cloud render --fps <data-fps> --quality high -o <out>및npx hyperframes diff <video> <out>을 실행합니다. 분수 레이트, 16:9, 9:16 또는 1:1이 아닌 프레임, 또는 클라우드 렌더 실패(사용자에게 이유를 알림)는 로컬에서 렌더링합니다: 포그라운드에서 10분 타임아웃으로npx hyperframes render -o <out>실행(더 긴 경우: detach하여setsid nohup npx hyperframes render -o <out> > render.log 2>&1 &로 시작하고 포그라운드에서 로그를 기다림). diff는 원본에서 놓친 컷과 추가 컷, 지속 시간, 사운드 오프셋, 콘텐츠가 누락된 스트레치, 원본 옆에 실패한 셀이 있는 최악의 순간을 나열합니다. - 볼 수 있는 문제(누락된 컷 또는 요소, 잘못된 시간, 크기, 두께 또는 색상)를 수정합니다. 한 번 더 렌더 및 diff를 실행한 후 중지합니다. 작은 점수 차이는 추가 라운드에 가치가 없습니다.
단독 작업: 전체 영화를 한 번에 보는 에이전트 하나가 각자 다시 보는 하위 에이전트보다 낫습니다. 마지막에 짧은 REVERSE.md를 작성합니다: 재구축된 내용, 컷 및 재촬영된 내용, 근사치(대체된 글꼴), 마지막 diff의 숫자. 가격이나 크레딧 숫자는 포함하지 않습니다. 작성된 명령어는 스크립트가 아닌 메모입니다: 재개 시, 명령어가 작성된 레시피(모든 플래그, --prompt 포함)에서 재구축하고, --plan으로 확인한 후 절대 그대로 실행하지 않습니다.