https://github.com/abe-101/podcast
automate podcast creation from youtube playlists: download videos, enhance audio, convert to mp3, and publish on captivate.fm.
https://github.com/abe-101/podcast
Last synced: about 1 year ago
JSON representation
automate podcast creation from youtube playlists: download videos, enhance audio, convert to mp3, and publish on captivate.fm.
- Host: GitHub
- URL: https://github.com/abe-101/podcast
- Owner: abe-101
- License: mit
- Created: 2023-07-27T03:30:48.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-30T23:39:44.000Z (over 2 years ago)
- Last Synced: 2025-01-31T12:23:02.969Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 155 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Podcast Automation Project

## Overview
The Podcast Automation project is a Python-based tool that automates the process of creating podcasts from YouTube playlists. It provides a convenient way to download YouTube videos, convert them to MP3, enhance audio quality, and publish the resulting audio files as podcasts on Captivate.fm. The tool allows users to mimic given YouTube playlists and create corresponding podcasts effortlessly.
## Table of Contents
- [Project Description](#podcast-automation-project)
- [Table of Contents](#table-of-contents)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Configuration](#configuration)
- [Dependencies](#dependencies)
- [Contributing](#contributing)
- [License](#license)
## Features
- Download YouTube videos and convert them to high-quality MP3 files.
- Enhance audio quality using an Adobe AI-powered tool (Playwright integration).
- Interact with the Captivate.fm API to upload and publish podcasts with metadata.
- Support for handling multiple YouTube playlists and their corresponding podcasts.
- Automatic generation of short URLs using the TinyURL API for easy sharing.
- Audio processing functions like normalizing volume, combining MP3 files, etc.
## Installation
1. Clone the project repository from GitHub:
```bash
git clone https://github.com/abe-101/podcast.git
```
## Usage
The script will prompt you to select a playlist/podcast from the available options.
It will then fetch the 15 most recent videos from the selected YouTube playlist.
The videos will be converted into podcasts using audio enhancement.
The resulting podcasts will be uploaded and published on Captivate.fm with metadata.
## Configuration
The project uses a configuration file named `config.py` to store data for multiple playlists/podcasts. The configuration file includes information such as API keys, playlist IDs, directory paths, and URLs. You can modify this file to add, remove, or update playlist data as needed.
```python
PODCAST_1 = 0
PODCAST_2 = 1
playlists = [
{
"name": "podcast_1",
"podcast_show_id": "",
"spotify_id": "",
"dir": "",
"apple_url": "",
"rss": "",
"playlist_id": "",
"google_url": "",
"channel_id": "",
},
{
"name": "podcast_2",
"podcast_show_id": "",
"spotify_id": "",
"dir": "",
"apple_url": "",
"rss": "",
"playlist_id": "",
"google_url": "",
"channel_id": "",
},
]
YOUTUBE_API_KEY = ""
CAPTIVATE_USER_ID = ""
CAPTIVATE_API_KEY = ""
IMGUR_CLIENT_ID = ""
IMGUR_CLIENT_SECRET = ""
SPOTIFY_CLIENT_ID = ""
SPOTIFY_CLIENT_SECRET = ""
TINYURL_API_KEY = ""
PLAYWRIGHT_HEADLESS = 'False'
```
## Dependencies
The project utilizes the following Python libraries:
- yt-dlp: For downloading YouTube videos and extracting metadata.
- Playwright: For interacting with the Adobe AI-powered audio enhancement tool.
- requests: For making HTTP requests to the Captivate.fm API and TinyURL API.
- Other standard Python libraries.
## Contributing
Contributions to the Podcast Automation project are welcome! If you find any bugs or want to add new features, please feel free to open an issue or submit a pull request.
## License
This project is licensed under the MIT License. See the [LICENSE](https://github.com/abe-101/podcast/blob/main/LICENSE) file for details.
---
Happy Podcasting! 🎙️