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 PMDownloads 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
- Place the
mpv_curve_editorfolder in thempv-lazyroot directory, making surepython.exeexists in the parent directory - Add
input-ipc-server = \\.\pipe\mpvservertompv-lazy\portable_config\mpv.conf - Double-click
mpv-curve-editor.cmd, which starts a local server and opens the browser - Click the curve to add control points and drag to adjust
- Save or load presets from the sidebar
- 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-serverin the MPV configuration before sending
Release history
Sort