본문 바로가기
Python

Python으로 유튜브 및 다양한 사이트의 영상·오디오를 다운로드하고 변환

by ERLite 2026. 5. 8.

yt_dlp는 파이썬에서 유튜브 및 다양한 사이트의 영상·오디오를 다운로드하고 변환할 수 있는 강력한 라이브러리입니다. 단순 다운로드뿐 아니라 포맷 선택, 오디오 추출, 자막 저장, 플레이리스트 전체 다운로드 등 다양한 기능을 제공합니다.

📌 주요 기능 (Python import yt_dlp)

  • 영상 다운로드 원하는 URL을 입력하면 최고 화질·음질로 자동 다운로드 가능.
  • 포맷 선택 -F 옵션으로 지원되는 화질·코덱 목록 확인 후 특정 포맷 지정 다운로드.
  • 오디오 추출 --extract-audio 옵션으로 영상에서 오디오만 추출, --audio-format mp3로 변환 가능.
  • 플레이리스트 다운로드 전체 재생목록을 자동으로 다운로드하며, 오류 영상은 건너뛰도록 설정 가능.
  • 자막 다운로드 writesubtitles=True, subtitleslangs=["ko","en"] 옵션으로 자막 파일 저장.
  • 출력 파일 구조 지정 outtmpl 옵션으로 저장 경로와 파일명 패턴을 자유롭게 설정.
  • 속도 및 안정성 옵션 병렬 다운로드(concurrent_fragment_downloads), 재시도 횟수(retries) 설정 가능.

🖥️ Python 코드 예시

python
from yt_dlp import YoutubeDL

url = "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
ydl_opts = {
    "format": "bestvideo+bestaudio/best",
    "merge_output_format": "mp4",
    "outtmpl": "downloads/%(title)s.%(ext)s",
    "writesubtitles": True,
    "subtitleslangs": ["ko", "en"]
}

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

⚠️ 주의할 점

  • 저작권 문제: 다운로드한 영상·오디오를 무단 배포하거나 상업적으로 이용하면 법적 문제가 발생할 수 있습니다.
  • 유튜브 약관: 유튜브는 공식적으로 영상 다운로드를 허용하지 않으므로, 개인 학습·백업 합법적이고 비상업적인 용도로만 사용하는 것이 바람직합니다.