Ch.1 Python 라이브러리 15선

yt-dlp — 유튜브 영상 다운로드

article

핵심 내용

yt-dlp는 유튜브 영상을 코드 한 줄로 다운로드합니다

한 줄 요약: 유튜브(+1000개 사이트)에서 영상·음원·자막을 다운로드하는 라이브러리. 실생활 비유: '유튜브 녹화 버튼'이라고 생각하세요. URL만 넣으면 영상이 내 컴퓨터에 저장됩니다. 화질 선택, 음원만 추출, 자막 다운로드까지 코드 한 줄이면 끝이에요.

오프라인 학습, 백업, 자동화에 딱

수동 (브라우저): 영상 열기 → 다운로드 사이트 검색 → URL 복사 → 광고 닫기 → 다운로드 클릭. 영상 10개면 30분.

코드 (yt-dlp): URL 리스트 준비 → for문 → 10개 자동 다운로드. 코드 실행 한 번이면 끝.

설치 한 줄, 다운로드도 세 줄

pip install yt-dlp
import yt_dlp

url = 'https://www.youtube.com/watch?v=영상ID'

ydl_opts = {
    'outtmpl': '%(title)s.%(ext)s',  # 제목으로 파일명 저장
}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download([url])

print('다운로드 완료!')

실행 결과: 현재 폴더에 영상 제목으로 된 파일이 저장됩니다. 기본적으로 가장 좋은 화질+음질 조합을 자동으로 선택해줍니다. mp3 변환이 필요하면 ffmpeg도 함께 설치하세요: `pip install ffmpeg-python`

AI에게 세부 옵션까지 요청하세요

좋은 프롬프트 예시 "yt-dlp로 유튜브 플레이리스트 일괄 다운로드하는 코드 만들어줘. 720p로 제한, 파일명은 '번호_제목' 형식, 이미 받은 파일은 건너뛰기, 다운로드 폴더는 ./videos/로 지정해줘."

프롬프트 변형 • "영상에서 오디오만 추출해서 mp3로 저장해줘" • "자막(한국어)도 함께 다운로드해서 .srt 파일로 저장해줘" • "영상 메타데이터(제목, 길이, 조회수)만 가져와서 출력해줘"

import yt_dlp

url = 'https://www.youtube.com/playlist?list=PLxxxxxx'

ydl_opts = {
    'format': 'bestvideo[height<=720]+bestaudio/best[height<=720]',
    'outtmpl': './videos/%(playlist_index)s_%(title)s.%(ext)s',
    'download_archive': 'downloaded.txt',  # 중복 건너뛰기
    'ignoreerrors': True,                   # 에러 영상 건너뛰기
}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download([url])

print('플레이리스트 다운로드 완료!')

강의 영상 백업 + 자막 추출 파이프라인

import yt_dlp

# 1) 영상 다운로드 (720p)
video_opts = {
    'format': 'bestvideo[height<=720]+bestaudio/best[height<=720]',
    'outtmpl': './backup/%(title)s.%(ext)s',
    'merge_output_format': 'mp4',
}

url = 'https://www.youtube.com/watch?v=영상ID'

with yt_dlp.YoutubeDL(video_opts) as ydl:
    ydl.download([url])
    print('영상 다운로드 완료!')

# 2) 음원만 추출 (mp3)
audio_opts = {
    'format': 'bestaudio/best',
    'outtmpl': './backup/%(title)s.%(ext)s',
    'postprocessors': [{
        'key': 'FFmpegExtractAudio',
        'preferredcodec': 'mp3',
        'preferredquality': '192',
    }],
}

with yt_dlp.YoutubeDL(audio_opts) as ydl:
    ydl.download([url])
    print('음원 추출 완료!')

실행 결과: ./backup/ 폴더에 영상(.mp4)과 음원(.mp3) 두 파일이 저장됩니다. Whisper와 연결하면 음원에서 자막을 자동 생성할 수도 있어요. yt-dlp 다운로드 → Whisper 음성 인식 → 텍스트 요약까지 자동화하는 것이 실전 파이프라인입니다.

1. URL 준비: 다운로드할 영상 또는 플레이리스트 URL

2. 옵션 설정: 화질, 파일명 형식, 저장 경로 등 지정

3. 다운로드 실행: YoutubeDL.download()로 자동 다운로드

4. 후처리 연계: mp3 변환, 자막 생성, 텍스트 요약 등

key

핵심 용어

🎬 영상 다운로드

원하는 화질(720p, 1080p)로 영상 파일 저장

🎵 음원 추출

영상에서 오디오만 뽑아서 mp3로 변환

📝 자막 다운로드

자동 생성 자막·수동 자막을 텍스트 파일로 저장

📚 강의 백업

온라인 강의를 로컬에 저장해서 오프라인에서도 수강

🎵 음원 수집

유튜브 음악에서 오디오만 추출하여 mp3 파일로 보관

🤖 AI 파이프라인

영상 다운로드 → Whisper로 자막 생성 → 요약까지 자동화

check_circle

핵심 정리

  • 1yt-dlp는 유튜브 영상·음원·자막을 코드로 다운로드하는 라이브러리
  • 2YoutubeDL(옵션).download([url]) 한 줄이면 다운로드 시작
  • 3format으로 화질 제한, postprocessors로 mp3 변환, download_archive로 중복 방지
  • 4Whisper 등 AI 도구와 연계하면 영상 → 자막 → 요약까지 자동화 가능

퀴즈와 인터랙션으로 더 깊이 학습하세요

play_circle인터랙티브 레슨 시작