Skip to content

BradHeff/HoffUI_Encoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

HoffUI FFMPEG Encoder

A powerful, AI-enhanced video encoding application with intelligent system optimization
Explore the docs ยป

Report Bug ยท Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Features
  5. Roadmap
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgments

About The Project

HoffUI Encoder Screenshot HoffUI Encoder Screenshot HoffUI Encoder Screenshot

HoffUI FFMPEG Encoder is a sophisticated, user-friendly video encoding application that combines the power of FFmpeg with intelligent AI analysis and automatic system optimization. Designed for both beginners and professionals, it provides an intuitive GUI interface while leveraging advanced algorithms to deliver optimal encoding results.

Key Features

๐ŸŽฏ AI-Powered Analysis - Uses OpenAI models to analyze video content and recommend optimal encoding settings ๐Ÿ”ง Smart System Detection - Automatically detects and optimizes for your hardware capabilities ๐ŸŽจ Modern GUI - Beautiful, responsive interface with tabbed settings and real-time monitoring โšก Hardware Acceleration - Supports CUDA, VAAPI, QSV, and other hardware acceleration methods ๐Ÿ“Š Real-Time Progress - Live encoding progress with detailed system information ๐ŸŽฌ Batch Processing - Encode multiple files or entire folders with drag-and-drop support ๐Ÿ”„ Thread Management - Intelligent multi-threading with automatic optimization ๐Ÿ“ Format Support - Handles 14+ video formats including MP4, AVI, MKV, MOV, and more

(back to top)

Built With

  • Python
  • tkinter
  • FFmpeg
  • OpenAI

(back to top)

Getting Started

To get HoffUI Encoder up and running on your system, follow these steps:

Prerequisites

Required Software:

  • Python 3.8+ - The application runtime
  • FFmpeg - Video encoding engine
    • Ubuntu/Debian: sudo apt install ffmpeg
    • Windows: Download from FFmpeg Official Site
    • macOS: brew install ffmpeg

Optional:

  • OpenAI API Key - For AI-powered encoding optimization
  • CUDA-compatible GPU - For hardware acceleration (NVIDIA)

Installation

Method 1: Clone and Run (Recommended)

# Clone the repository
git clone https://github.com/BradHeff/HoffUI_Encoder.git
cd HoffUI_Encoder

# Create virtual environment (recommended)
python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run the application
python3 usr/lib/hoffui_encoder/main.py

Method 2: Debian Package (Ubuntu/Debian)

# Build and install package
cd usr/lib/hoffui_encoder
chmod +x build-apt
./build-apt

# Install the generated .deb package
sudo dpkg -i ../../hoffui_encoder_*.deb
sudo apt-get install -f  # Fix dependencies if needed

# Run from anywhere
hoffui_encoder

(back to top)

Usage

HoffUI Encoder provides multiple ways to encode your videos:

Quick Start

  1. Launch the application
  2. Select input: Click "Select File" or "Select Folder" (or drag & drop)
  3. Choose output directory: Click "Browse" to set destination
  4. Configure settings: Adjust codec, quality, and resolution in the tabs
  5. Start encoding: Click "Start Encoding"

Interface Overview

Main Tabs:

  • ๐ŸŽฅ Video Settings: Codec, quality (CRF), preset, resolution
  • ๐Ÿ”Š Audio Settings: Codec, bitrate, sample rate
  • โš™๏ธ Advanced: Custom FFmpeg parameters, filters
  • ๐Ÿ–ฅ๏ธ System: Real-time hardware monitoring and optimization
  • ๐Ÿค– AI Analysis: Enable intelligent content analysis (requires API key)

AI-Enhanced Encoding

  1. Set OpenAI API Key in settings
  2. Enable AI Analysis checkbox
  3. Select videos - AI analyzes content complexity, motion, and details
  4. Automatic optimization - AI recommends optimal CRF and preset values
  5. Start encoding with AI-optimized settings

Batch Processing

  • Folder Selection: Recursively finds all supported video files
  • Maintains Structure: Preserves folder hierarchy in output
  • Progress Tracking: Individual file progress with overall completion
  • Error Handling: Automatic fallback for problematic files

(back to top)

Features

๐ŸŽฌ Video Processing

  • 14+ Supported Formats: MP4, AVI, MKV, MOV, WMV, FLV, WebM, M4V, 3GP, MPG, MPEG, TS, VOB, OGV
  • Multiple Codecs: H.264, H.265, VP9, VP8, AV1 support
  • Quality Control: CRF-based quality settings (0-51 range)
  • Resolution Scaling: Original, 4K, 1080p, 720p, 480p, 360p presets
  • Custom Presets: Ultrafast to Veryslow encoding presets

๐Ÿ”Š Audio Processing

  • Audio Codecs: AAC, MP3, Opus, Vorbis, AC3
  • Bitrate Control: Configurable audio bitrate (64k-320k)
  • Sample Rate: Automatic detection and custom settings
  • Audio Passthrough: Preserve original audio when desired

๐Ÿš€ Performance Optimization

  • Hardware Acceleration:
    • CUDA (NVIDIA GPUs)
    • VAAPI (Intel/AMD on Linux)
    • QSV (Intel Quick Sync)
    • OpenCL, Vulkan, DRM support
  • Intelligent Threading: Auto-detects optimal thread count (4-32 threads)
  • System Detection: Real-time CPU, RAM, GPU monitoring
  • Dynamic Optimization: Adjusts settings based on system load

