Convert podcasts and YouTube videos into beautifully formatted eBooks using AI transcription
Perfect for accessibility, learning, and reading on the go. Transform hours of audio content into searchable, portable PDF eBooks with professional formatting.
- OpenAI Whisper integration with multi-language support
- Smart device detection - automatically uses GPU when available
- Quality modes: Fast, Balanced, or Best Quality processing
- Real-time progress tracking with system monitoring
- RSS Podcast Feeds - Any podcast with RSS feed
- YouTube Videos - Single videos or entire playlists
- YouTube Channels - Convert channel content
- Batch Processing - Process multiple URLs from file
- Professional PDF formatting with covers and chapters
- Automatic metadata extraction (title, author, thumbnails)
- Custom licensing and copyright information
- Chapter organization with proper formatting
- One-command setup - Just run and go!
- Real-time progress monitoring with live updates
- Responsive design - Works on desktop and mobile
- Drag & drop URL input with auto-detection
- Perfect for deaf/hard of hearing users
- Reading-preferred content consumption
- Searchable text format for easy navigation
- Screen reader compatible PDF output
- 100% local processing - No data sent to external servers
- Parallel processing - Multi-threaded for speed
- Smart resume - Continue interrupted conversions
- System optimization - Automatic hardware detection
- Python 3.8+ (Download from python.org)
- Node.js (Download from nodejs.org) - Required for YouTube downloads
# 1. Clone the repository
git clone https://github.com/Kehn-Marv/Podlr.git
cd Podlr
# 2. Start the web interface (handles everything automatically!)
cd web-ui
python start_server.pyThat's it! π The web browser will automatically open to http://localhost:5000
The setup script automatically:
- β Creates virtual environment
- β Installs all Python dependencies
- β Downloads and configures FFmpeg
- β Starts the web server
- β Opens your browser
- Open your browser to
http://localhost:5000 - Paste your URL - RSS feed or YouTube link
- Configure options - Quality, language, range
- Start conversion - Watch real-time progress
- Download your eBook - Professional PDF ready!
# Convert a podcast RSS feed
python podlr.py "https://feeds.example.com/podcast.rss"
# Convert YouTube video/playlist
python podlr.py "https://youtube.com/watch?v=VIDEO_ID"
# Advanced options
python podlr.py "https://podcast.rss" \
--start 1 --end 5 \
--preference quality \
--language auto \
--workers 4
# Preview content before converting
python podlr.py --info "https://youtube.com/playlist?list=PLAYLIST_ID"
# Check system dependencies
python podlr.py --checkCreate a text file with URLs (one per line):
# batch_urls.txt
https://feeds.example.com/podcast1.rss
https://youtube.com/watch?v=VIDEO1
https://youtube.com/playlist?list=PLAYLIST1
python podlr.py --batch batch_urls.txt- Fast β‘ - Quick processing, basic accuracy
- Balanced βοΈ - Good speed/quality balance (default)
- Quality π― - Best accuracy, slower processing
- English Optimized πΊπΈ - Faster for English content
- Multilingual π - Supports 99+ languages
- Parallel Workers - Multi-threaded processing (1-8 workers)
- Custom License - Add copyright/license text
- Resume Support - Continue interrupted conversions
- Range Selection - Process specific episodes/videos
- Python 3.8+ with pip
- Node.js (for YouTube downloads)
- 2GB+ RAM (4GB+ recommended)
- Internet connection for downloads
- Input: RSS feeds, YouTube (videos/playlists/channels)
- Output: PDF eBooks with embedded metadata
- Audio: MP3, M4A, WebM (auto-converted)
Podlr automatically selects the best Whisper model based on your hardware:
| Model | Parameters | Memory | Speed | Quality |
|---|---|---|---|---|
| tiny | 39M | ~1GB | 10x | Minimal |
| base | 74M | ~1GB | 7x | Basic |
| small | 244M | ~2GB | 4x | Decent |
| medium | 769M | ~5GB | 2x | Good |
| large | 1550M | ~10GB | 1x | Best |
Podlr/
βββ π podlr.py # Main CLI application
βββ π requirements.txt # Python dependencies
βββ π install.py # Complete installation script
βββ π setup_ffmpeg.py # FFmpeg auto-installer
βββ π web-ui/ # Web interface
β βββ π start_server.py # One-command launcher
β βββ π api.py # Flask backend API
β βββ π index.html # Web interface
β βββ π script.js # Frontend logic
β βββ π styles.css # UI styling
β βββ πΌοΈ assets/ # Images and logos
βββ π docs/ # Documentation
βββ π venv/ # Virtual environment (auto-created)
"No JavaScript runtime found"
# Install Node.js from https://nodejs.org/
# Or use package manager:
# Windows: winget install OpenJS.NodeJS
# macOS: brew install node
# Ubuntu: sudo apt install nodejs npm"FFmpeg not found"
# Run the FFmpeg installer
python setup_ffmpeg.py"Permission denied" on Windows
# Run as Administrator for FFmpeg installation
# Right-click Command Prompt β "Run as administrator"Slow processing
- Use
--preference fastfor speed - Reduce
--workersif system struggles - Check available RAM and disk space
- Check dependencies:
python podlr.py --check - View logs in the web interface
- Check issues on GitHub
- Read documentation in the
docs/folder
- Better error handling for RAM/PC specs detection
- RSS.com support for podcast hosting platform
- Conversion modal UI processing improvements
- Enhanced PDF formatting with better styling
- About documentation section in web UI
- Demo video integration
- Toast notification improvements
- Legal notice display fixes
- Parallel worker limits based on system specs
- Automatic cleanup of processed folders
- Diarization support for speaker identification
- Separate eBook folders for better organization
- Multiple output formats (EPUB, MOBI)
- Cloud storage integration (Google Drive, Dropbox)
- Advanced PDF styling with themes
- Audio chapter detection and splitting
- Subtitle/caption extraction support
- Mobile app for iOS/Android
- Plugin system for extensibility
We welcome contributions! Please see our Contributing Guide for details.
git clone https://github.com/Kehn-Marv/Podlr.git
cd Podlr
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -r requirements.txtThis project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI Whisper - State-of-the-art speech recognition
- yt-dlp - Robust YouTube downloading
- ReportLab - Professional PDF generation
- Flask - Lightweight web framework
- FFmpeg - Universal media processing
Important: This tool is for personal use and educational purposes. Please ensure you have the right to download and convert content. Respect copyright laws and content creators' rights. YouTube's Terms of Service may prohibit downloading videos.
Made with β€οΈ for accessibility and learning
π Star this repo β’ π Report Bug β’ π‘ Request Feature
