Skip to content

leonelpedroza/videoenhancer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Advanced Video Enhancer

A powerful, user-friendly GUI application for video enhancement, upscaling, and format conversion using OpenCV and FFmpeg.

Video Enhancer GUI Platform License

๐ŸŒŸ Features

๐ŸŽจ Video Enhancement

  • Multiple Enhancement Methods:
    • Unsharp Mask (fast sharpening)
    • CLAHE (contrast enhancement)
    • Bilateral Filter (noise reduction)
    • Combined (balanced enhancement)
    • Advanced AI-like processing

๐Ÿ“ Video Upscaling

  • Scaling Options: 0.1x to 10x resolution scaling
  • Interpolation Methods:
    • Bicubic (recommended)
    • Lanczos (highest quality)
    • Linear (fast)
    • Nearest (fastest)

๐Ÿ”„ Format Conversion

  • Supported Formats: AVI, MP4, MOV, MKV, WMV
  • Fast conversion using FFmpeg
  • Audio preservation during processing

๐ŸŽต Audio Features

  • Preserve original audio during enhancement/upscaling
  • Automatic audio merging using FFmpeg
  • Format-specific audio codecs

โš™๏ธ Processing Options

  • Operation Modes:
    • Enhance only (improve quality)
    • Upscale only (increase resolution)
    • Both (enhance + upscale)
    • Convert (format conversion only)

๐ŸŽฏ Range Selection

  • Frame-based range: Process specific frame ranges
  • Time-based range: Process specific time segments
  • Real-time synchronization between frame and time values

๐Ÿ”ง Advanced Controls

  • Pause/Resume/Stop processing
  • Real-time progress monitoring
  • Comprehensive logging with file export
  • Format-specific codec optimization

๐Ÿ“‹ Requirements

System Requirements

  • Python: 3.8 or higher
  • Operating System: Windows, macOS, or Linux
  • Memory: 4GB RAM minimum (8GB recommended)
  • Storage: Space for input and output videos

Dependencies

  • OpenCV (opencv-python)
  • PySide6 (Qt6 GUI framework)
  • NumPy (numerical operations)
  • FFmpeg (optional, for audio preservation and format conversion)

๐Ÿš€ Installation

1. Clone the Repository

git clone https://github.com/yourusername/advanced-video-enhancer.git
cd advanced-video-enhancer

2. Install Python Dependencies

pip install -r requirements.txt

3. Install FFmpeg (Optional but Recommended)

Windows:

  1. Download FFmpeg from ffmpeg.org
  2. Extract and add to PATH, or use:
# Using chocolatey
choco install ffmpeg

# Using winget
winget install ffmpeg

macOS:

# Using Homebrew
brew install ffmpeg

Linux:

# Ubuntu/Debian
sudo apt update
sudo apt install ffmpeg

# CentOS/RHEL/Fedora
sudo dnf install ffmpeg

๐ŸŽฎ Usage

Starting the Application

python video_enhancer_gui.py

Basic Workflow

  1. Select Input Video: Click "Browse" to choose your video file
  2. Choose Output Format: Select desired output format (MP4, AVI, etc.)
  3. Select Operation: Choose enhancement, upscaling, both, or conversion
  4. Configure Settings: Adjust enhancement method and scaling options
  5. Set Range (Optional): Process entire video or specific segments
  6. Enable Audio Preservation: Check "Preserve Audio" if desired
  7. Start Processing: Click "Start" and monitor progress

Operation Modes

๐ŸŽจ Enhance Only

  • Improves video quality without changing resolution
  • Faster processing, maintains file size
  • Good for sharpening, noise reduction, contrast improvement

๐Ÿ“ Upscale Only

  • Increases resolution using interpolation
  • Creates larger, potentially clearer images
  • May introduce artifacts with poor source quality

๐Ÿš€ Both (Recommended)

  • Enhances quality first, then upscales
  • Best quality results but slower processing
  • Maximum improvement for most videos

๐Ÿ”„ Convert

  • Format conversion only using FFmpeg
  • Fastest option, preserves original quality
  • Perfect for format compatibility

Enhancement Methods

Method Speed Quality Best For
Unsharp Mask โšกโšกโšก โญโญ Slightly blurry videos
CLAHE โšกโšก โญโญโญ Dark/bright area enhancement
Bilateral โšก โญโญโญ Noise reduction
Combined โšกโšก โญโญโญโญ General purpose (recommended)
Advanced โšก โญโญโญโญโญ Maximum quality

๐Ÿ“Š Examples

Basic Enhancement

Input: 720x480 AVI video
Operation: Enhance (Combined method)
Output: 720x480 MP4 with improved quality

Upscaling

Input: 480p video
Operation: Upscale 2x (Bicubic)
Output: 960p video with doubled resolution

Complete Processing

Input: Old 320x240 AVI
Operation: Both (Combined + 3x Lanczos)
Output: 960x720 MP4 with enhanced quality and audio

๐Ÿ”ง Configuration

Logging

  • Enable/Disable: Use checkbox in GUI
  • Auto-save: Logs saved to same directory as input video
  • Manual save: Export logs using "Save Log" button

Audio Preservation

  • Requires FFmpeg: Install FFmpeg for audio features
  • Automatic detection: GUI shows FFmpeg availability
  • Format support: Works with all supported video formats

Performance Tips

  • Use "Combined" enhancement for best quality/speed balance
  • Choose appropriate scaling factors (2x-4x recommended)
  • Process shorter segments for testing settings
  • Enable logging for troubleshooting

๐Ÿ› Troubleshooting

Common Issues

No Audio in Output

  • Solution: Install FFmpeg and enable "Preserve Audio"
  • Check: FFmpeg status indicator in GUI

Processing Fails

  • Check: Log display for detailed error messages
  • Try: Different output format (MP4 recommended)
  • Verify: Input video file is not corrupted

Slow Processing

  • Use: Lower enhancement methods for speed
  • Reduce: Scaling factor if not needed
  • Process: Smaller time ranges for testing

FFmpeg Warnings

  • Application handles codec compatibility automatically
  • Warnings don't affect output quality
  • Check logs for detailed codec information

Getting Help

  1. Check logs for detailed error information
  2. Try different formats (MP4 is most compatible)
  3. Test with shorter videos first
  4. Verify FFmpeg installation for audio features

๐Ÿค Contributing

We welcome contributions! Please feel free to submit:

  • Bug reports with detailed logs
  • Feature requests for new functionality
  • Pull requests with improvements
  • Documentation updates

Development Setup

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • OpenCV for powerful computer vision capabilities
  • PySide6/Qt for the modern GUI framework
  • FFmpeg for audio processing and format conversion
  • NumPy for efficient numerical operations

๐Ÿ“ž Support

If you find this project helpful, please:

  • โญ Star the repository
  • ๐Ÿ› Report bugs in Issues
  • ๐Ÿ’ก Suggest features
  • ๐Ÿ”„ Share with others

About

My very own "Video Enhancer" solution. Made in Python 3.x and Focused on Upscale and Enhance videos

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages