유튜브 영상에서 소스를 모으고 싶었어요. 근데 계속 노트북lm으로 링크 복사 붙여넣기 해서 모으기에는 손목이 아프더라고요. 그러다가 yt-dlp라는 도구를 알게 됐는데, 정말 5분 만에 채널 전체 자막을 자동으로 수집할 수 있더라고요.
연구나 콘텐츠 분석을 위해 유튜브 자막이 필요한데 하나씩 다운받기 번거로우셨죠? yt-dlp를 사용하면 명령어 한 줄로 해결됩니다.
yt-dlp가 뭔가요?
yt-dlp는 유튜브를 비롯한 다양한 동영상 플랫폼에서 영상과 자막을 다운로드할 수 있는 명령줄 도구예요. youtube-dl의 개선된 버전이라고 보시면 됩니다.
영상은 다운받지 않고 자막만 따로 추출할 수 있어서 용량 걱정도 없고요. 한국어, 영어 등 원하는 언어의 자막만 선택해서 받을 수도 있어요.
가장 큰 장점은 개별 영상뿐만 아니라 플레이리스트나 채널 전체의 자막을 한 번에 수집할 수 있다는 거죠.
yt-dlp 설치하기
Python이 설치되어 있다면 정말 간단해요.
터미널이나 명령 프롬프트를 열고 아래 명령어를 입력하세요:
pip install yt-dlp
설치가 완료되면 바로 사용할 수 있어요. Python이 없다면 Python 공식 웹사이트에서 먼저 설치해주세요.
유튜브 자막 수집하는 핵심 명령어
yt-dlp로 유튜브 자막을 수집하는 기본 명령어는 이렇게 생겼어요:
yt-dlp --write-auto-sub --sub-lang ko --skip-download --output "%(title)s" 유튜브URL
각 옵션이 무슨 의미인지 설명드릴게요:
--write-auto-sub: 자동 생성 자막 다운로드--sub-lang ko: 한국어 자막만 다운로드 (en으로 바꾸면 영어)--skip-download: 영상은 다운받지 않고 자막만--output "%(title)s": 파일명을 영상 제목으로 설정
개별 영상 자막 받기
특정 영상 하나의 자막만 필요하다면:
yt-dlp --write-auto-sub --sub-lang ko --skip-download "https://youtu.be/영상ID"
채널 전체 자막 한번에 받기
이게 진짜 핵심이에요. 채널 URL을 넣으면 해당 채널의 모든 영상 자막을 자동으로 수집해줍니다:
yt-dlp --write-auto-sub --sub-lang ko --skip-download --output "%(title)s" "https://www.youtube.com/@채널명"
실제 사용해보니 생긴 문제들과 해결법
URL에 대괄호 있으면 오류 발생
처음에 URL을 복사해서 붙여넣었는데 오류가 계속 났어요. 알고보니 URL에 대괄호 []가 있으면 안 되더라고요. 대괄호를 제거하니까 바로 작동했습니다.
JS runtime, ffmpeg 경고 메시지
실행하면 이런 경고가 뜰 수 있어요:
WARNING: js runtime not found
WARNING: ffmpeg not found
하지만 걱정하지 마세요. 자막 추출은 정상적으로 동작합니다. 이 경고들은 영상 다운로드할 때 필요한 것들이에요.
자막 파일 형식
다운받은 자막은 .vtt 파일로 저장돼요. 이 파일은 텍스트 에디터로 열어보면 시간 정보와 함께 자막 내용이 들어있습니다.
순수한 텍스트만 필요하다면 온라인 VTT to TXT 변환기를 사용하거나, 파이썬으로 간단하게 처리할 수 있어요.
자막 파일 후처리하기
받은 VTT 파일을 바로 분석에 사용하기는 어려워요. 시간 정보나 중복된 텍스트가 많거든요.
VTT 파일 구조 이해하기
VTT 파일을 열어보면 이런 식으로 되어있어요:
WEBVTT
Kind: captions
Language: ko
00:00:01.000 --> 00:00:03.000
안녕하세요 여러분
00:00:03.000 --> 00:00:05.000
오늘은 이런 내용을 다뤄보겠습니다
순수 텍스트 추출하기
시간 정보를 제거하고 텍스트만 추출하려면 온라인 변환 도구를 사용하거나, 텍스트 에디터의 찾기/바꾸기 기능으로 정규표현식을 사용해 처리할 수 있어요.
활용 아이디어
콘텐츠 연구용
특정 주제의 유튜버들 자막을 모아서 키워드 분석을 해볼 수 있어요. 어떤 단어를 자주 쓰는지, 트렌드가 어떻게 변하는지 파악하기 좋죠.
언어 학습용
좋아하는 영어 채널의 자막을 모아두면 표현 공부에 도움이 돼요. 같은 의미를 다양하게 표현하는 방법들을 찾을 수 있거든요.
AI 훈련 데이터
특정 분야의 전문 용어나 말투를 학습시킬 때 활용할 수 있어요. 물론 저작권은 고려해야겠지만요.
자주 묻는 질문
Q. 자막이 없는 영상은 어떻게 되나요?
A. 자동 생성 자막도 없는 영상은 건너뛰고 다음 영상으로 넘어가요. 에러가 나지는 않으니 안심하세요.
Q. 채널에 영상이 많으면 시간이 오래 걸리나요?
A. 영상 개수에 따라 달라지긴 하지만, 자막만 받는 거라 영상 다운로드보다는 훨씬 빨라요. 100개 영상 기준으로 5-10분 정도 걸렸어요.
Q. 다른 언어 자막도 같이 받을 수 있나요?
A. --sub-lang ko,en 이렇게 콤마로 구분해서 여러 언어를 지정할 수 있어요.
생각보다 간단하죠? 처음엔 명령어가 복잡해 보였는데 한 번 써보니까 정말 편하더라고요. 이제 유튜브 자막 때문에 손목 아플 일은 없을 것 같아요. 다음에는 이렇게 모은 자막들을 NotebookLM에 넣어서 분석해보려고 합니다.
썸네일 사진: Dav Hovhannisyan on Unsplash