Communitygithub.com

Ablation-Lab/비디오-리뷰

렌더링된 비디오나 Remotion 프로젝트를 시청하지 않고 리뷰합니다. review-video.ps1을 실행하여 타임스탬프가 있는 프레임을 추출하고, 오디오를 확인하며, 내레이션과 화면의 텍스트를 매칭하고, 변경 사항을 파악한 후 report.md와 PDF 연락처 시트를 생성합니다.

비디오-리뷰란 무엇인가요?

이 스킬은 비디오 파일(MP4, MOV 등)이나 Remotion 프로젝트 폴더를 분석하여 시청하지 않고도 리뷰할 수 있는 패키지를 생성합니다. 주요 기능으로는 장면 전환 시점과 매 2초마다 프레임 캡처, 오디오 분석(LUFS, 피크, 클리핑, 무음, 클릭 감지), 내레이션 라인을 해당 프레임에 매칭, Windows OCR을 사용한 화면 텍스트 인식(철자, 읽기 시간, 화면에 없는 숫자, YouTube Shorts 안전 영역 확인) 및 이전 리뷰 대비 변경 사항 파악이 있습니다. 최종적으로 report.md와 PDF 접촉 시트(contact sheet)를 생성합니다. Windows 환경에서 ffmpeg를 사용하며, Remotion 프로젝트의 경우 npx remotion still로 스틸 이미지를 렌더링하고 오디오는 별도로 처리합니다. 주요 옵션으로는 Remotion 컴포지션 선택, 특정 프레임만 렌더링, 프레임 간격 조정, 내레이션 파일 지정, 이전 리뷰와 비교, 키 프레임 PDF 생성, 읽기 속도 조정, 안전 영역 마진 설정, OCR 및 PDF 생성 비활성화 등이 있습니다. 일반적인 8분 비디오 처리에 약 2분, Remotion 스틸당 약 4초가 소요되며, 10분의 타임아웃이 권장됩니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ablation-Lab/video-review-tool/tree/main/skills/video-review

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

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

문서

비디오 리뷰

이 도구는 비디오 파일이나 Remotion 프로젝트를 읽을 수 있는 리뷰 팩으로 변환합니다: 프레임 PNG, 오디오 분석 내용, 나레이션 라인, 각 프레임의 OCR 화면 텍스트, 자동 검사 결과, 그리고 마지막 리뷰 이후 변경된 사항이 모두 report.md에 담겨 있습니다. 당신의 역할은 이 도구를 실행한 후, 리뷰 팩을 통해 비디오를 검토하는 것입니다.

1. 도구 실행

다음 정확한 명령어로 실행합니다 (Bash와 PowerShell 도구 모두에서 작동하며, 사용자 경로는 따옴표로 감쌉니다):

powershell -NoProfile -ExecutionPolicy Bypass -File "${CLAUDE_SKILL_DIR}/review-video.ps1" "<비디오 파일 또는 Remotion 프로젝트 폴더>" [옵션]
  • 비디오 파일 (MP4, MOV 등): 2초마다, 각 장면 전환 지점과 마지막에 프레임을 추출합니다.
  • Remotion 프로젝트 폴더: npx remotion still로 스틸 이미지를 렌더링하고(전체 렌더링 불필요), 오디오는 별도로 렌더링합니다. -Composition <id>가 지정되지 않으면 첫 번째 컴포지션을 사용하며, 출력에 다른 컴포지션 목록이 표시됩니다. 프로젝트에서 npm install이 이미 실행되어 있어야 합니다.

유용한 옵션 (모두 선택 사항):

