Building a YouTube-to-Podcast Pipeline with yt-dlp, ffmpeg, and Backblaze B2
YouTube has an enormous amount of great audio content — earnings calls, university lectures, audiobooks, speeches — but none of it is available as a podcast. You can't subscribe to a YouTube channe...

Source: DEV Community
YouTube has an enormous amount of great audio content — earnings calls, university lectures, audiobooks, speeches — but none of it is available as a podcast. You can't subscribe to a YouTube channel in Apple Podcasts. There's no RSS feed. If you miss a video, you miss it. I wanted to fix that. So I built Castify, a system that turns YouTube channels and playlists into real podcast RSS feeds. You add a URL, and it handles the rest: scanning for new videos, extracting audio, uploading to cloud storage, and generating an RSS feed that works in any podcast app. Here's how the pipeline works. Architecture The system has three components: ┌─────────────────┐ ┌──────────────┐ ┌──────────────┐ │ Desktop App │──API──▶│ Go Server │──RSS──▶│ Podcast App │ │ (Tauri + Rust) │ │ (chi + GORM)│ │ (any client) │ │ │──PUT──▶│ │ └──────────────┘ │ yt-dlp, ffmpeg │ │ MySQL, B2 │ └─────────────────┘ └──────────────┘ Desktop app (Tauri v2 + Rust): runs yt-dlp and ffmpeg as sidecar binaries, handles the scan