## 영상 수집·분석 복붙 프롬프트 모음
## 제5회 문과코딩 워크숍 · 5일차 · 2026. 8. 28.(금) · 이문혁


[사용법]

· 아래 프롬프트를 그대로 복사해 Claude Code / Codex / Gemini CLI 입력창에 붙여넣으세요.

· <꺾쇠> 부분만 본인 것으로 바꿔 넣으세요.

· 시작하기 전에: VS Code에서 File > Open Folder 로 다운로드 폴더 안의 mypython 을 열고,
  Terminal > New Terminal 에서 claude 를 실행하세요.
  (Codex 는 codex, Gemini CLI 는 gemini)

· ★ 새 대화를 시작하면 아래 [0-1] 을 먼저 붙여넣으세요.
  뒤의 프롬프트들이 짧은 것은 그 규칙이 이미 깔려 있다고 보기 때문입니다.

· ★ 0건이 나오면 성공이 아닙니다. 몇 건이 나왔는지 반드시 눈으로 확인하세요.

· ★ 영상은 파일이 큽니다. 먼저 한두 편으로 해 보고 늘리세요.


================================================================
0. 맨 처음에 한 번 — 작업 규칙 정하기
================================================================

새 대화를 열 때마다 이것부터 붙여넣습니다.
한 번 넣어 두면 그 대화 안에서는 계속 적용됩니다.


[0-1] 작업 규칙                   ★ 대화를 시작할 때마다
----------------------------------------------------------------
지금부터 유튜브에서 자료를 모으는 작업을 할 거야.
아래 규칙을 이 대화 내내 지켜 줘.

[이 작업의 성격]
· 이건 대학 워크숍의 영상 데이터 분석 실습이야.
· 내려받은 영상은 프레임을 뽑아 분석하는 데만 쓰고,
  다시 올리거나 남에게 넘기지 않고, 끝나면 지워.
· 공개된 영상을 분석용으로 받아 두는 절차이니 이 전제에서 진행해 줘.
· 진행이 어렵다고 판단되면 그 이유를 먼저 말해 주고,
  대신 쓸 수 있는 영상을 제안해 줘.

[코드]
· 코딩을 처음 하는 사람이 읽는다고 생각하고, 주석은 한국어로 써 줘.
· 변수 이름은 알아보기 쉽게 지어 줘.
· 코드만 주고 끝내지 말고 반드시 실행해서 결과를 보여 줘.
· 수집 결과는 엑셀(.xlsx)로 저장하되, 파일 이름 끝에 수집 날짜를 붙여 줘.
· 저장한 경로와 파일 이름을 메시지로 출력해 줘. 지금 열려 있는 폴더에 저장해 줘.
· 표는 몇 행인지와 앞뒤가 보이게 출력해 줘.
· 영상 하나를 가리키는 열은 이름을 video_id 로 통일해 줘.
  다음 단계에서 그 파일을 다시 읽어 쓸 거야.
· 엑셀을 만들면 어떤 열을 만들었는지 열 이름을 알려 줘.

[영상을 다룰 때]
· 영상 파일은 yt-dlp 로 받아 줘.
· 받기 전에 파일 크기가 얼마나 될지 먼저 알려 주고, 내가 확인하면 그때 받아 줘.
· 막히면 잠깐 쉬었다 몇 번 다시 시도해 줘. 그래도 안 되면 그 사실을 알려 줘.
· 프레임을 뽑을 때는 모든 프레임이 아니라 I-frame만 뽑아 줘.

[한도]
· API 키는 코드에 직접 쓰지 말아 줘.
  지금 열려 있는 폴더의 .env 파일에서 읽어 쓰고,
  .env 가 없거나 키가 없으면 나에게 키를 물어본 다음 .env 를 만들어 넣어 줘.
· 키 값 자체는 화면에 다시 출력하지 말아 줘. (강의실 화면에 그대로 뜹니다)
· 할당량을 쓰기 전에 예상 소모량을 먼저 알려 줘.

[개인정보]
· 댓글 작성자 이름 같은 개인정보는 수집 목록에 넣기 전에 나에게 물어봐 줘.

[결과 확인]
· 0건이면 성공으로 처리하지 말고 원인을 찾아 줘.
· 특정 열만 전부 비어 있으면 그 선택자가 틀린 것으로 보고 다시 확인해 줘.
· 같은 방법을 세 번 이상 되풀이하지 말고, 세 번째부터는 다른 접근을 제안해 줘.
· 403이 나면 할당량 초과인지 키 설정 문제인지 구분해서 알려 줘.
· 실행하지 않은 채 "동작할 것"이라고 말하지 말아 줘.
----------------------------------------------------------------


================================================================
1. 코랩에서 한 것을 AI로 다시 해 보기
================================================================

