Love a few select YouTube channels but want to enjoy them without interruptions or algorithmic suggestions pulling you elsewhere? This tutorial is for you! We’ll walk through a process to create a personalized, ad-free library of your favorite content using Mac software, though it’s easily adaptable for Windows or Linux. This setup lets you watch on any device, even offline, while keeping things streamlined and focused on the creators you care about.
Note: This is an educational guide for personal use, respecting creators’ work. Always support your favorite channels through direct views, merch, or subscriptions when possible. Our goal is to enhance your viewing experience, not bypass revenue streams.
Step 1: Download Videos with yt-dlp (Your Starting Point)
Let’s begin by downloading videos from your favorite channels using yt-dlp, a free, open-source command-line tool (a maintained fork of youtube-dl). It’s lightweight, flexible, and works across platforms, letting you grab videos without ads.
On Mac:
-
Install Homebrew (Mac’s package manager) via Terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Install yt-dlp:
brew install yt-dlp
-
Grab your channel’s URL (e.g., https://www.youtube.com/@YourFavoriteChannel).
-
Download a single video:
yt-dlp https://www.youtube.com/watch?v=VIDEO_ID
Or an entire channel (use sparingly to manage storage):
yt-dlp -f best https://www.youtube.com/@YourFavoriteChannel/videos
- Use options like --playlist-start 1 --playlist-end 5 to download only the latest 5 videos, or --limit-rate 1M to cap download speed.
For Windows/Linux:
- Windows: Install via Chocolatey (choco install yt-dlp) or download the executable from yt-dlp’s GitHub. Use Command Prompt or PowerShell.
- Linux: Install via your package manager (e.g., sudo apt install yt-dlp on Ubuntu). Commands are the same.
Tip: Save downloads in a folder like ~/Videos/MyChannels. Create a script to run yt-dlp for your favorite channels regularly.
This gives you offline, ad-free videos on your computer. Want to take it further? Let’s make it multi-device.
Step 2: Set Up a Plex Server for Seamless Multi-Device Viewing
Turn your downloads into a personal streaming hub with Plex, a free media server (with optional paid features). Plex organizes your videos and streams them to your phone, tablet, TV, or computer—ad-free and even offline.
On Mac:
- Download Plex Media Server from plex.tv and install it.
- Sign in (or skip for local use) and create a library pointing to your download folder (e.g., ~/Videos/MyChannels). Organize by channel for easy navigation.
- Install the Plex app on your devices (iOS, Android, Smart TVs, or browsers).
- Stream or download for offline viewing. Plex fetches metadata like titles and thumbnails for a polished look.
Why Plex?
- Watch on your phone during a flight? Check.
- Share with family on a Smart TV? Done.
- No Wi-Fi? Plex works locally or with cached content.
For Windows/Linux:
- Windows: Download and install from plex.tv.
- Linux: Use sudo apt install plexmediaserver or equivalent. Setup is nearly identical.
Bonus: Plex transcodes videos for smooth playback on any device. Run it on a NAS or spare PC for 24/7 access.
Step 3: (Optional) Automate with n8n for Effortless Updates
Want new videos to appear in your library automatically? Use n8n, a free, self-hosted automation tool, to check your favorite channels, download new content, and add it to Plex.
On Mac:
- Install Node.js: brew install node.
- Install n8n: npm install -g n8n.
- Start n8n: n8n start (runs a web interface at localhost:5678).
- Create a workflow:
- Use a “Cron” node to check channels daily.
- Add a “HTTP Request” node to scrape channel RSS feeds (e.g., https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID).
- Trigger yt-dlp to download new videos to your Plex folder.
- Notify Plex to refresh the library.
For Windows/Linux:
- Install Node.js and n8n similarly. The workflow setup is platform-agnostic.
This keeps your library fresh without manual effort.
Challenge!
As mentioned above, this is just an educational exercise to enhance your viewing experience, not to impact creator or platform revenue. How would you adapt or enhance this process to solve a problem for you or your company? Maybe you’d automate metadata cleanup, integrate a notification system, or build a shared library for a team. Share your ideas!