Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is ytdl-sub?
ytdl-sub is a command-line tool for automating downloads from online video and audio sources and organising them into a media library, according to the ytdl-sub User Guide. It is built around configuration files and presets rather than one-off download commands: you define subscriptions and let the tool fetch new items and file them according to rules you set.
What it is for
The guide's structure shows the intended workflow:
- Subscriptions describe what to follow and download.
- Presets define how downloads are named, organised and formatted, with prebuilt sets for TV shows, music and music videos.
- Configuration files hold your settings, and plugins and scripting extend behaviour.
- Media quality presets let you choose output quality trade-offs.
Who it suits
It fits people running a home media server who want repeatable, unattended downloads: for example, someone following several channels and wanting episodes filed into a TV-show folder structure with consistent naming. It is less suited to someone who wants a single file downloaded once; a simpler downloader would be less setup.
Trade-offs
The preset-driven approach rewards initial configuration with low ongoing effort, but it assumes comfort with editing config files and running commands. Expect to read the getting-started and reference sections before your first successful run.
A practical next step: start with the getting-started guide, pick the prebuilt preset closest to your library layout, and test on one subscription before adding more.
How do I install ytdl-sub on my platform?
The ytdl-sub documentation handles platform installation through a dedicated Install by Platform page in its Guides section, rather than one universal command. The right steps depend on your operating system and how you want to run it, so start there and pick the entry matching your setup.
What to expect in the install guide
- Per-platform instructions — separate paths for the platforms the project supports, so you follow only the one that applies to you.
- A Getting Started section — a natural next stop once installation finishes, covering initial configuration.
- Subscription and configuration references — the files you'll set up after install to define what gets downloaded and how it's named.
A practical sequence
- Open the Install by Platform guide and choose your OS or environment.
- Complete the install steps exactly as listed for that platform.
- Move to Getting Started to create your configuration and subscription files.
- Use the Configuration File, Presets, and Subscription File reference pages when you need to adjust behavior.
Choosing your approach
If you prefer a self-contained setup, container-based or package-based options (where offered for your platform) tend to be easier to update and isolate. A manual install gives more direct control but puts dependency management on you. The installation page is the place to confirm which options exist for your system before committing.
For a concrete example: a user on a home server who wants scheduled downloads would typically follow the server-oriented install path, then define subscriptions for each channel or playlist, and use the debugging page if the first run doesn't behave as expected.
For broader context on the tool itself, the project's main documentation at ytdl-sub User Guide is the authoritative reference.
How do I set up a subscription file to automatically download new videos from a channel?
Create a subscription file (often called a subscription YAML) that lists the channels you want, then run ytdl-sub against that file on a schedule so new uploads are fetched automatically. In ytdl-sub, the "Subscription File" and "Presets" sections of the guide are the key references: the subscription file defines the sources, and presets define how items are named, organized, and filtered.
What the file needs to do
- Point at channels: list each channel or playlist URL you want to track.
- Apply a preset: choose a prebuilt preset (TV Show, Music, Music Video, or Media Quality presets are documented) so downloads land in a consistent folder structure with predictable names.
- Filter and format: presets and the configuration file control which uploads qualify and how files are named, which is what makes repeated runs idempotent rather than duplicating files.
Making it automatic
The subscription file itself doesn't schedule anything. Automation comes from running ytdl-sub repeatedly—typically a cron job, systemd timer, or container scheduler—so each run checks the sources and downloads only what's new. The "Install by Platform" and "Getting Started" pages cover platform-specific setup.
A concrete scenario: you follow three channels and want new episodes filed under a show-style folder tree. Put the three channel URLs in one subscription file, assign a TV Show preset, and schedule a daily run. The first run backfills; later runs add only new items.
Decision criteria
- One file or many? Group sources that should share naming and folder rules; split when different channels need different presets.
- Preset choice first: pick the preset before adding many URLs, since it determines output layout and is tedious to change later.
- Verify with a dry run: check the Debugging section before trusting an unattended schedule, so misnamed or mis-filtered downloads don't accumulate.
Start with ytdl-sub User Guide's Subscription File and Prebuilt Presets pages, then set up a single scheduled run and confirm the output before expanding the list.
Which prebuilt preset should I choose for organizing downloaded TV shows versus music?
Choose by media type first: for TV shows, start with the TV Show Presets; for music, start with the Music Presets. Both come from the prebuilt preset family documented in the ytdl-sub User Guide, so the practical decision is which preset group matches what you are downloading, not which single preset is "best."
TV shows
TV Show Presets are the right starting point when episodes need to land in a series-and-season structure with consistent episode naming. This suits a library you will browse in a media player, where a mislabeled episode is more annoying than a slightly imperfect file name. Expect to set the show name and season handling per subscription rather than relying on defaults for everything.
Music
Music Presets fit albums, artists and tracks, where the useful grouping is artist → album → track rather than season → episode. If you also download music videos, the separate Music Video Presets exist because their naming and folder logic differs from both audio and TV.
How to decide
- Downloading episodic video with seasons? Use TV Show Presets.
- Downloading songs or albums? Use Music Presets.
- Downloading music videos? Use Music Video Presets.
- Care more about file quality than layout? The Media Quality Presets adjust that separately, and can be combined with the above.
A sensible next step is to read the prebuilt preset reference for the group you picked, then test one subscription on a small channel before applying it to a large library. That way naming mistakes surface on a handful of files instead of hundreds.
How can I customize the configuration file or write a plugin to change how files are named and organized?
Customize naming and folder layout mainly through ytdl-sub's preset system rather than by editing one monolithic config file. The guide separates the Configuration File, Presets, and Subscription File references, and it documents Plugins and Scripting as distinct extension points. In practice, that means you define or override presets that control output paths and filenames, then apply them to subscriptions.
Where to make each kind of change
| Goal | Where to look in the guide | Typical approach |
|---|---|---|
| Rename files or change folder structure | Presets, plus the Prebuilt Preset Reference | Override or extend a preset's output/naming settings |
| Change behavior for one show, channel or feed | Subscription File | Apply different presets per subscription |
| Reuse your conventions across many subscriptions | Configuration File | Define shared preset overrides once |
| Add logic the built-in presets don't cover | Plugins and Scripting | Write a plugin or script hook |
The prebuilt TV Show, Music, and Music Video presets are the most useful starting points: they already encode sensible naming and organization for each media type, so you adjust them instead of building from scratch. The Media Quality and Helper presets are separate concerns and generally shouldn't be mixed into naming decisions.
A practical next step
Pick one subscription that currently produces awkward filenames or folders. Copy the preset it uses, change only the output path or filename fields, and apply the copy to that single subscription. Once the result looks right, promote the change to your configuration file so every subscription inherits it.
When a plugin is the right choice
Reach for a plugin when the change depends on information the presets can't see, such as metadata you want to transform, external lookups, or conditional logic across multiple files. If your goal is purely "put this in this folder with this name," presets are simpler and easier to maintain. The guide's Debugging section is worth reading before writing a plugin, since it explains how to inspect what the tool is actually producing.
For the underlying tool's own download and format options, which ytdl-sub builds on, see yt-dlp on GitHub.
How do I troubleshoot ytdl-sub when downloads fail or files are sorted incorrectly?
Start with ytdl-sub's Debugging page, then check your subscription and preset configuration. Most failures and sorting errors come from the config layer, not from yt-dlp itself.
Downloads that fail
Work through these in order:
- Run in debug mode. The Debugging section of ytdl-sub User Guide is the intended starting point; verbose output usually shows whether the failure is a bad URL, an authentication problem, or a rejected format.
- Check the subscription file. Confirm the channel or playlist URL is current and that filters (date ranges, title filters, episode limits) aren't excluding everything.
- Check the preset. A preset that requests a format the source doesn't offer will fail. Try a simpler prebuilt preset to isolate whether the problem is your custom config.
- Re-run a single item. Narrowing to one video separates a source-specific problem from a systemic one.
Files sorted into the wrong place
Sorting is controlled by the naming variables in your preset's output and episode settings. When episodes land in the wrong season, wrong show folder, or with wrong numbering:
- Compare the generated filename against the variables you set (show title, season, episode, date).
- Check whether the source provides season/episode metadata. If it doesn't, ytdl-sub falls back to dates or sequential numbering, which can look like mis-sorting.
- Verify the TV Show preset matches how the source structures its content; music and music-video presets use different naming logic.
A practical diagnostic habit
Keep one known-good subscription on a prebuilt preset. When something breaks, run the same URL through both your custom config and the prebuilt one. If the prebuilt works, the fault is in your overrides; if both fail, it's the source or the install.
As general advice (not a documented feature): change one setting at a time and keep notes, since naming variables interact and a single edit can shift both folder structure and file names.
User reviews (0)