Communitygithub.com

VideoMotion 장면 구성 및 렌더링

음성과 장면이 준비된 VideoMotion 프로젝트에 대해 스타일 폰트를 다운로드하고, 색상을 설정하며, 개별 장면을 vm-canh 에이전트에 병렬로 할당하고, 합성, 기술 검사, 렌더링, 오디오 및 자막 병합을 수행합니다. /videomotion의 7단계나 사용자가 '장면 재구성', '렌더링', '비디오 내보내기', 'X장면 수정'이라고 말할 때 사용됩니다.

VideoMotion 장면 구성 및 렌더링란 무엇인가요?

이 스킬은 VideoMotion 프로젝트에서 음성 및 장면 분할이 완료된 후, 비디오를 최종 렌더링하는 7단계 작업을 자동화합니다. 스타일에 맞는 Google Fonts를 다운로드하고, 색상표를 기반으로 테마를 설정하며, 개별 장면을 병렬로 렌더링하기 위해 vm-canh 에이전트를 생성합니다. 그 후 모든 장면을 합성하고 기술 검사(hyperframes check)를 통과할 때까지 오류를 수정합니다. 마지막으로 오디오와 자막을 병합하여 최종 비디오 파일을 생성합니다. 주요 기술 스택은 hyperframes(0.8.145)와 Python 기반 도구(fonts.py, assemble.py, packets.py, audio/mix.py)이며, Claude Code, Cursor, Codex와 같은 AI 에이전트 플랫폼에서 사용할 수 있습니다. 사용자는 '렌더링', '비디오 내보내기' 같은 명령어로 이 스킬을 호출할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/andyluu98/VideoMotion/tree/HEAD/skills/vm-dung

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

비디오 구성 및 내보내기

VV, PY는 videomotion 스킬과 동일합니다. HF는 npx -y [email protected]입니다. <du-an> 디렉토리의 입력: storyboard.json, words.json, timeline.json, mix.wav.

1. 스타일에 따른 준비

  1. 스타일 태그의 폰트(태그 내 Google Fonts 라인): "$PY" "$VV/tools/fonts.py" <du-an> "VT323" "Be Vietnam Pro:400,700" → fonts/ 및 fonts.css 생성.
  2. theme.css: 태그 색상표에서 :root 변수 설정: --bg, --ink, --accent, 보조 색상, --cap-bg, --cap-ink (자막 대비 4.5:1).
  3. 스타일에 비디오 전체 배경(지도, 종이, 보드, 그리드 등)이 있는 경우: compositions/_nen.html (id _nen) 작성, 각 장면은 배경을 투명하게 유지.
  4. "$PY" "$VV/tools/assemble.py" <du-an>: index.html 생성, 폰트 복사, 아직 없는 장면용 대기 파일 생성.
  5. "$PY" "$VV/tools/packets.py" <du-an>: 각 장면에 대한 작업 패킷 checks/packets/<id>.md 생성.

2. 장면 병렬 할당

모든 장면을 동일한 메시지에서 전송, 각 장면마다 하나의 에이전트, agent type videomotion:vm-canh (이미 model: sonnet, effort: medium 선언: 항상 최신 Sonnet 사용). 간단한 지시:

장면 <id> 구성. 작업 패킷: <du-an>/checks/packets/<id>.md. 템플릿: $VV/templates/scene.html. 올바른 파일에 작성: <du-an>/compositions/<id>.html.

세션이 vm-canh 에이전트를 지원하지 않는 경우(플러그인 없이 스킬 설치 또는 다른 도구): model: "sonnet", effort: "medium"인 범용 에이전트를 사용하고, 먼저 $VV/agents/vm-canh.md를 읽도록 지시합니다. 하위 에이전트를 지원하지 않는 도구는 해당 파일에 따라 순차적으로 직접 구성합니다.

장면이 3개 미만이면 직접 구성, 할당 불필요.

3. 합성 및 기술 검사

"$PY" "$VV/tools/assemble.py" <du-an>
cd <du-an> && npx -y [email protected] check

Check passed, 0 오류가 될 때까지 수정합니다(오류가 있는 장면 파일을 수정). 자막의 timeline_track_too_dense 경고는 정상입니다. 승인 또는 검토자가 필요하지 않습니다. 사용자가 미리보기를 원하면 npx -y [email protected] preview --background를 실행합니다.

4. 렌더링 및 오디오 병합

"$PY" "$VV/tools/assemble.py" <du-an> --no-audio
cd <du-an> && npx -y [email protected] render --output renders/raw.mp4 > renders/render.log 2>&1
"$PY" "$VV/tools/audio/mix.py" srt <du-an>
"$PY" "$VV/tools/audio/mix.py" final <du-an> --video <du-an>/renders/raw.mp4 --name <slug>-<ddmmyyyy>
"$PY" "$VV/tools/assemble.py" <du-an>

렌더링은 백그라운드에서 실행됩니다(비디오 1초당 약 2초 소요). --no-audio는 필수입니다: mix.py final이 원본 mix.wav를 병합합니다. 마지막 assemble 명령어는 오디오가 포함된 index.html을 반환하여 미리보기를 제공합니다.

5. 최종 확인

ffprobe renders/<ten>.mp4: 올바른 해상도, 오디오 스트림 존재, 재생 시간이 words.json의 total과 일치. ffmpeg로 비디오 중간 프레임을 추출하여 육안 확인. renders/<ten>.mp4 및 phude.srt를 전달합니다.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

관련 스킬