한줄 요약
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.
## 한글 자막
이것은 나무입니다.
나무는 지구상에서 가장 오래 사는 생명체 중 하나입니다.
배운 점과 나만의 꿀팁
효과적이었던 것
구체적인 URL로 테스트: 추상적으로 설명하지 않고, 실제 YouTube URL을 주니까 바로 실행 가능한 코드가 나왔어요.
불편한 점을 솔직하게 피드백: "가독성이 별로야" 같은 자연스러운 표현으로 말해도 알아듣더라고요.
단계별 개선: 한 번에 완벽하게 만들려고 하지 않고, 일단 돌아가게 만든 다음 불편한 점을 하나씩 고쳤어요.
이렇게 하면 안 돼요 (주의사항)
처음부터 모든 기능을 요구: 너무 많은 걸 한 번에 요청하면 오히려 복잡해져요. 기본 기능부터 만들고 개선하세요.
기술 용어로 설명: "정규표현식으로 문장 끝 감지해줘" 대신 "문장마다 띄어쓰기로 해줘"가 더 통했어요.
과정 중 시행착오
시행착오 1: 처음엔 모든 자막이 한 줄에 붙어서 나왔어요. 읽기가 너무 불편했습니다.
배운 점: "가독성이 안 좋다"고 피드백하니 문장 끝 감지 기능을 추가해줬어요.
시행착오 2: 영어 자막이 없는 한국 영상에서 에러가 났어요.
배운 점: Claude가 에러를 보고 한글 전용 스크립트를 별도로 만들어줬어요. 에러 메시지도 학습 자료가 됩니다.