파이썬 유튜브 받아쓰기 : Whisper와 yt-dlp로 영상 대사 텍스트 저장하기

파이썬 유튜브 받아쓰기 : Whisper와 yt-dlp로 영상 대사 텍스트 저장하기

유튜브 영상에는 좋은 정보가 많습니다. 그런데 영상은 눈과 귀를 붙잡아 둡니다. 다시 찾기도 어렵고, 필요한 문장을 복사하기도 어렵습니다. 이때 파이썬 유튜브 받아쓰기 코드를 만들어두면 영상 속 대사를 텍스트 데이터로 바꿀 수 있습니다. 이번 포스팅에서는 yt-dlp로 유튜브 오디오를 받고, Whisper로 음성을 텍스트로 변환한 후, transcript.txt 파일로 저장하는 방법을 정리해보겠습니다.

이 방식은 데이터 자동화, 뉴스 요약, 강의 정리, 에이전틱 AI(agentic AI)에 관심 있는 분들에게 유용합니다. 영상이라는 자료를 텍스트 데이터로 바꾸면, 그 다음부터는 요약, 분류, 검색 등을 통해 더 값지게 활용할 수 있을 것입니다.


글의 순서

파이썬 받아쓰기, 유튜브 대사 추출의 전체 흐름
yt-dlp와 ffmpeg, 유튜브 오디오 다운로드 준비
Whisper와 파이썬, 유튜브 영상 대사 텍스트 변환 코드
실행폴더와 출력파일, transcript.txt 저장 위치 이해하기
ffmpeg 오류와 yt-dlp 경고, 자주 만나는 문제 해결


파이썬 받아쓰기, 유튜브 대사 추출의 전체 흐름

파이썬 유튜브 받아쓰기는 크게 3단계로 이루어집니다. 먼저 유튜브 영상 주소를 입력합니다. 그 다음 yt-dlp가 영상에서 오디오를 추출합니다. 마지막으로 Whisper가 오디오 파일을 읽고 사람의 말을 텍스트로 바꿉니다.

머릿속에 그림을 그려보면 간단합니다.

유튜브 주소 → yt-dlp 오디오 다운로드 → ffmpeg mp3 변환 → Whisper 음성 인식 → transcript.txt 저장

영상은 사람이 보기 좋은 자료입니다. 반면 텍스트는 컴퓨터가 다루기 좋은 자료입니다. 영상 속 대사를 텍스트로 바꾸면 검색할 수 있고, 복사할 수 있고, 요약할 수 있고, 다시 가공할 수 있습니다. 그래서 받아쓰기는 단순한 자막 만들기가 아니라, 영상 자료를 데이터로 바꾸는 작업이라고 할 수 있습니다.



yt-dlp와 ffmpeg, 유튜브 오디오 다운로드 준비

유튜브 영상에서 오디오를 내려받기 위해서는 yt-dlp가 필요합니다. yt-dlp는 인터넷 영상 주소에서 영상 또는 오디오를 다운로드할 때 많이 쓰이는 파이썬 도구입니다. 여기서는 유튜브 영상 전체가 아니라 음성 인식에 필요한 오디오만 다운로드합니다.

또 하나 필요한 도구는 ffmpeg입니다. yt-dlp가 오디오를 받은 후 mp3로 변환하거나, Whisper가 오디오 파일을 읽을 때 ffmpeg가 사용됩니다. 따라서 yt-dlp와 Whisper를 설치했는데도 실행이 멈춘다면, ffmpeg가 설치되어 있는지 먼저 확인해야 합니다.

필요 라이브러리 설치

python -m pip install -U “yt-dlp[default]” openai-whisper

Windows에서 ffmpeg 설치

winget install Gyan.FFmpeg

설치가 끝났다면 PowerShell 또는 명령프롬프트를 새로 열고 아래 명령을 확인합니다.

세 명령 모두 버전 정보가 출력되면 준비가 끝난 것입니다. 만약 ffmpeg를 찾을 수 없다는 메시지가 나오면, 명령프롬프트를 닫았다가 다시 열어보시기 바랍니다. 그래도 안 된다면 컴퓨터를 재부팅하면 Windows PATH가 반영되는 경우가 많습니다.


Whisper와 파이썬, 유튜브 영상 대사 텍스트 변환 코드

아래 코드는 유튜브 영상의 오디오를 다운로드하고, Whisper 모델로 받아쓰기한 후, 같은 폴더에 transcript.txt 파일을 저장합니다. 핵심은 세 가지입니다.

(1) yt-dlp로 유튜브 오디오 다운로드
(2) Whisper로 audio.mp3 음성 인식
(3) transcript.txt 파일로 대사 저장

