Programing/Python
36. 파이썬을 이용한 유튜브 동영상 다운로드 프로그램
the best infra
2024. 12. 25. 15:15
* 취지
- 유튜브를 보던 중에 해당 영상을 나중에 데이터가 없어도 다운로드하여서 비행기 같은 곳에서 보고 싶었을 때가 있을 거 같았다. 그래서 어떻게 하면 영상을 다운로드할 수 있을까 하던 도중 우리의 만능 도구인 파이썬은 이 고민을 해결해 줄 수 있었다.
* 사용된 도구
- yt_dlp : yt_dlp은 유튜브 및 다른 스트리밍 플랫폼의 동영상을 다운로드 하기 위한 라이브러리.
* 코드
- 패키지 및 모듈
# yt_dlp은 유튜브 및 다른 스트리밍 플랫폼의 동영상을 다운로드 하기 위한 라이브러리.
# YoutubeDL은 다운로드를 수행하는 주요 클래스.
from yt_dlp import YoutubeDL
- 함수 및 코드
def download_video():
url = input("다운로드 할 유튜브 URL : ")
ydl_opts = {
'format': 'best' # 동영상 화질 선택.
'outtmpl' : 'C:/다운로드/받을/경로/%(title)s.%(ext)s'
}
try:
with YoutubeDL(ydl_opts) as ydl:
ydl.download(url)
print("다운로드 완료!")
execpt Exception as e:
print(f"오류발생 : {e} ")
download_video()
* 전체 코드
# yt_dlp은 유튜브 및 다른 스트리밍 플랫폼의 동영상을 다운로드 하기 위한 라이브러리.
# YoutubeDL은 다운로드를 수행하는 주요 클래스.
from yt_dlp import YoutubeDL
def download_video():
url = input("다운로드 할 유튜브 URL : ")
# yt-dlp의 동작 방식을 정의하는 옵션
ydl_opts = {
'format': 'best', # 가장 좋은 품질로 다운로드
'outtmpl': 'C:/study for python/download_youtube/%(title)s.%(ext)s', # 파일 이름
}
try:
# YoutubeDL 객체를 만들고
with YoutubeDL(ydl_opts) as ydl:
ydl.download(url)
print("다운로드 완료!")
except Exception as e:
print(f"오류 발생: {e}")
download_video()
* 코드 작동 결과
- 유튜브에서 영상을 다운로드 받고 해당 경로 폴더에 저장.
- 동영상 시청
- mp4 파일로 저장이 된다.
- 화질은 아쉽게도 좀 저화질로 영상이 추출되었다. 분명 best로 선택했지만 무언가 화질 상향은 막은 듯하다.