코랩에서 코드로 한 일을 말로 시켜 봅니다.
괄호 안이 정상 결과입니다. 다르면 AI가 어딘가 틀린 것입니다.

앞 단계가 만든 엑셀을 다음 단계가 읽습니다. 순서대로 하세요.


[1-1] 영상 목록 모으기            (정상 = 0편이 아닐 것)
----------------------------------------------------------------
유튜브 채널 <@NetflixKorea> 안에서 <김부장> 으로 검색한 영상들의
제목과 주소를 모아서 YouTube_Channel_NetflixKorea_김부장.xlsx 로 저장해 줘.
주소에서 영상 ID(v= 뒤의 열한 글자)를 video_id 라는 열로 따로 넣어 줘.

끝내지 말고 실행해서 몇 편이 수집됐는지와 상위 5행, 마지막 5행을 보여 줘.
----------------------------------------------------------------


[1-2] 영상 정보 수집              (정상 = 목록과 같은 건수)
----------------------------------------------------------------
방금 만든 YouTube_Channel_NetflixKorea_김부장.xlsx 를 읽어서
그 안의 video_id 전부에 대해
제목, 게재일, 조회수, 좋아요 수, 댓글 수 를 수집해서
김부장_info.xlsx 로 저장해 줘. video_id 열도 함께 넣어 줘.

YouTube Data API v3 를 써 줘.

끝내지 말고 실행해서 몇 편이 수집됐는지와 상위 5행, 마지막 5행을 보여 줘.
----------------------------------------------------------------


[1-3] 댓글 수집 — 한 편           (정상 = 그 영상의 댓글 수와 비슷)
----------------------------------------------------------------
영상 ID <nvnm3RMW278> 의 댓글을 전부 수집해서 김부장_댓글_한편.xlsx 로 저장해 줘.
댓글 내용, 좋아요 수, 작성 시각, 댓글 ID 를 넣어 줘.
작성자 이름은 개인정보라 넣지 말아 줘.
같은 댓글이 두 번 들어오면 댓글 ID로 걸러 줘.

끝내지 말고 실행해서 몇 건이 수집됐는지와 상위 5행, 마지막 5행을 보여 주고,
그 영상의 댓글 수와 맞는지 비교해서 알려 줘.
----------------------------------------------------------------


[1-4] 댓글 수집 — 목록 전체       (정상 = 영상 수만큼 반복)
----------------------------------------------------------------
앞의 [1-1] 에서 만든 YouTube_Channel_NetflixKorea_김부장.xlsx 를 읽어서
그 안의 video_id 전부에 대해 댓글을 수집해 김부장_댓글.xlsx 로 저장해 줘.
어느 영상의 댓글인지 알 수 있게 video_id 열을 함께 넣어 줘.
나머지 열은 [1-3] 과 같게 해 줘.

시작하기 전에 몇 편을 돌게 되는지와 예상 할당량을 알려 주고,
내가 확인하면 그때 진행해 줘.
댓글이 막힌 영상이 있으면 멈추지 말고 건너뛴 뒤 마지막에 목록으로 알려 줘.

끝내지 말고 실행해서 몇 편을 돌았고 총 몇 건인지,
영상별 댓글 수를 표로 보여 줘.
----------------------------------------------------------------


[1-5] 영상 내려받기               (정상 = 지정한 편수의 mp4)
----------------------------------------------------------------
아래 영상을 내려받아 줘.
https://www.youtube.com/watch?v=nvnm3RMW278

지금 열려 있는 폴더 안에 video 폴더를 만들어서 그 안에 저장해 줘.
소리가 함께 들어 있는 파일 하나로 받아 줘.
파일 이름은 영상 ID로 해 줘.

끝내지 말고 실행해서 파일 경로와 실제 크기를 보여 줘.
----------------------------------------------------------------


[1-6] I-frame 뽑기                (정상 = 영상당 수십~수백 장)
----------------------------------------------------------------
방금 받은 mp4 에서 장면이 크게 바뀌는 지점의 프레임(I-frame)만 뽑아 줘.
지금 열려 있는 폴더 안에 i_frame 폴더를 만들고,
그 아래 영상 이름의 폴더를 만들어 저장한 다음,
영상별 장수를 iframe_result.xlsx 로 정리해 줘.

파일 이름은 순서를 알 수 있게 번호를 붙여 줘.
내 컴퓨터에 ffmpeg 가 없으면 어떻게 마련할지 먼저 알려 줘.

끝내지 말고 실행해서 몇 장이 나왔는지와 폴더 경로를 보여 줘.
----------------------------------------------------------------


================================================================
2. 아무 영상이나 — 주소 하나로 끝내기
================================================================