VIDEO_URL 부분에 원하는 유튜브 주소를 넣으면 됩니다. WHISPER_MODEL은 음성 인식 모델의 크기입니다. base는 속도와 정확도의 균형이 좋습니다. 더 높은 정확도가 필요하면 small, medium, large를 사용할 수 있지만 실행 시간이 길어질 수 있습니다.


실행폴더와 출력파일, transcript.txt 저장 위치 이해하기

파이썬 코드를 실행할 때 자주 헷갈리는 부분이 출력파일 저장 위치입니다. 명령프롬프트를 어느 폴더에서 열었는지에 따라 파일이 엉뚱한 곳에 저장될 때가 있습니다. 그래서 이 코드에서는 파이썬 파일이 들어 있는 폴더를 기준으로 audio.mp3와 transcript.txt를 저장하도록 했습니다.

예를 들어 dictation_v1.py 파일이 아래 폴더에 있다면, 출력 파일도 같은 폴더에 저장됩니다.

이 구조를 잡아두면 관리가 편해집니다. dictation_v1.py, audio.mp3, transcript.txt가 한 폴더에 모입니다. 나중에 여러 영상을 처리할 때도 outputs 폴더를 따로 만들거나, 영상 제목별로 파일명을 바꾸는 방식으로 확장하기 쉽습니다.


ffmpeg 오류와 yt-dlp 경고, 자주 만나는 문제 해결

처음 실행하면 오류를 만날 수 있습니다. 오류 메시지는 복잡해 보이지만, 대부분 원인은 단순합니다. 아래의 세 가지를 먼저 확인하면 됩니다.

(1) yt-dlp 파일 없음 오류와 Python 모듈 실행

아래와 같은 오류가 나오면 Windows가 yt-dlp 실행파일을 찾지 못하는 상태입니다.

이 경우에는 yt-dlp 명령어를 직접 부르지 말고, 현재 파이썬으로 yt_dlp 모듈을 실행하면 됩니다.

(2) ffmpeg not found 오류와 오디오 변환

아래 오류는 yt-dlp가 오디오 다운로드까지는 했지만, mp3 변환에 필요한 ffmpeg를 찾지 못했다는 뜻입니다.

이 경우 Windows에서는 아래 명령으로 ffmpeg를 설치합니다.

설치 후에는 PowerShell을 완전히 닫았다가 다시 열고, ffmpeg -version과 ffprobe -version을 확인합니다. 그래도 인식되지 않으면 컴퓨터를 재부팅해보시기 바랍니다.

(3) JavaScript runtime 경고와 유튜브 다운로드

yt-dlp 실행 중 아래와 같은 경고가 나올 수 있습니다.

이 경고가 항상 치명적인 오류는 아닙니다. 실제로 오디오 다운로드가 정상적으로 진행되는 경우도 많습니다. 먼저 다운로드가 되는지 확인하고, 실제 실패가 발생할 때 추가 설정을 검토해도 됩니다. 초보 단계에서는 ffmpeg 오류인지, yt-dlp 실행 오류인지, Whisper 음성 인식 오류인지를 구분하는 것이 더 중요합니다.


마치며 …

이번 포스팅에서는 파이썬 유튜브 받아쓰기 방법을 정리해보았습니다. 전체 흐름은 간단합니다. 유튜브 주소를 넣고, yt-dlp로 오디오를 다운로드하고, ffmpeg로 오디오를 변환하고, Whisper로 대사를 텍스트로 바꾼 뒤, transcript.txt 파일로 저장합니다.

이 과정은 단순한 코딩 실습이 아닙니다. 영상 자료를 텍스트 데이터로 바꾸는 시작점입니다. 텍스트로 바뀐 자료는 요약할 수 있고, 검색할 수 있고, 분류할 수 있습니다. 유튜브 영상 하나를 transcript.txt로 바꾸는 지식 정리 시스템의 출발점이 될 수 있습니다.

 

 

함께 참고하면 좋은 글 :
파이썬 프로그래밍 시작 (14) 패키지, 모듈
파이썬 판다스로 텍스트 파일 읽기 : read_table()
파이썬 판다스 데이터 분석 : pivot, 엑셀 입력, 출력
슬랙 알림봇 (slack bot) 만들기
슬랙봇 웹훅 URL, 메시지 보내기 파이썬 코드
디스코드 알림 봇 : 비트코인 실시간 가격 메신저


참고자료

yt-dlp, yt-dlp GitHub Repository
OpenAI Whisper, Whisper GitHub Repository
FFmpeg, FFmpeg Official Website

댓글 남기기