Convert online media into podcast feeds.
Project description
Podmaker
Convert online media into podcast feeds.
Features
- Extract audio from online videos.
- No need to deploy web services.
- Generate podcast feeds.
- Deploy with watch mode to keep feeds up-to-date.
Dependencies
This tool uses ffmpeg to extract audio from videos. Ensure it's installed within $PATH
before using this tool.
Additionally, you should install extra dependencies according to your requirements:
podmaker[all]
: Install all extra dependencies.podmaker[s3]
: Install dependencies for S3 storage.podmaker[youtube]
: Install dependencies for YouTube.
Install multiple extra dependencies simultaneously using podmaker[extra1,extra2,...]
.
Configuration
Before diving into this tool, craft a configuration file, a TOML file to be precise.
By default, the file resides at ${WORK_DIR}/config.toml
. Customize the path using the -c
or --config
option.
An example configuration file can be found at config.example.toml.
Usage
Systemd
Deploy this tool in the background with systemd (requires root privileges):
# create virtual environment
apt install python3 python3-venv
mkdir -p /opt/podmaker && cd /opt/podmaker
python3 -m venv venv
# install podmaker
./venv/bin/pip install "podmaker[all]"
# create and edit config file
curl -o config.toml https://raw.githubusercontent.com/YogiLiu/podmaker/main/config.example.toml
vim config.toml
# create systemd service
curl -o /etc/systemd/system/podmaker.service https://raw.githubusercontent.com/YogiLiu/podmaker/main/systemd/podmaker.service
systemctl daemon-reload
# enable and start service
systemctl enable podmaker
systemctl start podmaker
Manual
Using pip
For the optimal experience, we recommend installing this tool within a virtual environment.
pip install "podmaker[all]"
Using pipx
pipx install "podmaker[all]"
Run
podmaker -c path/to/config.toml
or
python -m podmaker -c path/to/config.toml
Roadmap
Platforms
- YouTube
- Playlist
- Channel
- BiliBili
Resource Hosting
- S3
- Local
Contributing
Your contributions are invaluable. Feel free to submit pull requests.
Before committing, ensure your changes pass unit tests and autohooks
.
To activate autohooks
, use the following command:
poetry run autohooks activate --mode poetry
This process will automatically lint, format, and sort code imports.
When introducing new features, remember to provide corresponding tests.
License
For licensing details, refer to LICENSE.
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.