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. 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
      
  2. Install youtube-dl or any compatible package (fork):

    • using dl-plus itself:

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

      pipx inject dl-plus youtube-dl
      
    • using pip:

      pip install youtube-dl
      

    NOTE: if you use a fork where an import path was changed (it is youtube_dl by default), you'll need to configure a backend using the config file or the --backend command line option.

  3. (optional) Install some 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.5.0.tar.gz (17.3 kB view hashes)

Uploaded Source

Built Distribution

dl_plus-0.5.0-py3-none-any.whl (22.5 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