Post

코랩에서 yt-dlp로 동영상을 내려받아보자

Colab에 yt-dlp를 설치하고 영상 플랫폼 URL 하나로 최고 화질 mp4를 Drive에 저장해보자

코랩에서 yt-dlp로 동영상을 내려받아보자

코랩에서 yt-dlp로 동영상을 내려받아보자

앞 글에서 직접 URL을 넣어 파일을 받았다. 영상 플랫폼은 재생 URL이 숨어있어 이 방식이 통하지 않는다. Colab에 yt-dlp를 설치해 URL 하나로 해결해보자.

1. 서론 (Introduction)

  • 문제/상황 (Problem):
    • 영상 플랫폼의 재생 URL은 토큰·만료 파라미터가 붙어 직접 requests로 받을 수 없다.
    • 내 PC에서 내려받으면 속도와 용량에 묶이고, 긴 영상은 PC를 켜둬야 한다.
  • 목적 (Purpose):
    • Colab에 yt-dlp를 설치해 영상 URL 하나로 최고 화질 mp4를 Drive에 직접 저장한다.
  • 대상 (Target Audience):
    • 영상 플랫폼 다운로드를 내 PC 자원 없이 자동화하고 싶은 개발자

2. 방법 및 과정 (Methods & Process)

  • 배경 조사 및 데이터 (Data Collection):
    • yt-dlp는 yt-dl의 포크로, 수백 개 사이트의 영상 추출 로직을 내장한다. 포맷 선택·자막·썸네일 동시 저장도 지원한다.
옵션의미
format화질 선택 — bestvideo+bestaudio/best
outtmpl저장 경로 템플릿 — %(title)s.%(ext)s
merge_output_format영상+음성 합칠 포맷 — mp4
  • 접근 방법 (Approach Methods):
    • [방법 1]: yt-dlp Python API — yt_dlp.YoutubeDL(opts).extract_info(url, download=True)로 호출한다. 반환값(제목·길이 등)을 코드에서 바로 받을 수 있다.
    • [방법 2]: 셸 명령(!yt-dlp ...) — Colab 셀에서 바로 실행할 수 있으나 반환값을 코드로 받기 어렵고 오류 처리가 API 방식보다 번거롭다. 이번 글은 반환값 활용이 필요해 API 방식(방법 1)을 채택한다.
  • 분석 및 해결 프로세스 (Analysis Flow):
    • 도구/기술: Python, google-colab, yt-dlp
    • 주요 단계: Drive 마운트 $\rightarrow$ yt-dlp 설치 $\rightarrow$ YoutubeDL(opts).extract_info(url, download=True) $\rightarrow$ Drive/videos/ 저장 확인
    • 결과 도출 및 검증: 공개 샘플 URL 실행 → 제목 추출 → Drive에 mp4 저장 완료.

3. 결과 (Results)

  • 분석 결과 요약:
    • URL 한 줄로 영상·음성 분리 스트림을 받아 mp4로 합쳐 Drive에 저장된다.
    • outtmpl%(title)s를 쓰면 영상 제목이 파일명으로 자동 지정된다.
    • Colab 서버가 다운로드하므로 내 PC 네트워크나 CPU를 쓰지 않는다.

4. 인사이트 및 액션 (Insights & Action)

  • 인사이트 (Insight):
    • yt-dlp는 Colab 세션마다 재설치해야 한다. /content/ 아래 설치된 패키지는 세션이 끊기면 사라진다.
    • format 지정 없이 실행하면 플랫폼이 기본 화질을 내려준다. 최고 화질이 필요하면 bestvideo[ext=mp4]+bestaudio[ext=m4a]를 명시한다.
    • 일부 플랫폼은 로그인이 필요하다. cookiesfrombrowser 옵션으로 로컬 브라우저 쿠키를 넘기거나, --cookies 파일을 Drive에 저장해 쓸 수 있다.
  • 실행 방안 (Action Plan):
    • 샘플 코드를 Colab에 열고 VIDEO_URL을 받고 싶은 영상 주소로 교체해 실행한다.
  • 한 줄 결론 (Key Takeaway):
    • Colab + yt-dlp 조합으로 영상 플랫폼 URL 하나를 Drive mp4로 바꿀 수 있다. 샘플 코드
  • 다음 스텝 (Next Step):
    • Drive에 저장된 파일을 내 PC로 옮기려면 Drive 앱 동기화를 기다리거나 브라우저에서 하나씩 내려받아야 한다. Colab 세션 안에서 곧바로 PC로 전송하려면 별도의 터널링 수단이 필요하다.
This post is licensed under CC BY 4.0 by the author.