ytdl-sub

ytdl-sub

Declarative yt-dlp wrapper to download and prepare media libraries

2.7kstars
96forks
Last commit: 19h ago
Repo age: 5y old
ytdl-sub screenshot

ytdl-sub is a command-line tool that orchestrates yt-dlp to download media and prepare it for media servers and players. It uses a declarative YAML configuration and preset system to control what to download and how files and metadata are produced.

Key Features

  • Declarative subscriptions and presets written in YAML to describe channels, playlists, formats, and destination library layouts.
  • Wraps and runs yt-dlp for downloads and can remux/transcode using FFmpeg/ffprobe when needed.
  • Rich plugin system (audio_extract, chapters, subtitles, file_convert, embed_thumbnail, music_tags, nfo_tags, video_tags, etc.) to control metadata, tagging, thumbnails, and post-processing.
  • Presets for media server targets and media types (Plex, Jellyfin, Emby, Kodi, music players) to produce naming, NFO files, and metadata formats those servers expect.
  • Scripting and template functions for conditional filtering, custom variables, and fine-grained automation of downloads.
  • Docker images provided (headless and GUI/code-server variant) plus a standalone executable and PyPI package; recommended deployment via Docker Compose or cron for automation.

Use Cases

  • Archive YouTube channels or playlists as TV shows or seasons for Plex/Jellyfin/Emby with server-compatible metadata.
  • Build and tag local music/video libraries (music videos, concerts, SoundCloud/Bandcamp imports) with embedded tags and external NFOs.
  • Automate periodic downloads via scheduled runs (cron/container) to keep a local media library in sync.

Limitations and Considerations

  • Requires external dependencies: Python 3.10+ and FFmpeg/ffprobe; these are mandatory for post-processing and packaging tasks.
  • CLI-first tool aimed at power users; configuration is flexible but has a steeper learning curve than polished web-UIs.
  • Relies on yt-dlp for site extractor correctness; changes to source sites may require updating yt-dlp and the tool's dependencies.

ytdl-sub is focused on providing flexible, reproducible control over media download and metadata generation rather than a one-click consumer UI. It is well-suited for users who need precise filename/metadata control and integration with media servers.

Categories:

Tags:

Tech Stack:

Share:

Similar Services

Jellyfin

Jellyfin

Self-hosted media server for managing and streaming your library

47.7k
4.3k
Last commit: 2d ago

Jellyfin is a free, self-hosted media server to organize, manage, and stream movies, TV, music, and photos to web, mobile, and TV clients.

Alternative to:
Plex
Plex
+19
Cobalt

Cobalt

Ad-free web media downloader for public social platforms

38.2k
3.1k
Last commit: 28d ago

Cobalt is a self-hostable web media downloader for saving publicly accessible videos and audio from supported social platforms via a simple paste-a-link interface and API...

Alternative to:
iTubeGo
iTubeGo
+4
SRS (Simple Realtime Server)

SRS (Simple Realtime Server)

High-performance real-time media server for live streaming and WebRTC

28.4k
5.6k
Last commit: 1mo ago

SRS (Simple Realtime Server) is a high-efficiency media server supporting RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181 for real-time streaming.

Alternative to:
Wowza Streaming Cloud
Wowza Streaming Cloud
+8
Kodi

Kodi

Open source home theater and media center software

20.3k
6.5k
Last commit: 1d ago

Kodi is an open source media center for organizing and playing local and networked video, music, and photos with a TV-friendly interface and add-on ecosystem.

Alternative to:
Microsoft Windows Media Player
Microsoft Windows Media Player
+7
Invidious

Invidious

Privacy-focused alternative web front-end for YouTube

18.4k
2.1k
Last commit: 17h ago

Invidious is a lightweight, privacy-focused alternative front-end for YouTube with subscriptions, playlists, and an API—without Google accounts, ads, or tracking.

Alternative to:
YouTube
YouTube
PeerTube

PeerTube

Federated video hosting and streaming with P2P delivery

14.4k
1.7k
Last commit: 3d ago

PeerTube is a decentralized, ActivityPub-federated video hosting platform with live streaming, P2P WebRTC delivery, and customizable community-run instances.

Alternative to:
YouTube
YouTube
+8