옵션용도
-Composition <id>Remotion: 렌더링할 컴포지션을 지정합니다.
-Frames 0,90,450Remotion: 지정된 프레임 번호만 렌더링합니다.
-Interval <s>정규 프레임 간격(초) (기본값 2). 긴 비디오의 경우 4 이상을 사용하세요.
-Narration <file>자동으로 찾을 수 없는 경우 나레이션 소스를 지정합니다: .srt, .vtt, .csv, .md 녹음 테이블 또는 voiceover.json.
-Project <folder>비디오가 프로젝트 외부에 있을 때 나레이션을 검색할 폴더입니다.
-OutDir <folder>리뷰 팩을 저장할 폴더를 지정합니다.
-CompareWith <folder>이전 리뷰 폴더(예: 이전 파일 이름의 폴더)와 비교합니다. 기본적으로 각 실행은 동일한 비디오의 마지막 실행과 비교합니다.
-ChangesPdf변경된 프레임만 포함하는 PDF도 생성합니다. 사용자가 변경 사항만 원할 때 사용합니다.
-KeyFramesPdf리뷰 폴더에 key-frames.pdf를 생성합니다: 약 15~20개의 프레임, 각 장면당 하나의 완전히 구성된 프레임과 플래그된 프레임이 타임스탬프, 장면 및 발견 사항과 함께 레이블링되며 10MB 미만입니다. 리뷰 폴더에 이미 완전한 리뷰가 있는 경우 해당 프레임을 사용하여 빌드되며 다른 것은 변경되지 않습니다. 그렇지 않으면 리뷰가 먼저 실행됩니다. 전체 연락처 시트를 생략하려면 -NoPdf를 추가하세요.
-KeyFramesMaxMB <n>key-frames.pdf의 크기 제한 (기본값 10).
-WordsPerSecond <n>읽기 시간 검사에 사용할 읽기 속도 (기본값 3).
-NumberWordsFrom <n>이 값부터 구어체 숫자 단어가 검사됩니다 (기본값 10).
-SafeMargins t,r,b,l1080x1920 쇼츠의 안전 영역 여백 (기본값 288,192,672,48, Google의 신중한 수치).
-WordList <file>맞춤법 검사에서 허용할 추가 단어가 포함된 파일입니다.
-SceneThreshold 0.3카메라 영상용 (기본값 0.02는 페이드가 있는 슬라이드에 적합).
-NoOcr화면 텍스트 검사를 건너뜁니다.
-NoPdf사용자가 당신의 리뷰만 원할 때 PDF 생성을 건너뜁니다.
-NoAudioRemotion: 오디오 렌더링을 건너뜁니다.

긴 비디오는 시간이 걸립니다: 8분 비디오의 경우 약 2분, Remotion 스틸 하나당 약 4초입니다. 타임아웃은 10분으로 설정하세요. 출력의 마지막 줄에는 report.md, 프레임 폴더 및 PDF의 경로와 함께 오디오, 텍스트 검사 및 변경 사항에 대한 한 줄 요약이 제공됩니다. 리뷰 팩은 비디오 옆에 <비디오 이름>-review\에 저장되거나, Remotion 프로젝트 내에서는 out\<컴포지션>-review\에 저장됩니다 (-OutDir이 지정되지 않은 경우). 각 실행은 이전 실행을 previous\에 보관합니다.

출력이 FAILED:로 끝나면 중단하고 사용자에게 이유를 알리세요. ffmpeg가 누락된 경우 winget install --id Gyan.FFmpeg -e를 실행한 후 새 터미널을 열면 해결됩니다. WARNING:으로 시작하는 줄은 보고서 상단에도 나타납니다. 이를 전달하세요.

2. 훑어보기 또는 전체 리뷰

