Skip to content

Add optional playlist folders using hard links #947

Open

Description

@dialmaster

NOTE: This is just an idea, I'm not sure if I will implement it. I got the idea from some of the work done in the https://github.com/planet22/Youtarr-turbo fork.

Currently, videos downloaded through playlists are stored in their channel folders. I'd like to add an option to also organize them into playlist-specific folders without duplicating the files.

We could use hard links for this since all downloaded files already live on the same filesystem.

Proposed behavior:

  • Add an optional setting to enable playlist folders.
  • Keep the original video files in their channel folders, as we do today.
  • Create hard links for videos and their sidecar files (NFOs, thumbnails, etc.) in the appropriate playlist folders.
  • Allow the same video to appear in multiple playlists without using additional disk space.
  • Keep the folders in sync when videos are added, removed, or updated.
  • Support generating playlist folders for existing downloads.

Example folder structure:

youtube/
├── Channel A/
│   ├── Video 1.mp4         # Original file
│   ├── Video 1.nfo
│   └── Video 1.jpg
├── Channel B/
│   ├── Video 2.mp4         # Original file
│   ├── Video 2.nfo
│   └── Video 2.jpg
└── Playlists/
    ├── Favorites/
    │   ├── Video 1.mp4     # Hard link
    │   ├── Video 1.nfo
    │   ├── Video 1.jpg
    │   ├── Video 2.mp4     # Hard link
    │   ├── Video 2.nfo
    │   └── Video 2.jpg
    └── Watch Later/
        ├── Video 1.mp4     # Hard link to same file
        ├── Video 1.nfo
        └── Video 1.jpg

All copies of Video 1.mp4 point to the same underlying file, so it only uses disk space once, even though it appears in multiple folders.

This would let users browse their playlists as separate folders in Plex, Jellyfin, or other media servers without changing how Youtarr currently stores downloaded videos.

Activity

  1. BigFlubba commented on Oct 19, 2026

    @BigFlubba
    Collaborator

    I like it. As a fallback, if hard links don't work on the filesystem, Youtarr should copy the files and have a master and slave type of thing so the copy always mirrors the master/original. If a 3rd party modifies the master, Youtarr will copy it when the rescan task runs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions