파이썬으로 유튜브 영상 다운로드하기 – yt-dlp 완벽 가이드 🚀
유튜브 영상을 다운로드하고 싶을 때, 가장 강력한 오픈 소스 도구 중 하나가 바로 yt-dlp
야! yt-dlp는 youtube-dl의 포크로, 더 빠르고 강력한 기능을 제공해. 특히 파이썬과 함께 사용하면 유튜브 영상을 자동으로 다운로드하는 스크립트를 만들 수도 있어.
핵심코드
오늘은 파이썬에서 yt-dlp를 활용하는 방법을 쉽게 알려줄게. 천천히 따라 하면 금방 익힐 수 있을 거야! 😊
1. yt-dlp 설치하기
먼저 yt-dlp를 설치해야 해. pip
명령어를 사용하면 간단하게 설치할 수 있어.
pip install yt-dlp
혹시 최신 버전을 쓰고 싶다면 GitHub에서 직접 설치하는 방법도 있어.
pip install -U git+https://github.com/yt-dlp/yt-dlp.git
2. 파이썬에서 yt-dlp 사용하기
보통 yt-dlp는 커맨드 라인에서 많이 사용하지만, 파이썬 코드에서 직접 사용할 수도 있어!
(1) yt-dlp 기본 사용 방법
import yt_dlp
url = "https://www.youtube.com/watch?v=VIDEO_ID"
ydl_opts = {}
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
이 코드만 실행하면 유튜브에서 영상을 다운로드할 수 있어! 간단하지? 😆
3. 다운로드 옵션 설정하기
(1) 영상 퀄리티 선택하기
ydl_opts = {
'format': 'bestvideo+bestaudio/best', # 가장 높은 화질 선택
}
(2) 다운로드 출력 파일 이름 설정하기
ydl_opts = {
'outtmpl': '%(title)s.%(ext)s' # 파일 이름을 제목으로 저장
}
(3) mp3로 오디오만 다운로드하기
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
}
4. 다운로드 진행 상황 확인하기
다운로드 진행 상태가 궁금할 때는, 얼마나 다운 되었는지 진행 상태를 볼 수 있도록 hook 함수를 추가할 수도 있음.
def progress_hook(d):
if d['status'] == 'downloading':
print(f"다운로드 중... {d['_percent_str']} ({d['_speed_str']})")
elif d['status'] == 'finished':
print(f"다운로드 완료: {d['filename']}")
ydl_opts = {
'progress_hooks': [progress_hook],
}
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download(["https://www.youtube.com/watch?v=VIDEO_ID"])
5. 플레이리스트 다운로드하기
유튜브에서 개별 영상뿐만 아니라 플레이리스트 전체를 한 번에 다운로드할 수도 있어!
playlist_url = "https://www.youtube.com/playlist?list=PLAYLIST_ID"
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([playlist_url])
6. 한글 자동 자막 다운로드하기
영상과 함께 자막도 다운로드하고 싶다면? 이렇게 하면 돼.
ydl_opts = {
'writesubtitles': True,
'subtitleslangs': ['ko'], # 한국어 자막 다운로드
}
7. 마무리 🎉
파이썬에서 yt-dlp를 사용하면 유튜브 영상을 원하는 포맷과 옵션으로 간편하게 다운로드할 수 있어. 이제 영상 저장부터 음원 추출까지 yt-dlp를 활용해봐!
💡 오늘 배운 핵심 정리:
- ✅
pip install yt-dlp
로 설치하기 - ✅
yt_dlp.YoutubeDL()
을 활용해 영상 다운로드하기 - ✅
format
,outtmpl
,postprocessors
로 세부 설정하기 - ✅
progress_hooks
로 다운로드 진행 상황 확인하기 - ✅ 플레이리스트 및 자막도 다운로드 가능!
이제 yt-dlp를 활용해서 유튜브 영상을 자유롭게 다운로드해보자! 🚀
'파이썬 코딩 기록' 카테고리의 다른 글
유튜브 스크립트 추출 자동화 프로그램 무료로 드림(직접 만든것) (0) | 2025.03.07 |
---|---|
블로그 원고 생성 프로그램 개발 강의 OT (0) | 2025.02.17 |
ChatGPT 모델별 사용량 가이드, 2025년 2월 기준 (0) | 2025.02.03 |
[Python 에러] UnicodeDecodeError 'utf-8' codec can't decode bytes (1) | 2025.01.20 |
[파이썬 에러] ModuleNotFoundError: No module named 'blinker._saferef' (0) | 2025.01.16 |