Skip to main content

A very simple tool for removing on-screen text from video, using a user-provided mask

Project description

cleancredits

A very simple tool for removing on-screen text from video, using a user-provided mask.

Dependencies

cleancredits has the following system dependencies:

Installation

  1. Mac OS: Install homebrew and run brew install python-tk to install tkinter bindings.

  2. Install pipx, a package manager for python tools.

  3. Install the latest released version of cleancredits:

    pipx install cleancredits
    

    Or install the latest version from Github:

    pipx install git+https://github.com/BeatriceEagle/cleancredits@main
    

Usage

Generate HSV mask

cleancredits mask [OPTIONS] VIDEO

Generate a mask based on a video clip

Options:

  -s, --start TIMECODE     Start timecode (HH:MM:SS[:frame]) in the input
                           video
  -e, --end TIMECODE       End timecode (HH:MM:SS[:frame]) in the input video
  -i, --input FILE         Input mask. These pixels will always be present in
                           the output mask (unless explicitly excluded).
  -o, --output FILE        Output mask to this location  [required]
  --hue-min INTEGER RANGE  Minimum hue  [0<=x<=179]
  --hue-max INTEGER RANGE  Maximum hue  [0<=x<=179]
  --sat-min INTEGER RANGE  Minimum saturation  [0<=x<=255]
  --sat-max INTEGER RANGE  Maximum saturation  [0<=x<=255]
  --val-min INTEGER RANGE  Minimum value  [0<=x<=255]
  --val-max INTEGER RANGE  Maximum value  [0<=x<=255]
  --grow INTEGER RANGE     Grow amount  [0<=x<=20]
  --bbox-x1 INTEGER RANGE  Bounding box left x  [x>=0]
  --bbox-x2 INTEGER RANGE  Bounding box right x  [x>=0]
  --bbox-y1 INTEGER RANGE  Bounding box top y  [x>=0]
  --bbox-y2 INTEGER RANGE  Bounding box bottom y  [x>=0]
  --gui / --no-gui         Set --no-gui to directly render the mask without
                           displaying the GUI
  --help                   Show this message and exit.

This command will display a graphical interface for modifying a mask that allows isolating part of an image based on hue / saturation / value, as well as a bounding box. You can also manually add or exclude parts of an image.

You can layer combine masks for multiple colors or areas of credits by outputting a mask, then passing that as an --input to the mask command.

Clean credits

cleancredits clean [OPTIONS] VIDEO MASK

Arguments:

  • VIDEO: Path to the video file being cleaned
  • MASK: Path to the mask file. This should be a black and white png, where white indicates areas that will be removed and interpolated.

Options:

  • --start/--end: The start/end timecodes (HH:MM:SS[:frame]) to process from the input video. Default: Start and end of the input video.

  • --radius: The number of pixels the inpaint algorithm uses for interpolation. The default is 3, and this generally gives good results, but if you want to experiment, go wild.

  • --framerate: The framerate (fps) of the video being cleaned. The default is the input framerate.

  • --output PATH: If this flag is selected, the cleaned frames will be remuxed into video and output at the specified PATH. You can omit this option if you want to do your own muxing. cleancredits muxes video using ffmpeg's libx264 codec and yuv420p colorspace, which in testing were found to give the best quality video while also still being recognizable by most editors and players. Outputting as a .mp4 file is recommended.

Example:

# Takes a video.mkv and mask.png from the current directory and outputs
# output.mp4 to the current directory.
cleancredits clean video.mkv mask.png -o output.mp4

Output:

A folder containing all the cleaned frames of the video, and the cleaned video.

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

cleancredits-2.0.0.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

cleancredits-2.0.0-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

Details for the file cleancredits-2.0.0.tar.gz.

File metadata

  • Download URL: cleancredits-2.0.0.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for cleancredits-2.0.0.tar.gz
Algorithm Hash digest
SHA256 e45177b4e74e5a6dca646988570b9632aaf9df0a2135929b50a4e095d440cb6d
MD5 a4fd1aa602106d35e5b1717d8dc24751
BLAKE2b-256 6615c0eba68cc5e82e84bad99faf4fe389d8a8fcd9b9e700fab22c944e3fa6ec

See more details on using hashes here.

File details

Details for the file cleancredits-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: cleancredits-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 26.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for cleancredits-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d84551958efcd6fb44fdf496d57d0021a790a0443665296244b933830d278a82
MD5 702019da4b63821b1d31089cac3b31e8
BLAKE2b-256 e072d2a10bed2f4c3dd5fa49538595391373455d450bdf4a5d1ab325033b3af6

See more details on using hashes here.

Supported by

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