Quick Cut is a Lua script for mpv that marks clips and crops video inside the player, then exports video, audio, animations, images, or subtitles through FFmpeg.
- v1.2
- Published at
- 9d ago
- 4
- Stars
- 9
- Download
- Synced at
- 3d ago
Latest release
v1.2Nov 4, 2026, 02:09 PMREADME
Project Overview
Quick Cut turns the mpv player into a lightweight cutting desk: you drop in and out points while playback continues, and get trimmed video, audio, animations, images, or subtitles out the other end without importing media or creating a project. The script is pure Lua, and the studio, timeline, crop box, and export panel are all drawn on mpv OSD layers. Changing only in and out points uses stream copy by default, finishing in seconds with no quality loss; filters, speed changes, or frame accuracy switch it to re-encoding. Without FFmpeg it falls back to the mpv built-in encoder and greys out what that path cannot do.
| Item | Value |
|---|---|
| Version | v1.2 |
| Host | mpv 0.38 or later |
| External tools | FFmpeg and FFprobe 5.1 or later, optional |
| License | MIT |
| Tested platform | Windows |
Playback, marking, and export all happen in the same window.
Supported Hosts
- mpv native OSC: bind
script-binding quick_cut/cut_menuininput.confto open the studio - uosc: add
button:quick_cuttocontrols=inscript-opts/uosc.conffor a toolbar button - ModernZ and other OSC front ends: bind the same key as with the native OSC, since no specific UI is required
- mpv 0.38 floor: timecode entry depends on
mp.input, so older builds still load the script but lose those input dialogs
Key Features
- Mark while playing:
[and]set in and out points,ENTERadds a clip, and split, delete, reorder, undo, and redo are all available - On-screen cropping: drag a crop box over the video with fixed ratios such as 16:9, 9:16, 4:3, 1:1, 21:9, or a custom rectangle
- Stream copy: changing only in and out points remuxes in seconds, with in points limited by keyframe positions
- Cut-point offset removal: for H.264 sources a short partial re-encode of the opening GOP aligns the copy in point to the exact frame
- Speed export: 0.25x to 4x with
atempocompensation, so audio keeps its pitch - Multiple output types: video, audio, animations, image sequences, contact sheets, single frames, and subtitles each have their own parameters
- Target file size: enter a size and the script derives a bitrate from total duration, defaulting to 50 MB with two-pass encoding
- Session memory: progress is written to
quick_cut_sessions.json, restoring clips and crop the next time you open the file
Install and Enable
- Put the whole
quick_cutfolder into the mpvscripts/directory, orportable_config/scripts/quick_cut/in portable mode - The regular install path is
%AppData%/mpv/scripts/quick_cut/; on macOS and Linux usescripts/inside the config directory - uosc users add
button:quick_cuttocontrols=inscript-opts/uosc.conf - Other front ends write
c script-binding quick_cut/cut_menuintoinput.conf - Copy
script-opts/quick_cut.confinto the mpvscript-opts/folder, edit as needed, and restart mpv - Play a video, then press
cor click the control bar button to enter the studio
Permissions and Scope
- Config writes: only
quick_cut_sessions.jsonand preset files are written in the script folder, leaving existing mpv config untouched - External processes: export launches FFmpeg or an mpv encoder process per clip, with the video encoding window started minimized
- Offline operation: no telemetry or network calls, and icons come from the bundled
fonts/Quickcut_icons.ttf - File protection: existing outputs are never overwritten, since duplicate names get
_cut_1,_cut_2, and so on
Notes
- Keyframe limit: stream-copy in points can only land on keyframes, so use re-encoding or cut-point offset removal when frame accuracy matters
- Missing FFmpeg: without FFmpeg, stream copy, merged export, subtitle export, and two-pass size targeting are unavailable and greyed out
- Subtitle formats: image subtitles such as PGS can only be copied into mkv and cannot be converted to SRT
- Platform testing: development and testing happen on Windows only, and the macOS and Linux adaptation code has not been fully verified