Communitygithub.com

johnnyfekete/video-organize

스크립트 기반 영상의 로우 푸티지를 정리합니다. 각 녹화본을 로컬에서 자동 전사하고, 테이크를 찾아 스토리보드 씬과 매칭하며, 완성도, 끊긴 단어, 오디오 상태를 평가하고, 현장 판정을 읽어 최적의 테이크 또는 두 테이크의 패치를 제안합니다. B-롤을 스토리보드의 B-롤 노트와 비교하여 정리하고, TAKES.md를 작성하며, 영화 스타일 이름(S02A_T03_original)으로 파일명 변경을 제안합니다. 새 푸티지가 도착했을 때, 테이크 정리·비교·선택이 필요할 때, 사용 가능한 테이크가 없는 씬을 확인할 때, 또는 클립 이름 변경 요청 시 사용합니다.

video-organize란 무엇인가요?

이 스킬은 스크립트 기반 영상 편집 워크플로우에서 로우 푸티지를 자동으로 정리하고 분석합니다. 사용자가 지정한 푸티지 폴더를 스캔하여 모든 녹화본을 로컬에서 전사(Whisper 또는 사용자 정의 전사 명령어 사용)하고, 각 테이크를 스토리보드 씬과 매칭한 후 완성도, 끊긴 단어, 오디오 품질 등을 점수화합니다. 현장에서 '승인' 또는 '거부'로 기록된 판정을 읽어 최적의 테이크를 추천하거나, 두 테이크의 일부를 자연스럽게 패치하는 방안을 제시합니다. 또한 B-롤 푸티지에서 샘플 프레임을 추출하여 사용자(또는 AI)가 이를 설명하면 스토리보드의 B-롤 노트와 자동 매칭합니다. 최종적으로 TAKES.md 보고서를 생성하고, 사용자 승인 시 영화 스타일의 파일명(예: S02A_T03_IMG_5419.MOV)으로 변경할 수 있습니다. 이 스킬은 resolve-bridge, ffmpeg, uv(또는 사용자 정의 전사 명령어)가 필요하며, DaVinci Resolve가 종료된 상태에서도 작동합니다. video-setup 이후, video-assemble 이전에 실행해야 합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/johnnyfekete/resolve-video-skills/tree/HEAD/skills/video-organize

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

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

문서

video-organize은(는) 무엇을 하나요?

video-setup 이후, video-assemble 이전에 실행합니다. 타임라인이 필요 없으며 Resolve가 종료된 상태에서도 작동합니다. 이 스킬 옆에 resolve-bridge 스킬이 설치되어 있어야 하거나 RVS_BRIDGE가 설정되어 있어야 하며, ffmpeg와 uv(로컬 Whisper용) 또는 RVS_TRANSCRIBE_CMD에 전사 명령어가 있어야 합니다.

스크립트 실행 방법: python3 <이 스킬 폴더>/scripts/organize.py --workdir <폴더> <명령어>

스토리보드 형식

일반 마크다운, 씬당 하나의 블록. 씬 ID는 제목에서 가져옵니다.

## S01
Setup: counter top

Let me start with a confession: AI helped me plan this video.

## S03
Voiceover: yes
B-roll: showing AI researching something funny

Setup, Voiceover, B-roll은 선택 사항입니다. 블록의 나머지 내용은 대사 텍스트입니다. B-roll:만 있는 블록은 B-롤 전용 씬입니다. 제목이 없는 일반 스크립트는 각 단락을 하나의 씬으로 간주합니다. 스토리보드가 전혀 없으면 테이크는 유사한 텍스트로 그룹화되며(G01, G02), TAKES.md 상단에 경고가 표시되고 스크립트 기반 점수 매기기나 이름 변경 제안이 없습니다.