๐Ÿค– AI Intelligence

  • Content Analysis: Analyzes video complexity, motion, grain, details
  • Smart Recommendations: AI suggests optimal CRF and preset values
  • Quality Prediction: Estimates output quality vs file size
  • Scene Detection: Identifies scene changes for optimal encoding
  • Batch Intelligence: AI analyzes each file individually for best results

๐ŸŽจ User Experience

  • Modern Interface: Clean, responsive ttkbootstrap-based GUI
  • Drag & Drop: Intuitive file and folder selection
  • Real-Time Progress: Live encoding progress with ETA
  • System Monitoring: Live CPU, RAM, temperature displays during encoding
  • Toast Notifications: Non-intrusive status updates
  • Error Handling: Graceful failure recovery with detailed logging

๐Ÿ› ๏ธ Advanced Features

  • Custom FFmpeg Args: Direct FFmpeg parameter control
  • Fallback System: Automatic retry with conservative settings
  • Directory Structure: Maintains folder hierarchy in output
  • Concurrent Processing: Parallel file analysis and encoding
  • Debug Mode: Detailed logging for troubleshooting
  • Profile Management: Save/load encoding configurations
  • Resource usage analytics: Opens window to monitor resource usage during encoding

(back to top)

Roadmap

๐Ÿš€ Version 2.0 - Enhanced AI & Performance

  • Advanced AI Models

    • Local AI inference (no API key required)
    • Custom ML models for specific content types
    • Real-time quality prediction
    • Automatic scene-based encoding
  • Performance Improvements

    • Multi-GPU encoding support
    • Distributed encoding across network nodes
    • Advanced memory management
    • GPU memory optimization

๐ŸŽฏ Version 1.5 - User Experience

  • Enhanced Interface

    • Dark/Light theme toggle
    • Customizable workspace layouts
    • Advanced progress visualization
    • Real-time preview window
  • Workflow Improvements

    • Encoding queue management
    • Scheduled encoding tasks
    • Encoding templates/profiles
    • Batch configuration wizard

๐Ÿ”ง Version 1.3 - Extended Functionality

  • Format & Codec Expansion

    • AV1 hardware acceleration
    • HDR10/Dolby Vision support
    • Advanced subtitle handling
    • Multi-track audio processing
  • Integration Features

    • Cloud storage integration (AWS S3, Google Drive)
    • Docker containerization
    • REST API for automation
    • Command-line interface (CLI)

๐Ÿ› ๏ธ Version 1.2 - Quality of Life

  • Configuration Management

    • Import/Export settings
    • Preset sharing community
    • Auto-update system
    • Backup/restore configurations
  • Monitoring & Analytics

    • Encoding history tracking
    • Performance benchmarking
    • Quality metrics dashboard
    • โœ… Resource usage analytics

๐Ÿ› Current Focus (v1.0.x)

  • โœ… FFmpeg parameter optimization
  • โœ… Hardware acceleration fixes
  • โœ… System detection improvements
  • โœ… AI analysis error handling
  • ๐Ÿ”„ Memory leak prevention
  • ๐Ÿ”„ Cross-platform compatibility testing
  • ๐Ÿ”„ Comprehensive error logging
  • ๐Ÿ”„ Performance profiling tools

๐Ÿ“ Community Requests

Vote on features at our GitHub Discussions

  • Web-based remote interface
  • Mobile companion app
  • Video comparison tools
  • Automatic quality assessment
  • Integration with media servers (Plex, Jellyfin)

See the open issues for a full list of proposed features and known issues.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Ways to Contribute

  • ๐Ÿ› Report Bugs - Help us identify and fix issues
  • ๐Ÿ’ก Feature Requests - Suggest new functionality
  • ๐Ÿ“ Documentation - Improve guides and examples
  • ๐Ÿ”ง Code Contributions - Add features or fix bugs
  • ๐Ÿงช Testing - Help test on different systems
  • ๐ŸŒ Translations - Make the app accessible worldwide

Development Setup

# Fork and clone your fork
git clone https://github.com/YOUR_USERNAME/HoffUI_Encoder.git
cd HoffUI_Encoder

# Create development environment
python3 -m venv .venv
source .venv/bin/activate

# Install development dependencies  
pip install -r requirements.txt
pip install -r requirements-dev.txt  # If available

# Create feature branch
git checkout -b feature/AmazingFeature

# Make changes and test
python3 usr/lib/hoffui_encoder/main.py

# Commit and push
git commit -m 'Add some AmazingFeature'
git push origin feature/AmazingFeature

Pull Request Process

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Test your changes thoroughly
  4. Update documentation if needed
  5. Commit your Changes (git commit -m 'Add some AmazingFeature')
  6. Push to the Branch (git push origin feature/AmazingFeature)
  7. Open a Pull Request

(back to top)

License

Distributed under the GNU General Public License. See LICENSE for more information.

(back to top)

Contact

Brad Heffernan - Lead Developer

Project Links:

(back to top)

Acknowledgments

Special thanks to the amazing open source community and these fantastic projects:

Supporting Libraries

  • psutil - System and process monitoring
  • Pillow - Image processing for GUI elements
  • pathlib - Modern path handling

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published