Communitygithub.com

ubeann/video-context

동영상 URL이나 파일을 에이전트가 읽을 수 있는 컨텍스트로 변환합니다. 게시글 텍스트, 자막 또는 Whisper 음성 인식 결과, 중복 제거된 프레임을 하나의 번들 폴더로 제공합니다. 사용자가 동영상 링크(x.com, YouTube, yt-dlp가 지원하는 모든 사이트)나 동영상 파일을 공유하며 내용을 요약하거나 설명하도록 요청할 때 사용하세요. 학습 내용을 학습 노트로 정리하는 것은 learn 스킬이 담당합니다.

video-context란 무엇인가요?

이 스킬은 비디오 URL 또는 로컬 비디오 파일을 받아 AI 에이전트가 이해할 수 있는 구조화된 컨텍스트 번들로 변환합니다. 비디오는 세 가지 채널(게시글 텍스트, 음성/자막, 비주얼 프레임)로 분해되며, 각 채널의 존재 여부에 따라 동적으로 처리됩니다. Claude Code, Cursor, Codex 등 다양한 플랫폼에서 사용 가능하며, yt-dlp, ffmpeg, Whisper 같은 오픈소스 도구를 활용합니다. 주요 기능으로는 자동 프레임 추출(기본 3초 간격, 최대 60프레임), 자막 또는 Whisper 음성 인식 전사, 중복 프레임 제거, 타임스탬프 기반 요약 생성이 포함됩니다. 사용자가 비디오를 공유할 때 '이 비디오가 무엇을 보여주는지', '요약해 줘', '설명해 줘' 등의 질문에 답변할 수 있으며, 학습 목적의 경우 learn 스킬과 연계하여 학습 노트를 작성합니다.

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

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

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

문서

비디오 컨텍스트

모델은 텍스트와 이미지를 읽으므로, 비디오는 세 가지 채널(해당 게시글, 말한 내용(자막, 없으면 음성 인식 결과), 보여진 내용(프레임))로 변환됩니다. 스크립트는 파일을 분석하고 발견된 내용에 따라 처리를 분기합니다. 무성 화면 녹화나 효과음만 있는 애니메이션은 전사 결과가 없으며, 프레임이 모든 정보를 담고 있습니다. 번들이 있다고 표시한 채널을 모두 읽은 후, 다음 사용자가 비디오를 열지 않고도 이해할 수 있는 요약을 작성하세요.

단계

1. 추출

sh ~/.claude/skills/video-context/references/extract.sh <url-또는-파일>

번들 경로(기본값 /tmp/video-context/<슬러그>/)를 출력합니다. 기본값: 3초마다 1프레임, 최대 60프레임(간격이 조정되어 맞춰짐), 다운로드는 1080p로 제한됩니다. 설정값은 스크립트 상단에 문서화되어 있습니다: INTERVAL, MAX_FRAMES, MAX_HEIGHT, FORCE_TRANSCRIBE, WHISPER_MODEL, SUB_LANGS. 종료 코드 2는 누락된 도구를 나타내므로 references/setup.md에서 설치한 후 다시 실행하세요.

번들의 README.md에 모든 채널이 있음, 없음, 비어 있음, 또는 건너뜀으로 나열되면 완료됩니다.

2. 채널 읽기

먼저 README.md를 읽으세요: 게시글 텍스트와 채널 테이블이 무엇을 열지 결정합니다.

  • 말한 내용. captions.txt 또는 transcript.txt를 전부 읽으세요. 자동 자막은 제품 이름을 잘못 표기하는 경우가 있으므로 게시글 텍스트와 프레임이 이를 교정합니다.
  • 보여진 내용. frames/를 타임스탬프 순서로 읽으세요. 20프레임을 넘으면 먼저 세 번째 프레임마다 읽고, 그런 다음 질문과 관련된 구간으로 돌아가세요. 두 채널이 모두 있을 때는 전사 결과의 주장을 프레임과 대조하세요: 데모에서 한 가지를 말하고 화면에서는 다른 것을 보여줄 수 있습니다.

표시된 모든 채널을 읽었고, 모든 프레임을 열었거나 건너뛰었다고 명시한 구간에 속하면 완료됩니다.

3. 요약

번들에 summary.md를 작성하세요:

  • 한 문단: 형식(데모, 인물 토크, 애니메이션, 화면 녹화)과 비디오가 전달하는 핵심 내용.
  • [m:ss] 순서의 타임라인 글머리 기호, 각 글머리 기호는 하나의 보여진 내용 또는 말한 내용, 전사 내용을 그대로 인용.
  • 한 줄: 채널이 전달하지 않은 내용(오디오 없음, 스폰서 구간, 빠른 편집에는 너무 굵은 프레임 등).

모든 타임라인 글머리 기호가 프레임 파일 또는 전사 줄에 매핑되는 타임스탬프를 가지고 있고, 빈 채널 줄이 README 테이블과 일치하면 완료됩니다.

4. 답변

질문의 크기에 맞게 답변하고, 사용자가 프레임을 열 수 있도록 번들 경로를 제공하세요. 학습 관련 질문은 summary.md를 가져온 문서 분기 소스로 사용하여 learn 스킬에서 계속 진행됩니다.

작업 습관

  • 더 세밀한 프레임이 필요한 구간은 따로 실행하세요: ffmpeg -ss <시작> -t <길이> -i clip.mp4 -c copy part.mp4로 자른 후, INTERVAL=1로 part.mp4를 추출하세요. 전체 비디오를 더 세밀한 간격으로 다시 실행하면 읽어야 할 프레임 수가 늘어납니다.
  • 전사 결과는 기본적으로 영어입니다. 다른 언어는 다국어 모델이 필요하며, references/setup.md에 설명되어 있습니다.
  • Twitter 자막은 절대 존재하지 않으므로, 음성이 있는 x.com 클립은 항상 Whisper를 실행합니다. 클립 길이의 약 1/5 정도의 시간을 할애하세요.

관련 스킬