Skip to main content

A youtube-dl extension with pluggable extractors

Project description

dl-plus

A youtube-dl extension with pluggable extractors

Description

dl-plus is an extension and a drop-in replacement of youtube-dl (or any compatible fork, e.g., yt-dlp). The main goal of the project is to add an easy-to-use extractor plugin system to youtube-dl while maintaining full backward compatibility.

dl-plus is not a fork of youtube-dl and does not contain code from youtube-dl, it is a pure dynamic wrapper (thanks to Python dynamic nature) hacking some youtube-dl internals.

Installation

  1. Install dl-plus:

    • using pipx:

      pipx install dl-plus
      
    • using pip:

      pip install dl-plus
      

    (*nix) Alternatively, you can download a single file binary (zipapp) and put it somewhere in your PATH:

    curl -L https://github.com/un-def/dl-plus/releases/latest/download/dl-plus -o dl-plus
    chmod a+x dl-plus
    
  2. Install a backend — youtube-dl or any compatible package (fork), e.g., yt-dlp:

    • using dl-plus itself:

      dl-plus --cmd backend install yt-dlp
      
    • using pipx:

      pipx inject dl-plus yt-dlp
      
    • using pip:

      pip install yt-dlp
      
  3. (optional) Install some extractor plugins:

    • using dl-plus itself:

      dl-plus --cmd extractor install un1def/wasdtv
      

      PyPI package names are supported too:

      dl-plus --cmd extractor install dl-plus-extractor-un1def-wasdtv
      
    • using pipx:

      pipx inject dl-plus dl-plus-extractor-un1def-wasdtv
      
    • using pip:

      pip install dl-plus-extractor-un1def-wasdtv
      
  4. (optional) Create dl-plusyoutube-dl symlink (for apps relying on youtube-dl executable in PATH, e.g., mpv):

    • *nix:

      dlp=$(command -v dl-plus 2>&1) && ln -s "$dlp" "$(dirname "$dlp")/youtube-dl"
      

      Use ln -sf instead of ln -s to overwrite an existing youtube-dl executable.

    • Windows (PowerShell, requires administrative privileges):

      $dlp = (Get-Command -ErrorAction:Stop dl-plus).Path; New-Item -ItemType SymbolicLink -Path ((Get-Item $dlp).Directory.FullName + "\youtube-dl.exe") -Target $dlp
      

Extractor Plugin Authoring Guide

See docs/extractor-plugin-authoring-guide.md.

Available Extractor Plugins

See docs/available-extractor-plugins.md.

License

The MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dl-plus-0.8.0.tar.gz (24.3 kB view hashes)

Uploaded Source

Built Distribution

dl_plus-0.8.0-py3-none-any.whl (32.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page