Skip to main content

VideoSpeed - Cut, speed, and boomerang MP4 clips from the CLI

Version License CIAO Stars Python PyPI

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-python in pyproject.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
  1. Folder containing MP4s (Enter = current directory)
  2. Choose a video by number
  3. Cut start/end seconds
  4. New length percent (default 100; allowed 20–200)
  5. Optional boomerang (y/n)
  6. 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

videospeed-1.0.5.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

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

videospeed-1.0.5-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

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

Hashes for videospeed-1.0.5.tar.gz
Algorithm Hash digest
SHA256 ee22e72adaaad7c3f858c095b81fc4ccd7990a86f6c30de2a5e92d2676a33391
MD5 99aac07f94ee9bc7a8aeaf56eec42fea
BLAKE2b-256 94d1f9e9f4b386bd9e061d6e900ee5d6b246d5012d73631433f2665178dd047b

See more details on using hashes here.

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

Hashes for videospeed-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4f6810afde220cdd482aab4668266da10eb6b2dc57e2ccd22325f13c373d2798
MD5 8d09494c93c46e1161785d128b0f8f7f
BLAKE2b-256 e9ba9cb99b4b0792858dad30bdc542b08fa9aee3dcb9ad96500edeb8ca50651d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.5 This release

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page