[Claude Code] YouTube 자막 추출 자동화 - 30분 작업을 5초로

한줄 요약

YouTube 영상 자막을 명령어 한 줄로 깔끔한 마크다운 파일로 자동 정리. 영어/한글 자막 모두 지원하며 문장 단위로 구분되어 학습 자료로 활용하기 편리합니다.

이런 분들께 도움돼요

  • YouTube 영상으로 영어 공부하시는 분

  • 영상 콘텐츠를 텍스트로 정리해서 보관하고 싶으신 분

  • 자막을 복사-붙여넣기로 정리하느라 시간 낭비하시는 분


소개: 시도하고자 했던 것과 그 이유

문제 상황 (Before)

영어 공부할 때 YouTube 영상의 자막을 텍스트로 정리하고 싶었는데, 수동으로 복사-붙여넣기 하기엔 너무 번거로웠습니다.

기존 방식의 문제점:

  • YouTube 영상 재생하면서 자막 일시정지 → 복사 → 붙여넣기 반복

  • 타임스탬프(0:00:15, 0:00:23 등)가 섞여 있어서 일일이 삭제해야 함

  • 자막이 한 줄로 쭉 붙어있어서 읽기 불편함

  • 긴 영상은 30분 이상 소요

시작하게 된 계기

영어 공부 할 때 쿠르츠게작트 영상을 보고 듣기, 쉐도잉을 하는데, 매번 수작업으로 자막을 정리하기엔 너무 시간이 오래 걸렸습니다. "이거 자동화할 방법 없을까?" 싶어서 Claude에게 물어봤습니다.


진행 방법: 어떤 도구를 사용했고, 어떻게 활용했나요?

사용한 도구

  • 도구명: Claude Code

  • 모델: Claude Sonnet 4.5

  • 라이브러리: youtube-transcript-api (Python)

AI와 협업한 과정

1. 첫 자막 추출 시도

상황: 구체적인 영상으로 테스트하고 싶었습니다.

이렇게 요청했어요:

https://youtu.be/pHJIhxZEoxg?si=plJ1dnt6pgfYYJ3L 이거 되는지 알아 보고 싶어

결과: Claude가 자동으로 라이브러리를 설치하고, 테스트 스크립트를 만들어서 실행했습니다. 156개의 영어 자막 항목을 성공적으로 추출했어요.

느낀 점: URL만 던져줘도 알아서 진행해주니 정말 편했습니다.


2. 요구사항 구체화

상황: 기본 추출은 됐지만, 제가 원하는 형태가 아니었습니다.

이렇게 요청했어요:

영어 우선이지만 영어와 한글이 같이 있으면 좋겠고 타임스탬프는 없애줘 md파일로 저장

결과:

  • 영어 자막 우선 추출

  • 한글 번역 자동 추가

  • 타임스탬프 완전 제거

  • 마크다운 형식으로 저장

  • youtube_transcript_[영상ID].md 파일 자동 생성

느낀 점: 필요한 기능을 자연어로 말하니까 바로 반영됐습니다.


3. 가독성 개선

상황: 자막이 추출은 됐는데, 한 줄로 쭉 붙어있어서 읽기 불편했습니다.

이렇게 요청했어요:

영어 자막이 너무 붙어 있어서 가독성이 별로야 문장마다 띄어쓰기로 해줘

결과: Claude가 문장 끝을 자동으로 감지하는 로직을 추가했습니다.

  • 영어: . ! ? 감지

  • 한글: 니다 습니다 감지

  • 문장마다 줄바꿈으로 가독성 대폭 개선

느낀 점: "가독성이 별로야" 같은 피드백만 줘도 알아서 개선해주니 신기했습니다.


인상적이었던 순간

"오!" 했던 순간:

처음엔 영어 자막만 추출했는데, Claude가 직접 영어 자막을 읽고 한글로 번역해줘서 해결했습니다. 또 자막이 한 줄로 쭉 붙어있어서 읽기 불편했는데, 문장 끝을 자동으로 감지해서 줄바꿈하도록 개선한 점이 인상적이었어요.

막혔던 순간과 해결

