Lightweight media crop and trim tool.
Project description
Cropbox
A lightweight desktop utility for trimming, cropping, previewing, and exporting video and GIF media.
Features
- MP4, MOV, MKV, WebM, and GIF preview
- Interactive crop overlay with draggable edges and handles
- Ctrl-drag crop handles to preserve the crop aspect ratio
- Live resize, 90° rotation, and horizontal/vertical flip previews
- Toggleable crop-coordinate and trim time/frame annotations
- Timeline trim in/out selection
- Exact timeline viewport start/end for precision trimming
- Draggable gray viewport handles alongside the yellow trim handles
- Exact trim-in and trim-out entry by timecode or frame number
- Dockable Info panel for editing playback, trim, and crop values
- Frame stepping and trim-handle nudging from the keyboard
- Playback speed control for preview and export
- Export dialog with format, size, quality, and audio presets
- Remembered export settings and output folder
- FFmpeg export to MP4, MOV, and GIF
- Headless CLI export with media, trim, and crop options
- Python 3.8–3.12
- PySide6 desktop UI
Requirements
- Python 3.8 through 3.12
ffmpegffprobe
CropBox checks for ffmpeg and ffprobe on startup and provides install guidance from Help -> Install FFmpeg.
Typical install on Ubuntu/Debian:
sudo apt install ffmpeg
Controls
- Space: play/pause
- Ctrl+I: toggle the Info panel
- Left/Right: step one frame
- Shift+Left/Right: nudge selected trim handle by one frame
- Ctrl+Left/Right: nudge selected timeline viewport handle by one frame
- Ctrl+Shift+D: open Resize
- Ctrl+Shift+L/R: rotate left/right 90°
- Ctrl+Shift+U: rotate 180° (upside down)
- Ctrl+Shift+H/V: toggle horizontal/vertical flip
- Ctrl+Shift+0: reset transforms
Menus
- File: Open, Export, Quit
- Edit: Set Trim In, Set Trim Out, Reset Trim, Reset Timeline, Create Crop, Reset Crop, Playback Speed, Loop Playback
- Transform: Resize, Rotate Left/Right/180°, Flip Horizontal/Vertical, Reset Transform
- View: Info Panel, Show Annotations
- Help: Install FFmpeg, About Cropbox
Install
Install the latest release from PyPI:
pip install cropbox
Or install from a local source checkout:
pip install .
Run
cropbox
Open media immediately:
cropbox input.mp4
Open with initial trim and crop values:
cropbox input.mp4 --trim-in 12.5 --trim-out 00:00:20.000 --crop 100 50 1280 720
Export directly without opening the UI:
cropbox big_buck_bunny_1080p_h264.mov -o big_buck_bunny.mp4
Export with trim and crop values:
cropbox input.mp4 --out output.mp4 --trim-in 12.5 --trim-out 20 --crop 100 50 1280 720
CLI Options
-o, --out PATH: export directly to MP4, MOV, or GIF without opening the UI-f, --force: overwrite an existing--outfile--trim-in: initial trim-in time in seconds orHH:MM:SS.mmm--trim-out: initial trim-out time in seconds orHH:MM:SS.mmm--crop X Y WIDTH HEIGHT: initial crop rectangle in source pixels
Notes
- Playback speed affects both preview and export.
- Resize, rotation, and flip transforms are previewed live and applied to MP4, MOV, and GIF exports.
- Edit-stage resize is applied after crop; export size presets can optionally resize the transformed result again.
- Headless export defaults to the full media duration when
--trim-outis omitted. - Export size presets preserve the cropped aspect ratio and report the resulting dimensions.
- High, Balanced, and Smaller File presets control H.264 quality or GIF palette size.
- Exact trim-in and trim-out values can also be entered from the Edit menu.
- Press Enter in an Info panel field to apply current time/frame, playback FPS, trim, timeline viewport, or crop changes.
- Timeline Start and End zoom the visible timeline, but cannot exclude the trim range; expanding trim automatically expands the timeline viewport.
- Gray viewport-handle drags preview against the current timeline and apply on mouse release.
- Reset Timeline restores the full media duration.
- The playhead is constrained to the active trim range.
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
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
File details
Details for the file cropbox-0.1.6.tar.gz.
File metadata
- Download URL: cropbox-0.1.6.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92ea4b4fbe29aca6dbd5184c9c7bb93680f7ae1be225b0c0f1749c234a11bf74
|
|
| MD5 |
e98ee7ee7ffb92c2f17fe3717ce07bc5
|
|
| BLAKE2b-256 |
5969871256110df65644eab3fc5e6736d7ce7b8974b331eeaa8527d88f0f4a56
|
File details
Details for the file cropbox-0.1.6-py3-none-any.whl.
File metadata
- Download URL: cropbox-0.1.6-py3-none-any.whl
- Upload date:
- Size: 40.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73b1c0c73d6af12fcdd68bd2761f93598d3e105e16190cce1d197ef38d861a16
|
|
| MD5 |
6afd15c552a794c8522af319a7329ca7
|
|
| BLAKE2b-256 |
9f98aa759405db5afdef12a0082e0c5198cfd4ebd1998f7a0cd5ff7e6c6853fd
|