We are Architect

36. 파이썬을 이용한 유튜브 동영상 다운로드 프로그램 본문

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로 선택했지만 무언가 화질 상향은 막은 듯하다. 

유튜브 풍월량님 게임방송 영상(엘든링 DLC)