문제: 라이브 아카데미라는 회화 연습 채널엔 영어 자막이 없고 한글 자막만 있는 경우가 있었어요.

해결: Claude가 상황을 파악하고 한글 전용 추출 스크립트(extract_korean_transcript.py)를 별도로 만들어줬습니다. 이제 영어/한글 어떤 자막이든 추출할 수 있어요.

💡 Tip: 프롬프트는 길게 쓸 필요 없어요. "이게 불편해"라고만 말해도 Claude가 알아서 개선해줍니다.


결과와 배운 점

Before vs After

항목

Before

After

소요 시간

30분 (수작업)

5초 (자동화)

타임스탬프 제거

수동 삭제

자동 제거

가독성

한 줄로 붙어있음

문장 단위 구분

한글 번역

직접 번역

자동 번역

결과물

생성된 파일:

  • youtube_transcript_extractor.py - 영어 우선 추출 스크립트

  • extract_korean_transcript.py - 한글 자막 전용 스크립트

  • youtube_transcript_[영상ID].md - 추출된 자막 파일

사용법:

python youtube_transcript_extractor.py [YouTube URL 또는 영상ID]

출력 형식:

# YouTube Transcript

**Video ID**: pHJIhxZEoxg
**URL**: https://youtu.be/pHJIhxZEoxg

---

## English Transcript

This is a tree.

Trees are one of the longest living organisms on earth.

## 한글 자막

이것은 나무입니다.

나무는 지구상에서 가장 오래 사는 생명체 중 하나입니다.

배운 점과 나만의 꿀팁

효과적이었던 것

  1. 구체적인 URL로 테스트: 추상적으로 설명하지 않고, 실제 YouTube URL을 주니까 바로 실행 가능한 코드가 나왔어요.

  2. 불편한 점을 솔직하게 피드백: "가독성이 별로야" 같은 자연스러운 표현으로 말해도 알아듣더라고요.

  3. 단계별 개선: 한 번에 완벽하게 만들려고 하지 않고, 일단 돌아가게 만든 다음 불편한 점을 하나씩 고쳤어요.

이렇게 하면 안 돼요 (주의사항)

  1. 처음부터 모든 기능을 요구: 너무 많은 걸 한 번에 요청하면 오히려 복잡해져요. 기본 기능부터 만들고 개선하세요.

  2. 기술 용어로 설명: "정규표현식으로 문장 끝 감지해줘" 대신 "문장마다 띄어쓰기로 해줘"가 더 통했어요.


과정 중 시행착오

시행착오 1: 처음엔 모든 자막이 한 줄에 붙어서 나왔어요. 읽기가 너무 불편했습니다.

  • 배운 점: "가독성이 안 좋다"고 피드백하니 문장 끝 감지 기능을 추가해줬어요.

시행착오 2: 영어 자막이 없는 한국 영상에서 에러가 났어요.

  • 배운 점: Claude가 에러를 보고 한글 전용 스크립트를 별도로 만들어줬어요. 에러 메시지도 학습 자료가 됩니다.


앞으로의 계획

다음 단계

  • 플레이리스트 전체를 한 번에 처리하는 기능 추가

  • 추출한 자막을 Notion이나 Obsidian에 자동으로 저장하는 연동 기능

다른 업무에 적용한다면?

  • 회의록 영상의 자막을 추출해서 회의록 자동 생성

  • 강의 영상 자막을 추출해서 복습 노트 만들기

  • 여러 영상의 자막을 모아서 키워드 검색 가능한 데이터베이스 구축

도움이 필요한 부분

  • 플레이리스트 자동 처리 기능을 어떻게 구현하면 좋을지 궁금해요.


재사용 가능한 프롬프트

프롬프트 1: 요구사항 반영하기

영어 우선이지만 영어와 한글이 같이 있으면 좋겠고
타임스탬프는 없애줘
md파일로 저장

프롬프트 2: 가독성 개선 요청

영어 자막이 너무 붙어 있어서 가독성이 별로야
문장마다 띄어쓰기로 해줘

프롬프트 3: 새로운 영상 추출

https://youtu.be/[영상ID] 자막 추출해줘


1
2개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요