VideoSpeed - Cut, speed, and boomerang MP4 clips from the CLI
VideoSpeed is an interactive command-line tool for short MP4 edits: pick a folder of videos, cut a time range, change length/speed (percent), and optionally append a boomerang (forward + reverse). Encoding uses FFmpeg; duration probing uses OpenCV.
Package version SSOT: pyproject.toml and src/VideoSpeed/__init__.py (1.0.5). Console entrypoint: video-speed.
Features
- Recursive MP4 discovery under a chosen folder
- Interactive cut (start/end seconds) with invalid-range re-prompt
- Length/speed change (20–200%) with A/V tempo kept in sync
- Optional boomerang (forward then reverse)
- USB-safe intermediate files (staged next to the output) and final publish via
shutil.move --help/--version; bare invoke starts the interactive session (Type N)- Fail-closed when FFmpeg is missing from
PATH
Quick Installation
Prerequisites (system)
- FFmpeg on
PATH(ffmpeg -version) - A supported Python environment (see
requires-pythoninpyproject.toml)
From PyPI (registry channel)
Package name SSOT: VideoSpeed (pyproject.toml [project].name). Upload path: build.sh (twine upload).
pip install VideoSpeed
If the index is behind a local release, install from a checkout or wheel instead (below). Live index version is shown by the PyPI badge above.
From a git checkout (development)
git clone git@github.com:Wilgat/VideoSpeed.git
cd VideoSpeed
pip install -e .
This installs the console script video-speed and pulls Python deps (opencv-python, ChronicleLogger, …).
From a local wheel / sdist
# after: python -m build (or ./build.sh build)
pip install dist/VideoSpeed-1.0.5-py3-none-any.whl
# or
pip install dist/VideoSpeed-1.0.5.tar.gz
Verify
video-speed --version
# or
python -m VideoSpeed --version
Usage
Interactive editor (default):
video-speed
# or
python -m VideoSpeed
- Folder containing MP4s (Enter = current directory)
- Choose a video by number
- Cut start/end seconds
- New length percent (default 100; allowed 20–200)
- Optional boomerang (y/n)
- Output is written next to the source with a descriptive name
Other:
video-speed --help
video-speed --version
Examples
# Install editable, then run interactive session in a folder of clips
cd /path/to/videos
video-speed
# Check identity without starting prompts
video-speed --version
Example output name shape:
clip_cut1.0-5.0s_100pct.mp4
clip_cut1.0-5.0s_50pct_BOOMERANG.mp4
Platform Compatibility
| Platform | Status |
|---|---|
| Linux | Primary (tested in development) |
| macOS / Windows | Expected to work when Python, FFmpeg, and OpenCV are available |
| Filesystems | Local disk and removable/USB volumes supported for output (temps staged beside final path) |
Related Projects
Contributing
Fork the repository, use a checkout install (pip install -e .), and open a pull request. Prefer small, tested changes. Do not strip defensive temp/publish behavior (cross-filesystem shutil.move) without an explicit redesign.
License
MIT License — see LICENSE.md.
Last Update
2026-08-09 — README aligned with product 1.0.5, write-readme detection-driven banners (Version / License / CIAO / Stars / Python / PyPI), and install truth (PyPI + editable + wheel).
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 videospeed-1.0.5.tar.gz.
File metadata
- Download URL: videospeed-1.0.5.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee22e72adaaad7c3f858c095b81fc4ccd7990a86f6c30de2a5e92d2676a33391
|
|
| MD5 |
99aac07f94ee9bc7a8aeaf56eec42fea
|
|
| BLAKE2b-256 |
94d1f9e9f4b386bd9e061d6e900ee5d6b246d5012d73631433f2665178dd047b
|
File details
Details for the file videospeed-1.0.5-py3-none-any.whl.
File metadata
- Download URL: videospeed-1.0.5-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f6810afde220cdd482aab4668266da10eb6b2dc57e2ccd22325f13c373d2798
|
|
| MD5 |
8d09494c93c46e1161785d128b0f8f7f
|
|
| BLAKE2b-256 |
e9ba9cb99b4b0792858dad30bdc542b08fa9aee3dcb9ad96500edeb8ca50651d
|