Skip to main content

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

  1. Launch Minicut and open your workspace videos.
  2. Select a video from the Workspace Videos list.
  3. Set trim mode and values:
    • Seconds mode: begin second + duration seconds
    • Frames mode: begin second + duration frames (at output FPS)
  4. Adjust crop rectangle on top of the video preview.
  5. Optionally use preview controls to check the selected trim range.
  6. Click Run Trim + Crop.
  7. 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 ffmpeg is installed and on PATH.
  • Verify ffprobe is 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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

minicut-0.1.1-py3-none-any.whl (31.5 kB view details)

Uploaded Python 3

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

Hashes for minicut-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5db52a154be89aa76973f07b0cdb9bea3a5c59aafe534cc7723cd76da013873d
MD5 b03047a8a8c759136a71429c6915bdb3
BLAKE2b-256 c74af9470a2e73d26ebb47566daf5a24ffce4161755935c87a8b42b0a541d049

See more details on using hashes here.

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

Hashes for minicut-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2a710021d000b86ff3dcf97f1b52e6ffef197b227ababb49b5ef606870b69b27
MD5 6a34a2c7d61d1be3aedaa9c882916736
BLAKE2b-256 54dce82a80d108115dcb1b89bfbb661a268f4934288c2d3df70716e362070e3e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page