도구 실행은 저렴합니다. 프레임을 여는 것이 사용자의 사용량을 소모합니다. 열린 모든 프레임은 읽어야 할 이미지이기 때문입니다. 15분 분량의 비디오를 6개의 Opus 서브에이전트가 모든 프레임을 열어 전체 리뷰하는 경우, 한 번의 사용 세션 전체를 소모한 적이 있습니다. 따라서:

  • 기본적으로 훑어보기를 수행합니다. 사용자가 전체 리뷰를 요청하지 않는 한(예: "전체 리뷰", "모든 프레임", "전체 검토"). 훑어보기에서는 report.md를 기반으로 작업합니다: 요약, 검사 결과, 나레이션 타임라인, 각 프레임의 OCR 텍스트 및 플래그. 장면 전환 프레임(end of scene 및 scene change)은 보고서의 해당 행을 통해 살펴보고, 문제가 있을 것 같은 경우에만 프레임 이미지를 엽니다: 플래그된 검사, 화면 텍스트와 맞지 않는 나레이션 라인, 변경된 프레임, 해당 시점의 오디오 문제, 또는 슬라이드가 있어야 할 곳에 OCR 텍스트가 비어 있거나 왜곡된 경우. 마지막에 훑어보기였음을 밝히고 몇 개의 프레임을 열었는지 알리세요.
  • 항상 일부 실제 프레임을 엽니다. 훑어보기, 텍스트 전용 리뷰 또는 타임라인 전용 판정에서도 마찬가지입니다: 장면당 하나의 완전히 구축된 슬라이드(end of scene 프레임, 모든 것이 나타난 직후) 또는 명확한 장면이 없는 경우 비디오 전체에 걸쳐 15~20개의 프레임을 엽니다. 이는 텍스트로는 알 수 없는 시각적 스타일(레이아웃, 겹침, 넘치는 상자, 대비, 빈 프레임)을 보여줍니다. 긴 비디오의 경우, 훑어보기를 수행하는 Sonnet 서브에이전트가 이 프레임을 열도록 하세요. 항상 마지막에 열린 프레임 수를 알리세요.
  • 요청 시에만 전체 리뷰를 수행합니다. 비디오가 5분을 초과하는 경우(report.md 요약의 Length 및 Frames 참조), 프레임을 열기 전에 중단하고 사용자에게 총 프레임 수와 열어야 할 프레임 수를 알린 후, 전체 리뷰가 많은 사용량을 소모할 것임을 경고하고 계속 진행할지, 훑어보기를 제안할지, 또는 더 적은 프레임을 위해 -Interval을 더 큰 값으로 재실행할지(-Interval 4는 정규 프레임을 절반으로 줄임) 물어보세요. 답변을 기다리세요.
  • 전체 리뷰를 수행할 때: 한 번에 최대 2개의 서브에이전트를 실행하고 총 100개 이하의 프레임을 엽니다. 사용자가 다른 숫자를 지정하거나 "모든 프레임, 제한 없음"이라고 말한 경우는 예외입니다. 서브에이전트에는 Sonnet을 사용합니다. 사용자가 Opus를 요청하는 경우에만 사용하고, 이 경우 한 번 더 많은 사용량을 소모한다고 언급합니다. 각 서브에이전트에 고유한 프레임 범위와 해당 report.md 행을 할당하고, 발견한 문제만 반환하도록 합니다.

대략적인 프레임 수: -Interval 2 (기본값)는 비디오 1분당 30개의 정규 프레임을 생성하고, -Interval 4는 15개, -Interval 10은 6개를 생성하며, 장면 전환당 최대 2개의 추가 프레임이 있습니다.

사용자 요청 처리

