Create epic PowerHour videos with ease - now with a graphical interface!
Create your own custom PowerHour mixes effortlessly! This tool can process local video folders or download YouTube playlists, randomly extract one-minute clips from each video, and seamlessly stitch them together with smooth transitions. Perfect for parties, celebrations, or any gathering that needs an hour of non-stop entertainment!
The easiest way to use PowerHour Generator is through the graphical interface:
python powerhour_gui.py๐ Full GUI Documentation โ
For automation and scripting, use the command-line interface:
python powerhour_generator.py /path/to/videos /path/to/transition.mp4 3 output.mp4| Document | Description |
|---|---|
| GUI Quick Start | Installation and setup for the graphical interface |
| User Guide | Comprehensive guide with tutorials and screenshots |
| Architecture | System design and technical documentation |
| Contributing | How to contribute to the project |
| Changelog | Version history and updates |
- ๐ฌ Dual Interface - Choose between GUI or command-line
- ๐ Local Processing - Process folders of video files
- ๐ Online Support - Download and process YouTube playlists
- ๐ต Audio Normalization - Consistent volume across all clips
- ๐ Smooth Transitions - Customizable fade effects between videos
- ๐ Real-time Progress - Visual progress tracking (GUI)
- ๐ฏ Smart Selection - Random 60-second clips from longer videos
- ๐จ Professional Output - Standardized HD video format
- ๐ Real-time progress bars with ETA
- ๐พ Configuration persistence
- ๐๏ธ Preset system for quick settings
- ๐ Comprehensive logging
- ๐ง Expert mode for advanced users
- ๐ Built-in help system
- OS: Windows 10+, macOS 10.14+, or Linux (Ubuntu 18.04+)
- Python: 3.8 or higher
- RAM: 4GB minimum, 8GB recommended
- Storage: 10GB free space
- FFmpeg - Video processing engine
- Python 3.8+ - Runtime environment
- Tkinter - GUI framework (included with Python)
- yt-dlp - YouTube download support (optional)
- psutil - Resource monitoring (optional)
We provide automated installation scripts for all platforms:
# Run PowerShell as Administrator
.\Install_Requirements_Win.ps1chmod +x install_requirements_mac.sh
./install_requirements_mac.shchmod +x install_requirements_deb.sh
sudo ./install_requirements_deb.shClick for detailed manual installation steps
- Windows: Download from python.org
- macOS:
brew install python3 - Linux:
sudo apt install python3 python3-pip
- Windows: Download from ffmpeg.org
- macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpeg
pip install psutil # Optional: for resource monitoring
pip install yt-dlp # Optional: for YouTube supportpython3 --version # Should show 3.8+
ffmpeg -version # Should show FFmpeg version
yt-dlp --version # Should show yt-dlp version (if installed)-
Launch the application:
python powerhour_gui.py
-
Select your video source:
- Browse to a folder with videos, OR
- Paste a YouTube playlist URL
-
Choose a transition clip:
- Select a 3-5 second video for transitions
-
Configure settings:
- Fade duration (0-10 seconds)
- Output location and filename
-
Start processing:
- Click "Start Processing"
- Monitor real-time progress
- Enjoy your PowerHour video!
๐ Detailed GUI Tutorial โ
python powerhour_generator.py [source] [transition] [fade] [output]Parameters:
source: Path to video folder or YouTube playlist URLtransition: Path to transition clip (plays between videos)fade: Fade duration in secondsoutput: Output filename
Example:
# Local videos
python powerhour_generator.py ./videos ./transition.mp4 3 powerhour.mp4
# YouTube playlist
python powerhour_generator.py "https://youtube.com/playlist?list=..." ./transition.mp4 3 powerhour.mp4-
Input Processing
- Scans folder for videos or downloads YouTube playlist
- Validates videos are at least 80 seconds long
-
Audio Analysis
- Analyzes loudness levels of all clips
- Prepares normalization parameters
-
Video Processing
- Randomly selects 60-second segments
- Applies audio normalization
- Adds fade in/out effects
- Scales to HD resolution (1280x720)
-
Assembly
- Inserts transition clips between videos
- Concatenates all clips into final video
- Outputs standardized MP4 file
powerhour-generator/
โโโ powerhour/ # Source code package
โ โโโ __init__.py # Package initialization
โ โโโ powerhour_gui.py # GUI application
โ โโโ powerhour_processor.py # Video processing engine
โ โโโ powerhour_generator.py # CLI application
โ
โโโ tests/ # Test suite
โ โโโ test_gui.py # GUI tests
โ
โโโ docs/ # Documentation
โ โโโ README_GUI.md # GUI quick start
โ โโโ USER_GUIDE.md # Comprehensive user guide
โ โโโ CHANGELOG.md # Version history
โ โโโ CONTRIBUTING.md # Development guide
โ โโโ ARCHITECTURE.md # Technical documentation
โ โโโ RELEASE.md # Release guide
โ โโโ UI_MIGRATION.md # Migration tracker
โ
โโโ scripts/ # Utility scripts
โ โโโ install_requirements_mac.sh # macOS installer
โ โโโ Install_Requirements_Win.ps1 # Windows installer
โ โโโ install_requirements_deb.sh # Linux installer
โ โโโ build.py # Build automation
โ
โโโ assets/ # Static assets
โ โโโ logo.png # Application logo
โ
โโโ .github/ # GitHub configuration
โ โโโ workflows/ # CI/CD workflows
โ โโโ ci.yml # Continuous integration
โ โโโ release.yml # Release automation
โ
โโโ README.md # Project overview (this file)
โโโ setup.py # Package configuration
โโโ requirements.txt # Python dependencies
โโโ LICENSE # MIT license
โโโ Makefile # Build commands
We welcome contributions! Please see our Contributing Guide for:
- Development setup
- Code style guidelines
- Testing procedures
- Pull request process
- โ Full GUI implementation
- โ Threading for non-blocking UI
- โ Real-time progress tracking
- โ Configuration persistence
- โ Comprehensive error handling
- โ Expert mode for power users
See CHANGELOG.md for planned features:
- Batch processing queue
- Video preview thumbnails
- Custom transitions per segment
- Pause/resume capability
- Cloud upload integration
| Problem | Solution |
|---|---|
| "FFmpeg not found" | Ensure FFmpeg is installed and in PATH |
| "No valid videos" | Videos must be at least 80 seconds long |
| Processing is slow | Use "Low Quality" preset or close other apps |
| GUI won't start | Verify Python 3.8+ and Tkinter are installed |
๐ Full Troubleshooting Guide โ
This project is licensed under the MIT License - see the LICENSE file for details.
- FFmpeg - The powerful multimedia framework that makes this possible
- yt-dlp - For YouTube playlist support
- Python Community - For excellent libraries and support
- Contributors - Everyone who has helped improve this project
- ๐ Documentation: Start with the User Guide
- ๐ Issues: Report bugs on GitHub Issues
- ๐ฌ Discussions: Ask questions in GitHub Discussions
- ๐ง Contact: [email protected]
Get Started with GUI โข User Guide โข Contributing โข Architecture
Made with โค๏ธ by Anthony Izzo
Let the party begin! ๐
