All Projects → reibitto → podpodge

reibitto / podpodge

Licence: Apache-2.0 License
Convert YouTube playlists to audio-only RSS feeds for podcast apps to consume.

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to podpodge

Russia It Podcast
Список русскоязычных подкастов на тему информационных технологий
Stars: ✭ 1,095 (+3321.88%)
Mutual labels:  rss, youtube, podcast, itunes
Ytmdl
A simple app to get songs from YouTube in mp3 format with artist name, album name etc from sources like iTunes, Spotify, LastFM, Deezer, Gaana etc.
Stars: ✭ 2,070 (+6368.75%)
Mutual labels:  youtube, itunes, youtube-dl
Youtube Fetcher
📺 Youtube Podcasting 🎧
Stars: ✭ 31 (-3.12%)
Mutual labels:  youtube, podcast, youtube-dl
Android Dev Sources
All those Android development sources that you need to be and stay awesome!
Stars: ✭ 434 (+1256.25%)
Mutual labels:  rss, youtube, podcast
Podcastgenerator
Open Source Podcast Publishing Solution since 2006
Stars: ✭ 344 (+975%)
Mutual labels:  rss, podcast, itunes
Ydls
youtube-dl HTTP download and transcode service
Stars: ✭ 68 (+112.5%)
Mutual labels:  rss, podcast, youtube-dl
podcastcrawler
PHP library to find podcasts
Stars: ✭ 40 (+25%)
Mutual labels:  podcast, itunes
vcrss
Create your own VCR/TiVo that downloads videos from RSS or Atom feeds using command line tools such as youtube-dl and svtplay-dl.
Stars: ✭ 11 (-65.62%)
Mutual labels:  rss, youtube-dl
JukeBot
Discord music bot written in Python 3
Stars: ✭ 23 (-28.12%)
Mutual labels:  youtube-dl, yt-dlp
ytqck.github.io
YouTube quick ⚡ Search and Download Music for Free.
Stars: ✭ 18 (-43.75%)
Mutual labels:  youtube, youtube-dl
Greg
A command-line podcast aggregator
Stars: ✭ 246 (+668.75%)
Mutual labels:  rss, podcast
podcast-feed-parser
A highly customizable package for fetching and parsing podcast feeds into simple and manageable JavaScript objects. For use with node or in the browser.
Stars: ✭ 39 (+21.88%)
Mutual labels:  rss, podcast
YT-DLP-SCRIPTS
...Just a place for me to share my various YT-DLP & related bash scripts.
Stars: ✭ 70 (+118.75%)
Mutual labels:  youtube-dl, yt-dlp
vscode-mediaplayer
Mediaplayer extention for VS Code
Stars: ✭ 18 (-43.75%)
Mutual labels:  podcast, youtube-dl
gropple
Server and bookmarklet to download files via youtube-dl directly from your browser. Cross platform single binary installation, web browser configurable.
Stars: ✭ 33 (+3.13%)
Mutual labels:  youtube-dl, yt-dlp
this-american-life-archive
Unofficial RSS feed for the podcast "This American Life" with episodes 1 to current
Stars: ✭ 19 (-40.62%)
Mutual labels:  rss, podcast
reader
A Python feed reader library.
Stars: ✭ 290 (+806.25%)
Mutual labels:  rss, podcast
YDL
A Simple GUI wrapper around yt-dlp for Windows using AHK
Stars: ✭ 18 (-43.75%)
Mutual labels:  youtube-dl, yt-dlp
youtube-dl-wpf
A simple GUI wrapper for youtube-dl and yt-dlp.
Stars: ✭ 358 (+1018.75%)
Mutual labels:  youtube-dl, yt-dlp
iTunesSearch
🎵 A .NET wrapper to the iTunes search API
Stars: ✭ 20 (-37.5%)
Mutual labels:  podcast, itunes

Podpodge

Scala CI

What is it?

Podpodge is a server + client for converting YouTube playlists (or plain audio files in a directory) into audio-only RSS feeds that podcast apps can consume.

Podpodge is written using akka-http + tapir + ZIO + Quill. It's still a work in progress in the sense that it doesn't have the nicest front-end yet (a Scala.js + Slinky front-end will be coming). Though it does have built-in Swagger integration so that you don't have to construct the API requests yourself for interacting with the DB and getting the RSS feed.

Requirements

* The above are only requirements if sourceType is youTube. For directory you can ignore this.

Usage

Run the server either using sbt (sbt run) or create an executable jar (sbt assembly) and run that. This will run the Podpodge server at http://localhost:8080 by default (this can be changed with PODPODGE_HOST and PODPODGE_PORT). For example, you might want to change PODPODGE_HOST to your network IP (like 192.168.1.100 or whatever it's set to) so that you can access it from your phone on the same local network. Of course the other option is to host it on a "proper" public server so that you can access it from anywhere.

To register a YouTube playlist as a Podcast, call the POST /podcast/{sourceType} route (where sourceType can be set to youTube or directory). You can do this with the built-in Swagger integration (which is the default top-level page).

The playlist ID is what appears in the address bar when visiting a YouTube playlist page, like https://www.youtube.com/playlist?list=YOUTUBE_PLAYLIST_ID

Note: Private playlists aren't supported (might be possible after this issue is addressed). Using unlisted playlists is the closest alternative for now.

If successful, this should return you a JSON response of the Podcast. You can then use the POST /podcasts/check route to check for new episodes:

(Note: There is an issue for setting up CRON-like schedules per Podcast for automatic checks)

Once that's done, you can access the RSS feed URL and put it into whatever podcast app you use. It'll look something like this (the ID may be different if you have multiple podcasts): http://localhost:8080/podcast/1/rss

Contributing

Podpodge is fairly barebones and I mainly made it for myself because similar apps I tried at the time didn't quite work for me. Plus, this was an exercise to learn how akka-http + ZIO + Quill (and eventually Slinky) work together. There are a bunch more features that could potentially be added and I created some issues for those. Feel free to take any if you'd like. Contributions are always welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].