사용자가 말한 경우수행할 작업
"C:\path\to\video.mp4 리뷰해 줘"훑어보기.
"C:\path\to\video.mp4 전체 리뷰해 줘"전체 리뷰, 최대 100개 프레임 (5분 초과 시 먼저 물어보기).
"...전체 리뷰..., 모든 프레임, 제한 없음"모든 프레임 전체 리뷰. 5분 초과 시 먼저 물어보고, 전체 사용 세션을 소모할 수 있다고 경고.
"...Sonnet 서브에이전트 사용" / "...Opus 사용"해당 모델을 서브에이전트에 사용 (Sonnet이 기본값).
"Sonnet으로 훑어보고 타임라인 파일을 작성한 다음, 타임라인에서 전반적인 의견을 알려줘"도구를 실행한 후, 하나의 Sonnet 서브에이전트가 리뷰 팩을 훑어보고, 핵심 프레임 샘플(장면당 하나의 완전히 구축된 슬라이드)을 열고 리뷰 폴더에 timeline.md를 작성합니다: 장면별 항목(시간 범위, 간략한 나레이션, 간략한 화면 텍스트, 시각적 모양 및 문제점). 당신은 이 파일만 읽고(직접 프레임을 열지 않음) 전반적인 의견을 제공합니다: 구조, 페이싱, 명확성, 시각적 스타일, 슬라이드가 나레이션을 잘 지원하는지 여부. 열린 프레임 수를 알리세요.
"채팅에 첨부할 수 있도록 C:\path\to\video.mp4의 리뷰 PDF를 만들어 줘"도구를 실행하고 PDF의 전체 경로를 제공하세요. 요청하지 않는 한 리뷰하거나 프레임을 열지 마세요.
"채팅에 모두 첨부할 수 있도록 타임라인 파일과 핵심 프레임 PDF를 만들어 줘"-KeyFramesPdf와 함께 도구를 실행하고(아래 "채팅 AI와 공유" 참조) 위와 같이 타임라인을 작성하세요.

채팅 AI와 공유

긴 비디오의 경우 전체 연락처 시트 PDF(수백 개의 프레임)를 첨부하지 마세요. 사용자에게 두 가지를 제공하세요: 텍스트 타임라인 파일(timeline.md, 위와 같음) 및 핵심 프레임 PDF (-KeyFramesPdf로 생성, 전체 PDF가 필요하지 않은 경우 -NoPdf 추가, 이미 리뷰가 있는 폴더에서는 프레임을 재사용하여 몇 초 만에 실행됨). 약 15~20개의 프레임을 포함하며, 각 장면당 하나의 완전히 구축된 프레임과 리뷰에서 플래그된 프레임이 타임스탬프, 장면 이름 및 발견 사항과 함께 레이블링되어 10MB 미만이며 리뷰 폴더에 key-frames.pdf로 저장됩니다. 전체 경로를 제공하세요. 도구가 명확한 장면을 찾지 못한 경우(번호가 매겨진 하단 배지 없음), 프레임을 균등하게 분배하고 레이블에 그 내용을 표시합니다. 도구가 시각적 문제를 스스로 발견할 수 없으므로, 문제를 발견한 경우(겹침, 빈 프레임) 전달할 때 확인할 타임스탬프를 알려주세요. 전체 PDF는 쇼츠와 같은 짧은 비디오에 가장 적합하며, -ChangesPdf는 변경된 프레임만 포함합니다.

