Local browser app for dataset video trimming and cropping
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
minicut-0.1.1.tar.gz
(22.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
minicut-0.1.1-py3-none-any.whl
(31.5 kB
view details)
File details
Details for the file minicut-0.1.1.tar.gz.
File metadata
- Download URL: minicut-0.1.1.tar.gz
- Upload date:
- Size: 22.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5db52a154be89aa76973f07b0cdb9bea3a5c59aafe534cc7723cd76da013873d
|
|
| MD5 |
b03047a8a8c759136a71429c6915bdb3
|
|
| BLAKE2b-256 |
c74af9470a2e73d26ebb47566daf5a24ffce4161755935c87a8b42b0a541d049
|
File details
Details for the file minicut-0.1.1-py3-none-any.whl.
File metadata
- Download URL: minicut-0.1.1-py3-none-any.whl
- Upload date:
- Size: 31.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a710021d000b86ff3dcf97f1b52e6ffef197b227ababb49b5ef606870b69b27
|
|
| MD5 |
6a34a2c7d61d1be3aedaa9c882916736
|
|
| BLAKE2b-256 |
54dce82a80d108115dcb1b89bfbb661a268f4934288c2d3df70716e362070e3e
|