유튜브 다운로더 Yt-dlp, 다운로드를 위해 Deno 설치 필수로 변경

1 month ago 9

  • yt-dlp에서 YouTube 다운로드를 계속 정상적으로 사용하기 위해 곧 Deno(또는 지원되는 JavaScript 런타임) 설치가 필수 조건으로 변경됨
  • YouTube 측의 최근 변화로 인해 내장 JavaScript "인터프리터"만으로는 JS 챌린지 해결이 불가해짐
  • PyInstaller 실행 파일 사용자는 Deno만 준비하면 되며, PyPI 패키지 이용 시는 추가 JavaScript 컴포넌트 설치 필요함
  • 타 JavaScript 런타임(Node, Bun 등) 지원도 가능성을 열어 두고 있으나, Deno만이 보안 및 샌드박싱 측면에서 적합함
  • Deno 및 관련 의존성 설치 방식, 경로 지정에 대해 별도의 옵션 및 안내가 제공될 예정임

yt-dlp의 YouTube 다운로드 변경사항 및 새로운 요구사항 발표

새로운 요구사항 도입 배경

  • 가까운 시일 내로 YouTube 다운로드 기능을 정상적으로 이용하기 위해 필수적으로 Deno나 기타 지원되는 JavaScript 런타임 설치 필요성 발생
  • 지금까지 yt-dlp는 내장 JavaScript 인터프리터를 활용하여 YouTube 측 JS 챌린지를 해결해왔으나, 최근 YouTube의 내부 로직 변화로 기존 방식만으로는 더 이상 대응이 불가능해짐
  • 변화의 폭이 매우 커서, yt-dlp는 정상 동작을 위해 반드시 정식 JavaScript 런타임 기반 알고리듬을 사용해야만 유튜브 요청을 통과할 수 있음

사용자별 준비 및 대응 방법

  • Deno(또는 지원되는 JS 런타임) 설치
    • FAQ 등 통해 추가적으로 지원되는 런타임 안내 예정
  • yt-dlp가 필요로 하는 일부 JavaScript 컴포넌트 설치 필요 가능
    • 설치 방식과 yt-dlp 배포 형태에 따라 추가 작업 필요 여부가 다름

공식 배포별 체크리스트

  • PyInstaller로 제공되는 공식 실행 파일(yt-dlp.exe, yt-dlp_macos, yt-dlp_linux 등)
    • Deno만 설치하면 되고, 추가 컴포넌트는 실행 파일에 이미 포함됨
  • PyPI 패키지(pip, pipx 등)
    • yt-dlp를 default 옵션 의존성 그룹으로 설치 및 최신 버전으로 업그레이드 필요
    • 예: pip install -U "yt-dlp[default]"
  • 공식 zipimport 바이너리(Unix용 yt-dlp)
    • Deno가 npm 의존성을 다운로드하도록 플래그 추가 필요
    • 또는, 별도의 yt-dlp용 JS solving 패키지를 Python 환경에 설치 필요(옵션 및 패키지명은 추후 공지)
  • 타사 패키지(pacman, brew 등)
    • 해당 배포판의 정책에 따라 조치가 달라질 수 있으나, zipimport 바이너리 이용자용 대응 방법 활용 가능

런타임 및 보안 관련 논의

  • Node, Bun 등 대체 JS 런타임 지원 가능성은 있으나, 현 시점에서 이들 런타임은 Deno만큼의 보안 및 샌드박싱 기능을 제공하지 못함
  • 향후 다른 JS 런타임 지원 여부는 논의 중이며, 최종 확정 전까지는 Deno를 기준으로 안내 진행

Deno 설치 관련 추가 안내

  • yt-dlp와 마찬가지로 Deno는 GitHub에서 제공하는 단일 실행 파일을 받아 경로에 두는 것만으로 사용 가능
  • 추후 yt-dlp에 --js-runtimes 옵션이 도입되어 Deno 실행 파일의 경로 지정이 가능해질 예정(옵션명 및 사용법은 변경될 수 있음)
  • Deno를 Curl 등으로 다운로드받은 후, yt-dlp 실행 파일과 같은 폴더에 두면 정상 동작 가능

FAQ 및 부가 안내

  • 사용 중인 OS나 패키지 관리자에 따라 PATH 추가 등이 필요할 수 있음
  • Linux 등 환경에 따라 Deno가 PATH에 자동으로 등록될 수 있음
  • 추가적인 질문 및 설치 관련 이슈는 FAQ나 커뮤니티에서 지원 예정

기타 커뮤니티 반응 및 향후 업데이트

  • 일부 사용자는 32bit 시스템 대응 중단 여부, 배포 옵션 등 다양한 파급효과에 대해 문의 중임
  • yt-dlp 개발팀은 이슈 등록, 패치, 커뮤니티 피드백을 바탕으로 더 나은 안내 및 지원 방안 마련 준비 중임

결론 및 요약

  • YouTube의 시스템 구조 변경에 따라 yt-dlp의 동작 구조 및 요구 사양이 대폭 변화함
  • 중요한 변화로, 정상적인 YouTube 다운로드 이용을 원할 경우 Deno 등 JS 런타임 준비 필수
  • 공식 배포 방식별 지침에 맞춰 신속한 대응 필요
  • 지속적으로 추가 안내와 FAQ, 설치 가이드 제공 예정

Read Entire Article