Skip to content

freshollie/abridge

Repository files navigation

abridge

pipeline status coverage report PyPI version Code style: black

Effortlessly shorten videos.

About

abridge can automatically shorten video files by removing parts from the video where not much happens. This is great for making timelapse videos more engaging and removes the need for manual editing to cut these dead spots from the videos.

Installation

pip install abridge

abridge makes use of moviepy, which releys on ffmpeg. ffmpeg should be installed when the package is installed, but this may not work on some systems.

Docker

adbridge can be run as a docker image, which gaurentees it will run on all systems.

docker pull freshollie/abridge:latest

docker run freshollie/abridge

Usage

usage: abridge [-h] [-w workers] [-o outdir] [-t diff-threshold]
               [-r repetition-threshold]
               clip [clip ...]

Effortlessly shorten videos

positional arguments:
  clip                  Clip to cut or glob group

optional arguments:
  -h, --help            show this help message and exit
  -w workers            Number of clip processors
  -o outdir
  -t diff-threshold     Difference threshold required between frames for a
                        frames to be considered different
  -r repetition-threshold
                        Number of frames in a row required to make a cut

Api

from abridge import abridge_clip

abridge_clip("/path/to/clip")

Developing

The abridge project is managed and packaged by poetry

Use poetry install to download the required packages for development

poetry run pre-commit install should be run to install the pre-commit scripts which help with ensuring code is linted before push.

Tests

Tests are written with pytest and can be run with make test

Linting

abridge is linted with pylint and formatted with black and isort

mypy is used throughout the project to ensure consitent types.

make lint will check linting, code formatting, and types

make format will format code to required standards

TODO:

  • Test coverage on processor

License

MIT