Skip to content

arthur-adriansens/CorridorKey

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

227 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CorridorKey (webUI fork)

Hi! This web UI was made by Arthur Adriansens. I stepped out of my comfort zone (JavaScript, Node.js and Astro) to use Python. The backend uses standard library, together with the already installed packages from CorridorKey, plus fastapi. The project also uses Tailwind CSS for faster development and maintainability.

Special thanks to EZ-CorridorKey for inspiring this project. A big part of the UI explenations are also from EZ-CorridorKey.

UI screenshot

Install

Clone this project:

git clone https://github.com/arthur-adriansens/CorridorKey.git`
cd CorridorKey

Run the install scripts:

  1. Double-click 1. Install_CorridorKey_Windows.bat for Windows

    Info: This will automatically install uv (if needed), set up your Python environment, install all dependencies, and download the CorridorKey model.

    Note: If this is the first time installing uv, any terminal windows you already had open won't see it. The installer script handles the current window automatically, but if you open a new terminal and get "'uv' is not recognized", just close and reopen that terminal.

    Run 1. Install_CorridorKey_Linux_Mac.sh for Linux & Mac

  2. (Optional) Double-click 2. Install_GVM_Windows.bat and 2. Install_VideoMaMa_Windows.bat to download the heavy optional Alpha Hint generator weights.

  3. FFmpeg also needs to be installed:

    https://ffmpeg.org/download.html
    
    # ---OR---
    
    # Windows
    winget install "FFmpeg (Essentials Build)"
    
    # macOS
    brew install ffmpeg
    
    # Ubuntu / Debian
    sudo apt update && sudo apt install -y ffmpeg
    
    # Verify the installation
    ffmpeg -version

  1. Start the server and open the UI by double-clicking on 4. RUN_CorridorKeyUI.bat for Windows

Todo's

  • Make inference work.
    • Make it work (lol).
    • Connect progress and queue to UI
    • Bug where no clips are found (fixed with auto frame pattern detection)
    • Color space (sRGB / linear)
    • Add cuda check
    • Implement custom backend
  • Move original clip in UI to a underlying layer to implement "hold" compare mode
  • A/B compare mode
  • Add a working queue with progress bar as background
  • Add explenation to views and compare modes
  • Clean the 2 README's up.
  • "Starting server" and "Project not found" page
  • Load queue when reloading UI page
  • Display average frames per second processing speed and time estimate for inference
  • Add Linear <-> sRGB converter (see color_utils.linear_to_srgb and srgb_to_linear functions)
  • Add an installer page with secondary server which does not need any installation.
  • gpu_check popups
  • ffmpeg_check (ffmpeg enkel nodig bij frame stitiching => handled die error al)
  • [] webUI update (available) button (git fetch)

Developer notes

Prerequisites

  • Node.js and npm for Tailwind development: Node.js
  • Lucide Icons (for UI icons)

Developer install

Install the Python dependencies:

uv sync --group dev # updates/installs all dependencies + dev tools (pytest, ruff)

This project uses uv to manage Python and all dependencies. uv is a fast, modern replacement for pip that automatically handles Python versions, virtual environments, and package installation in a single step. You do not need to install Python yourself — uv does it for you.

To install tailwindCSS globally:

npm install -g tailwindcss@3 # v4 doesn't really work without a package.json, which I don't want to add

Start the dev server

Start the local server automaticly:

  • start_dev_servers.bat for Windows (will start servers in a minified terminal)

Or start the local server manually:

uv run --extra cuda uvicorn webUI.server.server:app --reload # start the python server (also for development)

To enable tailwind "watching" in a second terminal during development (generates the ouput.css file when you make changes)=

cd webUI && tailwindcss -i static/input.css -o static/styles.css --watch

Questions?

DM Art on Discord, or open an issue on my Git page.

About

A web UI powered version of Perfect Green Screen Keys

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 80.5%
  • HTML 6.4%
  • JavaScript 5.6%
  • CSS 5.4%
  • Shell 1.1%
  • Batchfile 0.8%
  • Dockerfile 0.2%