프로그래밍

유튜브 쇼츠 썸네일 추출 방법 – 쉽게 따라하는 가이드

푸른강아지 2025. 3. 8. 00:19
반응형

최근 유튜브 숏츠(Shorts)가 많은 인기를 끌면서, 짧은 영상뿐만 아니라 그 영상의 썸네일에도 관심이 높아졌습니다. 영상 썸네일은 시청자의 첫 인상을 좌우하는 중요한 요소이므로, 원하는 썸네일을 추출해 블로그, SNS, 혹은 프로젝트에 활용하고자 하는 분들이 많습니다. 이번 포스팅에서는 유튜브 숏츠의 썸네일을 추출하는 간단한 방법과 Python 코드 예제를 통해 이를 자동화하는 방법을 소개합니다.

 

유튜브 숏츠 썸네일 추출 원리

유튜브에서는 각 영상에 대해 기본적인 썸네일 이미지를 자동으로 생성합니다. 일반 영상과 마찬가지로, 숏츠 영상 역시 다음과 같은 URL 구조를 가지고 있습니다.

 

  • 기본 썸네일:
    https://img.youtube.com/vi/영상ID/0.jpg
  • 중간 해상도 썸네일 (mqdefault):
    https://img.youtube.com/vi/영상ID/mqdefault.jpg
  • 최고 해상도 썸네일 (maxresdefault):
    https://img.youtube.com/vi/영상ID/maxresdefault.jpg

예를 들어, 유튜브 숏츠 URL이
https://youtube.com/shorts/ABC123XYZ?si=randomParameter
라면, 영상 ID는 ABC123XYZ입니다. URL을 브라우저 주소창에 입력하면 해당 썸네일 이미지를 확인할 수 있습니다.

 

Python 코드로 자동 추출

Python을 활용하면 다수의 유튜브 숏츠 URL에 대해 자동으로 썸네일 URL을 생성하고, 원하는 경우 이미지를 다운로드하여 저장하거나 바로 확인할 수 있습니다. 아래는 예제 코드입니다.

import re
import requests
from PIL import Image
from io import BytesIO

def extract_video_id(url):
    """
    주어진 URL에서 영상 ID를 추출합니다.
    예: 'https://youtube.com/shorts/ABC123XYZ?si=randomParameter' → 'ABC123XYZ'
    """
    pattern = r'/shorts/([^?]+)'
    match = re.search(pattern, url)
    if match:
        return match.group(1)
    else:
        return None

def get_thumbnail_urls(video_id):
    """
    영상 ID를 이용해 기본, 중간(mqdefault), 최고(maxresdefault) 해상도의 썸네일 URL들을 반환합니다.
    """
    base_url = f"https://img.youtube.com/vi/{video_id}/"
    return {
        "default": base_url + "0.jpg",
        "mqdefault": base_url + "mqdefault.jpg",
        "maxresdefault": base_url + "maxresdefault.jpg"
    }

def download_and_display(url):
    """
    주어진 URL에서 이미지를 다운로드하여 열어줍니다.
    """
    response = requests.get(url)
    if response.status_code == 200:
        img = Image.open(BytesIO(response.content))
        img.show()  # 기본 이미지 뷰어로 표시
    else:
        print("이미지를 다운로드하지 못했습니다.")

if __name__ == "__main__":
    # 예시: 가상의 유튜브 숏츠 URL
    youtube_shorts_url = "https://youtube.com/shorts/ABC123XYZ?si=randomParameter"
    
    # 영상 ID 추출
    video_id = extract_video_id(youtube_shorts_url)
    if video_id:
        print("영상 ID:", video_id)
        
        # 썸네일 URL 생성 및 출력
        thumbnails = get_thumbnail_urls(video_id)
        for quality, thumb_url in thumbnails.items():
            print(f"{quality} 썸네일 URL: {thumb_url}")
        
        # 최고 해상도 썸네일 다운로드 및 표시
        download_and_display(thumbnails["maxresdefault"])
    else:
        print("영상 ID를 추출하지 못했습니다.")

유튜브 숏츠는 짧고 강렬한 영상 콘텐츠로, 썸네일 역시 콘텐츠의 인상을 결정하는 중요한 요소입니다. 이번 포스팅에서 소개한 방법과 코드를 활용하면, 원하는 썸네일을 쉽고 빠르게 추출하여 다양한 용도로 활용할 수 있습니다. 여러분의 프로젝트나 콘텐츠 제작에 도움이 되길 바랍니다!

 

반응형