Noureddine RAMDI / FinTube: a Jellyfin plugin for direct YouTube content ingestion with yt-dlp integration

Created Sat, 23 May 2026 20:41:14 +0000 Modified Sat, 23 May 2026 20:41:27 +0000

AECX/FinTube

FinTube tackles a common challenge for self-hosted media enthusiasts: how to archive YouTube content seamlessly within your Jellyfin media server. Instead of relying on separate download tools and manual imports, FinTube integrates YouTube video, channel, and playlist ingestion directly into the Jellyfin dashboard. This makes YouTube content a first-class citizen of your media library, complete with metadata tagging for music files.

what fintube does and how it integrates youtube with jellyfin

FinTube is a Jellyfin plugin primarily written with HTML front-end components and a C# backend typical for Jellyfin plugins. Its core purpose is to act as a wrapper around the popular yt-dlp (or youtube-dl) tool. yt-dlp is a command-line downloader that supports a wide array of video sites, with YouTube as its flagship source.

By integrating yt-dlp, FinTube lets users download videos, entire channels, or playlists from YouTube directly from the Jellyfin web interface. The downloaded content is then stored inside the user’s Jellyfin media library, making it accessible alongside other media files.

An additional feature is optional support for id3v2 tagging on downloaded music files. This means artist, title, album, and track metadata can be embedded into the audio files, improving library organization and playback experience.

The plugin requires pointing to a valid yt-dlp executable on the host system where Jellyfin runs, which keeps the plugin lightweight and offloads the heavy lifting of media extraction and downloading to yt-dlp. The plugin also optionally integrates with an id3v2 binary for tagging.

technical strengths and design tradeoffs

The main technical strength of FinTube lies in its role as a bridge between Jellyfin and yt-dlp. This separation of concerns is a clear tradeoff: FinTube doesn’t reimplement downloading logic but leverages a battle-tested tool with extensive support for YouTube and other sites.

This approach keeps the plugin codebase focused and relatively simple, avoiding the complexity of maintaining a custom downloader. It also means users must manage and update yt-dlp separately, which introduces a dependency but also flexibility.

The integration with id3v2 tagging is a thoughtful touch, especially for users archiving music content. However, this adds another external dependency and limits tagging only to audio files, leaving video metadata tagging out of scope.

Under the hood, the plugin exposes a UI within Jellyfin’s admin dashboard that allows configuration of paths to required executables and controls for starting downloads. This makes the DX (developer and user experience) smooth for those familiar with Jellyfin plugins.

One limitation is the reliance on external binaries and system-level configuration, which can be a barrier for less technical users or more locked-down environments. Also, because FinTube depends on yt-dlp’s capabilities, any limitations or changes in yt-dlp affect FinTube directly.

install and configure fintube plugin in jellyfin

Add my Repository

  1. In your Admin Dashboard navigate to “Plugins”
  2. Switch to the “Repositories” tab
  3. Click “+” and add the Repository https://raw.githubusercontent.com/AECX/FinTube/master/manifest.json Name it “HenkeGG” or “AECX” - Or whatever helps you remember

Install and configure the plugin

  1. Switch to the “Catalog” tab
  2. Search for the “FinTube” plugin and click install
  3. Restart the Server and head back to the “Plugins” Sections
  4. Click on FinTube and Select “Settings”, enter a valid executable for yt-dlp/youtube-dl
  5. Optionally: Enter a valid executable for id3v2 to be able to Tag Music with Artist, Title, Album and Track information

Now you are ready to go, head to the “FinTube” plugin page (at the bottom of your dashboard navigation), enter information as desired to start importing from YouTube.

verdict

FinTube is a practical tool for Jellyfin users who want to bring YouTube content into their self-hosted media library without juggling multiple tools. Its architecture wisely offloads media downloading to yt-dlp, leveraging a reliable, actively maintained downloader.

The tradeoff is a dependency on external binaries and some manual configuration, which might not suit novice users or those seeking a fully integrated, zero-setup experience.

If you’re comfortable with managing command-line tools and want a convenient way to archive YouTube videos, playlists, or music with metadata tagging into Jellyfin, FinTube is worth trying. It extends Jellyfin’s capabilities without bloating the server or reinventing the wheel, fitting well in a homelab or personal media server setup.


→ GitHub Repo: AECX/FinTube ⭐ 309 · HTML