Creates podcast feed from playlist URL
Project description
Playlist2Podcast is a command line tool that takes a Youtube playlist, downloads the audio portion of the videos on that list, and creates a podcast feed from this.
Playlist2Podcast:
downloads and converts the videos in one or more playlists to opus audio only files,
downloads thumbnails and converts them to JPEG format, and
creates a podcast feed with the downloaded videos and thumbnails.
Install and run natively
Easiest way to use Playlist2Podcast is to use pipx to install it from PyPi. Then you can simply use playlist2podcast on the command line run it.
Playlist2Podcast will ask for all necessary parameters when run for the first time and store them in config.json file in the current directory.
Docker Compose
There is a docker-image published for playlist2podcast.
You can use the below example docker compose to run playlist2podcast with a caddy frontend to publish the resulting podcast feed:
--- version: "3.5" services: ########################################################################## # C A D D Y - R E V E R S E P R O X Y ########################################################################## caddy: image: lucaslorentz/caddy-docker-proxy:latest container_name: caddy ports: - 80:80 - 443:443 environment: - CADDY_INGRESS_NETWORKS=caddy networks: - caddy volumes: - /var/run/docker.sock:/var/run/docker.sock - <path to folder where caddy can store ssl certs>:/data - <path to folder where caddy can write log files>:/logs - podcast-data:/publish:ro # actual podcast feed data restart: unless-stopped ########################################################################## # P L A Y L I S T 2 P O D C A S T ########################################################################## playlist2podcast: image: codeberg.org/pyyttools/playlist2podcasts:latest container_name: playlist2podcast tty: true stdin_open: true environment: - UPDATE_INTERVAL=4h # How long to wait between updates. volumes: - <path to directory containing config.json file>:/config - podcast-data:/publish # podcast feed data will be saved here restart: unless-stopped networks: - caddy labels: caddy: <full hostname podcast> # DNS for this needs to resolve before starting caddy.root: "* /publish" caddy.file_server: ########################################################################## # N E T W O R K S ########################################################################## networks: caddy: ########################################################################## # V O L U M E S ########################################################################## volumes: podcast-data:
Changelog
See the Changelog for any changes introduced with each version.
License
Playlist2Podcast is licences under the GNU Affero General Public License v3.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file playlist2podcast-1.1.1.tar.gz
.
File metadata
- Download URL: playlist2podcast-1.1.1.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50fbe9da702dde9fcce351a398bb18298ef43725bb88c32e88e6d0d2465e0df4 |
|
MD5 | 657de6e1e8664d5f8aad6acd7c517552 |
|
BLAKE2b-256 | 61b9a98c7405795586ee60099652621fd8b984b2ec5139896fe3115604eacca7 |
File details
Details for the file playlist2podcast-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: playlist2podcast-1.1.1-py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7da1fb192ae9168289ec52dc9496775ef68d77f1d32616f668f535b06797ca94 |
|
MD5 | 6c7b528741f8baefc689f90e0e192b07 |
|
BLAKE2b-256 | 0885a02472c95093c86dde356c9108b24e2ef50ee4dad5c7c452d441b6670394 |