Byakuya-Rinne

mpv_curve_editor

MPV Curve Editor is a browser-based graphical tool that generates MPV's curves filter command in real time by dragging control points to adjust video grayscale mapping.

v0.0.1
Published at
Jun 30, 2026
2
Stars
0
Download
Synced at
13d ago

Latest release

v0.0.1Jun 30, 2026, 01:06 PM
Downloads slow? Switch the source anytime above

README

Project Overview

MPV Curve Editor brings Photoshop-style curve editing into the browser, letting you drag control points to adjust the video's input-to-output grayscale mapping. It generates MPV's curves filter command in real time, which you can copy manually or send straight to a running MPV over IPC. The tool is a single HTML page and needs no backend apart from the send feature.

Tune MPV's grayscale in real time, just like editing curves in a photo editor.

Key Features

  • Drag to shape the curve: adjust the grayscale mapping curve by dragging control points
  • Smooth interpolation: Catmull-Rom interpolation automatically generates 64 evenly spaced mapping points
  • Unlimited presets: add, delete, and rename presets, and save or load any curve
  • Command generation: automatically outputs an MPV command in the vf set "curves=all=..." format
  • Real-time sync: the curve and the command update together as you drag
  • One-key send: sends the command straight to MPV through named-pipe IPC
  • Built-in presets: ships with two default configurations for gamma2.4 and gamma2.2

Target Audience

  • Users of MPV who want fine-grained color adjustment
  • AV enthusiasts doing grayscale calibration
  • Users who would rather not hand-write curves parameters

Quick Start

  1. Place the mpv_curve_editor folder in the mpv-lazy root directory, making sure python.exe exists in the parent directory
  2. Add input-ipc-server = \\.\pipe\mpvserver to mpv-lazy\portable_config\mpv.conf
  3. Double-click mpv-curve-editor.cmd, which starts a local server and opens the browser
  4. Click the curve to add control points and drag to adjust
  5. Save or load presets from the sidebar
  6. Click "Copy command" to paste into MPV, or "Send to MPV" to apply it directly

Core Advantages

  • What you see is what you get: each dragged curve becomes an MPV command instantly, so no repeated parameter guessing
  • Zero-dependency interface: a single HTML page runs on its own, and copying commands needs neither Python nor IPC
  • Reusable presets: tuned curves save as presets you can switch and share anytime
  • Send and apply: with IPC configured, push to the playing MPV in one click

System Requirements

Item Requirement
OS Windows (for the Send to MPV feature)
Browser Modern browsers such as Chrome, Edge, and Firefox
Optional Python 3.x and MPV (when using Send to MPV)
MPV config input-ipc-server = \\.\pipe\mpvserver

Notes

  • When only copying the command, just open the HTML file; neither Python nor MPV IPC is needed
  • "Send to MPV" relies on Windows named pipes and is unavailable on non-Windows platforms
  • Enable input-ipc-server in the MPV configuration before sending

Release history

Sort