YouTube (and other video sites) without the irritations: integrating yt-dlp and jellyfin, with a web interface
Fed up with YouTube’s constant adverts and, on some platforms, the inability to do picture-in-picture easily?
Me too.
I didn’t fancy paying a significant monthly fee and being tracked through a login requirement, and, well, I already had an instance of jellyfin running, so here’s what I did:
I integrated video/audio download tool, yt-dlp, with the media server jellyfin, and added a web interface.
I say “integrate”, but it was really nothing more than:
- install yt-dlp on the same server as jellyfin
- install the Youtube-dl WebUI
- I put it behind nginx, and used certbot / Let’s Encrypt to enable tls
- add login.php to the nginx index parameter, if you want to access it at example.com, rather than typing example.com/login.php. Not a big deal if you plan on bookmarking it.
- create a new directory, as the download destination for yt-dlp. Make it writeable by your webserver
- edit youtube-dl-webui’s config file, to reference the new directory (and, while there, add a strong password)
- make the log file writeable by the webserver too
- in jellyfin, add the new directory to jellyfin’s list of libraries, making sure you set it to automatically monitor for new content
And that’s it.
Now, when you want to watch something on YouTube (or one of the >1300 other sites supported by yt-dlp) grab the URL, and put it into the youtube-dl-webui. Give it a few seconds to download it, and for jellyfin to ingest it.
If you want just the audio, tick the checkbox before downloading.
And, bingo: a file you can watch without adverts, and with picture-in-picture if you want it, via the jellyfin client (or web client).
(And you can delete downloaded files via the youtube-dl-webui interface too.)
You may also like:
- There is no i in Teams. And rarely a Neil
- Adjusting the scroll speed of an Apple Magic Mouse on Debian 11
- Microsoft Surface Pro with Debian 11 Bullseye: emulating right-click on Type Cover trackpad
- Working front and rear cameras on Debian 11 on a Surface Pro 6, SurfaceBook 2, and Surface Go
- This one simple hack solved my Debian 11 Bluetooth audio problems
- Raspberry Pi, pihole, unbound, nginx, doh-server: some quick notes
- Migrating mastodon to a Raspberry Pi 4
- Wayland, clipboards and wl-clipboard
- Surface Pro 6, Debian 11 Bullseye, Gnome 3, Wayland, and two 4k@60 external monitors
- Moving from macOS to Debian 11 Bullseye Linux: applications
- Installing Chitubox (3d printer slicing software) on Debian 11
- Ubuntu on a OnePlus 6T: a good start, but too many compromises
- Aztine 15.6 Portable Monitor with Debian 11 on a Surface Pro 6
- Auto-unlocking a LUKS volume on an SD card on boot with Debian 11 Bullseye
- Making a Mac Mini power up when power is restored: Debian 11 version