Minicut
Minicut is a local-first browser app for dataset preprocessing. It helps you trim and crop videos in your browser while keeping original files untouched.
What You Can Do
- Browse videos from a workspace folder.
- Trim by start time + duration (seconds or frames).
- Crop with an interactive on-video rectangle (draw, move, resize).
- Set output FPS (default 24).
- Preview trim range before processing.
- Process videos and keep originals unchanged.
- Review processed outputs (preview, open file, delete).
- See useful stats like duration, FPS, resolution, codec, size, and timestamps.
Requirements
- Python 3.11+
- ffmpeg on PATH
- ffprobe on PATH
- uv package manager
Quick Start
uvx minicut
See all available options:
uvx minicut --help
By default Minicut uses:
- workspace: current directory
- output folder:
processed - host:
127.0.0.1 - port:
8765
How To Use
- Launch Minicut and open your workspace videos.
- Select a video from the Workspace Videos list.
- Set trim mode and values:
- Seconds mode: begin second + duration seconds
- Frames mode: begin second + duration frames (at output FPS)
- Adjust crop rectangle on top of the video preview.
- Optionally use preview controls to check the selected trim range.
- Click Run Trim + Crop.
- Review outputs in Processed Videos:
- Preview in-app
- Open file directly
- Delete if needed
Output Behavior
- Original files are never overwritten.
- Output files are written under the output folder in your workspace (default:
processed). - Output naming is collision-safe:
<stem>_processed.mp4<stem>_processed_1.mp4<stem>_processed_2.mp4- ...
Troubleshooting
If Minicut fails to start:
- Verify
ffmpegis installed and on PATH. - Verify
ffprobeis installed and on PATH. - Check that your workspace path exists and is readable.
- Check that the output folder is writable.
If processing fails:
- Confirm trim duration is positive and inside video duration.
- Confirm crop rectangle stays within video bounds.
Notes
- Workspace scanning is currently non-recursive.
- Job state is in-memory; active jobs are not persisted across app restart.
Metadata
Release files for minicut 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| minicut-0.1.1.tar.gz | 22.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| minicut-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.8 kB
Release files / minicut-0.1.1.tar.gz
| Download URL | minicut-0.1.1.tar.gz |
|---|---|
| Size | 22.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5db52a154be89aa76973f07b0cdb9bea3a5c59aafe534cc7723cd76da013873d
|
|
BLAKE2b-256 checksum How to use checksums |
c74af9470a2e73d26ebb47566daf5a24ffce4161755935c87a8b42b0a541d049
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.13
|
Release files / minicut-0.1.1-py3-none-any.whl
| Download URL | minicut-0.1.1-py3-none-any.whl |
|---|---|
| Size | 31.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2a710021d000b86ff3dcf97f1b52e6ffef197b227ababb49b5ef606870b69b27
|
|
BLAKE2b-256 checksum How to use checksums |
54dce82a80d108115dcb1b89bfbb661a268f4934288c2d3df70716e362070e3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.13
|