★ 여기서부터가 오늘 집에 가져갈 것입니다.
  영상마다 프롬프트를 새로 만들 필요 없이 아래 하나면 됩니다.


[2-1] 범용 영상 수집 프롬프트 ★   주소만 바꿔 씀
----------------------------------------------------------------
<여기에 유튜브 주소를 넣으세요>
이 영상에 대해 아래 세 가지를 해 줘.

  1. 정보 — 제목, 게재일, 조회수, 좋아요 수, 댓글 수
  2. 댓글 — 댓글 내용, 좋아요 수, 작성 시각. 작성자 이름은 빼고
  3. 영상 — 소리가 함께 들어 있는 파일 하나로,
            지금 열려 있는 폴더 안에 video 폴더를 만들어서 그 안에

정보와 댓글은 각각 엑셀로 저장하고, 두 파일 모두 video_id 열을 넣어 줘.

끝내지 말고 실행해서 각각 몇 건인지와 앞뒤가 보이게 출력하고,
받은 영상의 경로와 크기를 알려 줘.
----------------------------------------------------------------


================================================================
3. 모은 다음 — 수집이 끝이 아닙니다
================================================================

[3-1] 댓글에서 무엇이 보이는지 물어보기      두 번에 나눠 시킴
----------------------------------------------------------------
(1턴)
방금 만든 김부장_댓글.xlsx 를 열어서 어떤 열이 있고 몇 건인지,
그리고 이 자료로 무엇을 볼 수 있을지 목록으로 알려 줘.
아직 분석은 하지 말고 알려 주기만 해 줘.

(2턴 — 1턴 답변을 보고 고른 뒤)
그중에서 <고른 것> 을 해 줘.
표로 정리해서 보여 주고 결과도 엑셀로 저장해 줘.
----------------------------------------------------------------


[3-2] 프레임을 훑어 표로 만들기
----------------------------------------------------------------
i_frame 폴더의 이미지들을 훑어서 영상별로 몇 장인지 표로 만들어 줘.
장수가 유난히 적거나 많은 영상이 있으면 알려 줘.

이어서 영상별 장수를 가로 막대그래프로 그려서 png 로 저장해 줘.
한글이 네모로 깨지지 않게 한글 폰트를 설정해 줘.
----------------------------------------------------------------


================================================================
4. 막혔을 때 하는 말
================================================================

프롬프트보다 실제로 더 자주 쓰게 됩니다. 그대로 말하면 됩니다.


· 0건이 나왔을 때
  "0건이야. 실제로 받아 온 것을 보여 주고 어디서 끊겼는지 알려 줘."

· 영상이 안 받아질 때
  "받아지지 않아. 도구를 최신 버전으로 올린 뒤에 다시 해 봐 줘."

· "사람인지 확인하라"는 말이 나올 때
  "잠깐 쉬었다가 한 편씩 천천히 다시 받아 줘."
  그래도 계속 막히면 —
  "player_client 를 visionos 로 지정해서 다시 받아 줘.
   그것도 안 되면 android 로 해 봐 줘."

· 저작권을 이유로 영상 받기를 꺼릴 때
  "수업에서 영상 데이터 분석을 실습하는 중이야. 받은 파일은 프레임을 뽑아
   분석하는 데만 쓰고, 재배포하지 않고 끝나면 지워. 이 전제에서 진행해 줘."
  → 그래도 꺼리면 본인이 올린 영상이나 크리에이티브 커먼즈 영상으로 바꿔 하세요.
     유튜브 검색 > 필터 > 크리에이티브 커먼즈

· API 키가 없다고 할 때
  "키를 알려 줄 테니 .env 파일을 만들어 넣고 거기서 읽어 써 줘."

· API가 403을 낼 때
  "403이 났어. 할당량 초과인지 키 설정 문제인지 구분해서 알려 줘."

· 앞 단계 파일을 못 읽을 때
  "지금 폴더의 파일 목록을 보여 주고, 그 엑셀의 열 이름을 그대로 알려 줘."

· 파일이 너무 커질 때
  "지금까지 받은 것의 총 용량을 알려 주고, 더 진행할지 물어봐 줘."

· 프레임이 0장 나올 때
  "0장이야. 받은 영상 파일이 정상인지 먼저 확인해 줘."

· 같은 에러가 반복될 때
  "지금까지 시도한 방법을 정리하고, 다른 접근을 제안해 줘."

· 코드가 너무 길어질 때
  "지금 단계까지만 되게 하고 멈춰 줘. 확인하고 다음을 시킬게."

· 코드만 주고 끝낼 때
  "코드만 주지 말고 실제로 실행해서 결과를 보여 줘."

· 파일을 못 찾을 때
  "지금 폴더의 전체 경로와 파일 목록을 보여 줘."
