Console Interface - Musfiq0/enhanced-screens-comparison GitHub Wiki

⌨️ Console Interface (Interactive CLI)

The Console Interface provides an interactive, user-friendly command-line experience with guided prompts and step-by-step configuration. Perfect for users who prefer the terminal but want assistance through the comparison process.

🚀 Console Interface Overview

The Console Interface (comparev2.py) offers:

  • Interactive prompts with guided setup
  • Step-by-step configuration for all options
  • Full feature access through menu-driven interface
  • Beginner-friendly with helpful explanations
  • Same powerful backend as GUI and Advanced CLI

🚀 Launching the Console

Quick Access Methods

# Option 1: Use the launcher (Recommended)
START_HERE.bat
# Choose: "2. ⌨️ Run Console Version"

# Option 2: Direct launch (Interactive mode)
python comparev2.py

# Option 3: Information commands
python comparev2.py --help      # Show usage information
python comparev2.py --demo      # Show detected backends
python comparev2.py --version   # Show version information

🎯 Console Interface Features

Interactive Setup Process

The console guides you through:

  1. Backend Detection - Automatically detects VapourSynth and other processing libraries
  2. Mode Selection - Choose between Multiple Sources or Source vs Encode
  3. Video Selection - Add videos with guided file path entry
  4. Configuration - Interactive setup for each video's settings
  5. Processing - Real-time progress updates and status
  6. Upload Options - Optional slow.pics upload with collection naming

Information Commands

System Information

# Check available backends and system capabilities
python comparev2.py --demo

Example Output:

[INFO] Detecting available video processing libraries...
[OK] VapourSynth detected and imported successfully
[OK] awsmfunc detected and imported successfully
[MODE] Using VapourSynth mode (high-quality video processing)

Available processing backends:
✅ VapourSynth - High-quality video processing (Recommended)
✅ OpenCV - Reliable fallback processing
✅ PIL - Basic image processing

System capabilities:
- Video formats: MP4, MKV, AVI, MOV, WMV, FLV, WEBM, M4V
- Processing: Crop, resize, trim, padding
- Upload: slow.pics integration

Version Information

# Show version and basic usage
python comparev2.py --version

Help Information

# Show complete usage information
python comparev2.py --help

🎮 Interactive Workflow

Step-by-Step Process

1. Launch and Mode Selection

[🎬] Enhanced Screenshot Comparison Tool - Console Mode
[INFO] Using VapourSynth processing backend

Choose comparison mode:
1. Multiple Sources (compare different releases)
2. Source vs Encode (compare original vs encoded)

Enter your choice (1-2): 1

2. Video Selection

[📁] Multiple Sources Mode Selected

Enter video file path (or 'q' to finish): C:\Videos\netflix.mkv
[✅] Video added: netflix.mkv

Enter video file path (or 'q' to finish): C:\Videos\bluray.mkv  
[✅] Video added: bluray.mkv

Enter video file path (or 'q' to finish): q
[INFO] 2 videos added for comparison

3. Video Configuration

[⚙️] Configuring video 1/2: netflix.mkv

Display name for this video [netflix]: Netflix
Available crop presets:
1. No crop
2. 2.35:1 letterbox
3. 1.85:1 letterbox
4. Streaming platform logos
5. Custom crop

Select crop preset (1-5): 4
Target resolution:
1. Keep original
2. 1080p
3. 720p
4. Custom

Select resolution (1-4): 2

4. Frame Selection

[🎯] Frame Selection Options

1. Interval-based (automatically select frames at intervals)
2. Custom frames (specify exact frame numbers)

Choose method (1-2): 1

Interval in seconds [300]: 300
Number of screenshots [10]: 10

[INFO] Will capture frames every 300 seconds, total: 10 screenshots

5. Processing

[🔄] Starting screenshot generation...

Processing netflix.mkv:
[🔄] Applying crop preset: Streaming platform logos
[🔄] Resizing to 1920x1080
[🔄] Extracting frame 5000 (1/10) - 10.0%
[🔄] Extracting frame 10000 (2/10) - 20.0%
...
[✅] netflix.mkv complete

Processing bluray.mkv:
[🔄] Processing frame 5000 (1/10) - 10.0%
...
[✅] All videos processed successfully

[📊] Screenshot generation complete:
[✅] Successfully generated: 20/20 screenshots
[📁] Saved to: C:\Projects\Screenshots\

6. Upload Options

[🌐] Upload Options

Would you like to upload to slow.pics? (y/n): y
Collection name: Netflix vs Blu-ray S01E01
Episode type:
1. Single episode
2. Season pack

Choose type (1-2): 1

[🔄] Uploading screenshots to slow.pics...
[✅] Upload successful!
[🌐] Collection URL: https://slow.pics/c/abc123
[INFO] Opening in browser...

🎛️ Available Features

Processing Options

  • Crop Presets: Extensive library for common scenarios
  • Custom Crop: Precise coordinate control
  • Resolution Presets: 480p to 4K options
  • Custom Resolution: Specific width x height
  • Trim Support: Start/end time adjustment
  • Padding: Add frames before/after trim points

Upload Integration

  • slow.pics Upload: Direct integration with automatic naming
  • Collection Management: Organized upload with proper titles
  • Episode Support: Single episode or season pack options
  • Browser Integration: Automatic opening of results

Error Handling

  • File Validation: Checks for valid video formats
  • Path Verification: Ensures files exist and are accessible
  • Processing Validation: Catches and reports processing errors
  • Upload Retry: Handles network issues gracefully

🔧 Advanced Usage Tips

Batch Processing

While the console is interactive, you can streamline repetitive tasks:

  • Prepare file paths in advance
  • Use consistent naming for easier organization
  • Group similar videos for batch configuration

Quality Settings

  • Use VapourSynth when available for best quality
  • Choose appropriate resolution based on source material
  • Apply crop presets for consistent results

Upload Strategy

  • Use descriptive collection names for easy identification
  • Group related comparisons in single uploads
  • Include episode/season information for organization

🆚 Console vs Other Interfaces

Console Interface Advantages

  • Guided process with helpful prompts
  • No GUI required - works over SSH/remote
  • Full feature access without complexity
  • Great for learning the tool's capabilities

When to Use Console vs Others

  • Console: Learning the tool, guided setup, remote access
  • GUI: Visual interface preference, drag & drop workflow
  • Advanced CLI: Automation, scripting, batch processing

🐛 Troubleshooting Console Issues

Common Problems

Video Loading Errors

# Test video accessibility
python comparev2.py --demo
# Check if file path is correct and accessible

Processing Errors

# Verify VapourSynth installation
python -c "import vapoursynth; print('VapourSynth available')"
# Console automatically falls back to OpenCV if needed

Upload Failures

# Test network connectivity
python -c "import requests; print(requests.get('https://slow.pics').status_code)"
# Use retry option or upload manually later

Performance Tips

  • Close other applications during processing
  • Use SSD storage for faster I/O
  • Ensure adequate RAM for large videos
  • Install VapourSynth for best performance

The Console Interface provides the perfect balance between ease of use and powerful functionality, making it ideal for users who want full control without the complexity of command-line arguments.