Tools to transcode, inspect and convert videos.
Project description
Vid Cleaner
Tools to transcode, inspect and convert videos. This package provides convenience wrappers around ffmpeg and ffprobe to make it easier to work with video files. The functionality is highly customized to my personal workflows and needs. I am sharing it in case it is useful to others.
Features
- Remove commentary tracks and subtitles
- Remove unwanted audio and subtitle tracks
- Integrate with TMDb and Radarr/Sonarr to determine languages of videos
- Convert to H.265 or VP9
- Convert 4k to 1080p
- Downmix from surround to create missing stereo streams with custom filters to improve quality
- Remove unwanted audio and subtitle tracks, optionally keeping the original language audio track
- Create clips from a video file
- Search for video files under a directory that match specific criteria
Install
Before installing vid-cleaner, the following dependencies must be installed:
To install vid-cleaner, run:
# With uv
uv tool install vid-cleaner
# With pip
python -m pip install --user vid-cleaner
Usage
Run vidcleaner --help to see the available commands and options.
Configuration
Defaults for vid-cleaner are set in the configuration file located at ~/.config/vid-cleaner/config.toml. When vid-cleaner is run, it will create this file if it does not exist. All options can be overridden on the command line.
If you've updated your user config file, the flags for the cli will work in reverse order. For example, if you've set downmix_stereo = true in your user config file, the flag --downmix will actually disable downmixing.
Important: Vid-cleaner makes decisions about which audio and subtitle tracks to keep based on the original language of the video. This is determined by querying the TMDb, Radarr, andSonarr APIs. To use this functionality, you must add the appropriate API keys to the configuration file.
# Languages to keep (list of ISO 639-1 codes)
langs_to_keep = ["en"]
# Keep subtitles matching the local language(s) even when the audio is not in the local language(s)
keep_local_subtitles = false
# Keep commentary audio
keep_commentary = false
# Force dropping local subtitles even if audio is not default language
drop_local_subs = false
# Keep all subtitles
keep_all_subtitles = false
# Drop original language audio if not specified in langs_to_keep
drop_original_audio = false
# Always create a stereo track
downmix_stereo = false
# Save the video after each step (default is to save after all steps are completed)
save_each_step = false
# External services used to determine the original language of a movie or TV show
radarr_api_key = ""
radarr_url = ""
sonarr_api_key = ""
sonarr_url = ""
tmdb_api_key = ""
File Locations
Vid-cleaner uses the XDG specification for determining the locations of configuration files, logs, and caches.
- Configuration file:
~/.config/vid-cleaner/config.toml - Cache:
~/.cache/vid-cleaner
Contributing
See CONTRIBUTING.md for more information.
Project details
Release history Release notifications | RSS feed
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 vid_cleaner-0.6.1.tar.gz.
File metadata
- Download URL: vid_cleaner-0.6.1.tar.gz
- Upload date:
- Size: 107.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47c14f152f01989fa307c829d2e7b3b108770684333b31bf5da1be257838b57c
|
|
| MD5 |
d763a1763b03a25d5a177f99097bd5e8
|
|
| BLAKE2b-256 |
a7da1fca8c67bbfee45ef6a7d363b0ccd652e29e39fd4c1ad6ddcbc5030f2e85
|
File details
Details for the file vid_cleaner-0.6.1-py3-none-any.whl.
File metadata
- Download URL: vid_cleaner-0.6.1-py3-none-any.whl
- Upload date:
- Size: 54.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d39169c287d4967d29a210803d25f493a9f6c58f4e6abf94800decc4a8dd2a5
|
|
| MD5 |
689f3e76464813deed35d5f79107ebfb
|
|
| BLAKE2b-256 |
a852b6f9958c97d7646b1b747096771e65e34960795809e1131dc1a0c56456fb
|