3. 비디오 리뷰

  1. report.md를 읽습니다. 순서대로: 경고; 마지막 리뷰 이후 변경 사항 (이전 실행이 있었을 때만: 변경된 프레임, 이전 프레임 링크 및 추가/제거된 단어); 요약; 오디오 분석 내용; 나레이션 타임라인 (각 라인의 시작, 종료 및 일치 점수); 화면 텍스트 검사 (맞춤법, 읽기 시간, 숫자, 쇼츠 안전 영역); 그 다음 모든 프레임의 표 (시간, 캡처 이유, frames/ 내 파일, 해당 시점의 나레이션, OCR 텍스트 및 플래그). "(pause; last line)"은 아무도 말하지 않고 표시된 라인이 방금 말한 라인임을 의미합니다.
  2. 사용자가 무엇이 변경되었는지 묻거나 변경 사항 섹션이 있는 경우, 변경된 프레임부터 시작합니다: 각 프레임을 이전 프레임과 나란히 열고 무엇이 변경되었는지 설명합니다.
  3. 각 슬라이드를 해당 나레이션 라인과 비교합니다. 훑어보기에서는 보고서의 OCR 텍스트를 통해 이를 수행하고 잘못된 것처럼 보이는 프레임만 엽니다(섹션 2 참조). 전체 리뷰에서는 합의된 한도 내에서 Read 도구로 프레임을 엽니다: 먼저 end of scene으로 표시된 프레임(각각 변경 직전의 완성된 슬라이드)과 scene change(각각 정착된 후의 다음 슬라이드), 그 다음 플래그된 모든 프레임, 그 다음 나레이션 라인이 변경되거나 화면에 무언가가 구축되는 정규 프레임을 엽니다.
  4. 자동 검사는 단서로 취급하고 최종 판단은 프레임 이미지에서 확인합니다:
    • 맞춤법: OCR은 작고 희미하거나 고정폭 텍스트를 잘못 읽을 수 있으며, 일부 플래그된 단어는 의도적인 것일 수 있습니다(이름, 의도적으로 표시된 잘못 들린 단어). 이미지에서 확인된 것만 보고하세요.
    • 읽기 시간: 플래그된 슬라이드는 주어진 초당 단어 수로 시간 내에 맞지 않는 새 단어가 있습니다. 레이블이 많은 나레이션이 포함된 다이어그램은 쉽게 트리거됩니다. 실제로 더 많은 시간이 필요한 슬라이드를 지정하세요.
    • 숫자: 화면에서 찾을 수 없는 구어체 숫자는 실제 불일치(슬라이드에 다른 수치가 표시됨)이거나 OCR이 놓친 숫자(종종 큰 헤드라인 숫자)입니다. 프레임을 확인하세요.
    • 안전 영역: 세로 비디오에서 YouTube의 오버레이 여백 내 텍스트. 기본 여백은 가장 신중하게 게시된 것이므로, 하단 및 오른쪽 가장자리 근처의 텍스트를 우선시하세요.
  5. 열어보는 프레임에서 육안으로도 확인하세요: 나레이션과 일치하지 않는 화면 텍스트, 숫자, 이름 또는 레이블; 잘리거나 겹치는 텍스트; 낮은 대비; 빈 프레임 또는 검은 프레임; 자리 표시자 또는 남은 콘텐츠; "not found"로 표시된 나레이션 라인; 보고서의 오디오 문제(클리핑, -1 dBTP 이상의 실제 피크, 클릭 또는 팝, 비디오 중간의 무음, 약 -14 LUFS에서 크게 벗어난 음량).
  6. 간략하게 보고하세요: 먼저 문제점(각각 프레임 번호 및 타임스탬프 포함, 예: #14 00:22.00 및 무엇이 잘못되었는지), 그 다음 오디오 분석 결과, 그 다음 도구가 확인할 수 없었던 사항. 모든 것이 일치하면 간단히 말하세요. 사용자가 요청하지 않는 한 프로젝트를 변경하지 마세요. 플래그된 단어가 올바른 경우 프로젝트 폴더의 review-words.txt에 추가할 것을 제안할 수 있습니다.

PDF 파일

<이름>-review.pdf는 동일한 폴더에 있습니다: 오디오 분석 결과, 검사 및 변경 사항이 있는 표지 페이지, 그 다음 페이지당 6~9개의 프레임, 각 프레임은 타임스탬프, 발견된 문제(빨간색), 나레이션 라인 및 OCR 텍스트(파란색, 맞춤법 오류는 밑줄)로 레이블링됩니다. 20MB 미만으로 유지됩니다. -ChangesPdf를 사용하면 변경된 프레임만 포함하는 <이름>-changes.pdf도 생성됩니다. 사용자가 Claude 채팅에 첨부하거나 누군가에게 보낼 것을 원할 경우 전체 경로를 제공하세요. 더 작은 제한을 위해 -MaxPdfMB <n>을 사용하세요. key-frames.pdf (-KeyFramesPdf 사용)는 긴 비디오에 첨부할 파일입니다.

관련 스킬