워크플로우

  1. 설정 확인. video-setup의 check를 실행합니다. 스토리보드가 기록되지 않은 경우 경고하며, .edit/config.json에는 storyboard, approve_phrases, reject_phrases가 있어야 합니다(이전 버전의 phrases 목록은 참고로만 표시됨: 어떤 구문이 승인/거부인지 물어보고 setup.py write로 저장).
  2. 먼저 개수 확인. 푸티지 폴더를 물어본 후:
    python3 scripts/organize.py --workdir <folder> run --footage <footage folder> [--storyboard FILE] [--every 2]
    
    --yes 없이 실행하면 개수(녹화본 수, 길이, 씬 수)를 출력하고 멈춥니다. 사용자에게 폴더가 올바른지 확인합니다.
  3. 실행.
    python3 scripts/organize.py --workdir <folder> run --footage <footage folder> --yes
    
    전사(이미 전사되어 변경되지 않은 녹화본은 건너뜀), 테이크 찾기 및 점수 매기기, B-롤 프레임 추출, TAKES.md 작성, 문제 기록(사용 가능한 테이크가 없는 씬, 촬영되지 않은 B-롤, 패치할 수 없는 끊긴 구문)을 수행합니다.
  4. 당신의 역할: B-롤 설명. 실행 시 B-롤 녹화본당 하나의 프레임 폴더가 나열됩니다(샘플당 JPEG 하나, 프레임 N은 N x every초 위치). 각 폴더에 대해:
    • 프레임을 열고 타임스탬프별로 화면에 무엇이 있는지 설명합니다.
    • 설명을 스토리보드의 B-roll: 노트와 매칭: 씬, 시작, 끝, 이유;
    • 페이로드를 작성한 후 기록합니다:
      {"<recording path>": {"frames": {"0": "a person typing", "2": "close-up of a screen"},
                            "matches": [{"scene": "S04", "start": 2, "end": 6, "why": "screen close-up"}]}}
      
      python3 scripts/organize.py --workdir <folder> describe payload.json
      
    보이는 것만 설명하세요. 매칭을 임의로 만들지 마세요.
  5. 당신의 역할: 샷 문자 질문. 실행 시 같은 씬의 두 파일이 동일한 카메라 설정인지 판단할 수 없으면 프레임 차이와 함께 질문을 나열합니다. 사용자에게 물어본 후 각 답변을 기록합니다:
    python3 scripts/organize.py --workdir <folder> answer S02 <file> B
    
  6. TAKES.md 표시. 씬당 한 섹션, 추천 테이크가 먼저 나오고 점수와 이유, 패치(두 테이크 ID로 표시되며 항상 추천), 매칭되지 않은 클립, 테이크가 없는 씬. 문제점을 사용자에게 읽어줍니다.
  7. 수정. 사용자가 다른 테이크를 선호하는 경우("use S02A-T03"):
    python3 scripts/organize.py --workdir <folder> pick S02A-T03
    
    사용자의 선택은 재실행 시에도 유지됩니다. report는 다른 것은 변경하지 않고 TAKES.md만 다시 작성합니다.
  8. 이름 변경. organize.py rename이 제공합니다(먼저 제안 표시, 사용자가 전체 목록을 승인한 후에만 --apply, 되돌리기는 --undo). 전체 old-to-new 목록을 보여주고 명확한 동의가 있을 때만 적용합니다. 다른 방법으로는 절대 이름을 변경하지 마십시오. 열려 있는 Resolve 프로젝트의 타임라인에 이미 배치된 클립은 건너뛰고 그 이유를 나열합니다. 사용된 클립을 다시 연결하면 컷과 그레이딩이 손실될 수 있기 때문입니다. 필요한 경우 Resolve 내에서 수동으로 이름을 변경하십시오. 프로젝트에 컴파운드, 멀티캠 또는 퓨전 클립이 포함되어 있어 내용을 나열할 수 없는 경우 가져온 모든 클립을 건너뜁니다. --apply는 마지막으로 표시된 제안을 정확히 적용하며 변경된 경우 거부합니다. Resolve가 종료된 상태에서 --apply와 --undo는 --never-imported가 필요합니다(푸티지가 가져온 적이 없는 경우). Resolve가 열려 있으면 사용된 클립도 여전히 확인됩니다.
  9. 완료. 실행 자체가 organize 단계를 기록하므로 추가로 기록할 것은 없습니다. 다음 단계로 video-assemble(아직 구축되지 않음)을 가리킵니다.

이름 규칙

경우이름
TAKES.md의 테이크 IDS02A-T03
하나의 테이크가 있는 파일S02A_T03_IMG_5419.MOV
한 샷의 여러 테이크가 있는 파일S02A_T01-T03_IMG_5420.MOV
여러 씬이 있는 파일S03A_S05A_S06A_IMG_5422.MOV
씬의 두 번째 카메라 설정S02B_T01_IMG_5430.MOV

모든 샷에는 문자가 있습니다. 다른 문자는 재테이크가 아닌 다른 카메라 설정을 의미합니다. B-롤 및 매칭되지 않은 파일은 원래 이름을 유지합니다.

규칙

  • 원본 푸티지는 이동되거나 덮어쓰여지지 않습니다. 승인된 rename을 통해서만 이름이 변경됩니다.
  • 점수는 0~100이며 항상 이유와 함께 표시됩니다. 현장 거부는 점수보다 우선하며, 승인은 최우선 순위입니다. 보이스오버 씬은 주로 음질로 판단됩니다.
  • 패치는 자연스러운 휴지점에서 최소한 하나의 완전한 아이디어 컷을 교체하며, 절대 단어 하나만 교체하지 않습니다.
  • 작업 파일은 <folder>/.edit/organize/에 있습니다(수동으로 편집하지 마십시오). video-assemble은 이 파일들만 읽습니다.

Individual skills in this repo

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

관련 스킬