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
- Convert to H.265 or VP9
- Convert 4k to 1080p
- Downmix from surround to create missing stereo streams with custom filters to improve quality
- Removes unwanted audio and subtitle tracks, optionally keeping the original language audio track
- Create clips from a video file
Install
Before installing vid-cleaner, the following dependencies must be installed:
To install vid-cleaner, run:
pip install vid-cleaner
Running vidcleaner
for the first time will create a default configuration file in ~/.config/vid-cleaner/config.toml
. Edit this file to configure your default settings.
Usage
Run vidcleaner --help
to see the available commands and options.
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
- Logs:
~/.local/state/vid-cleaner/vid-cleaner.log
- Cache:
~/.cache/vid-cleaner
Contributing
Setup: Once per project
- Install Python 3.11 and uv
- Clone this repository.
git clone https://github.com/natelandau/vid-cleaner
- Install the virtual environment with
uv sync
. - Activate your virtual environment with
source .venv/bin/activate
- Install the pre-commit hooks with
pre-commit install --install-hooks
.
Developing
- This project follows the Conventional Commits standard to automate Semantic Versioning and Keep A Changelog with Commitizen.
- When you're ready to commit changes run
cz c
- When you're ready to commit changes run
- Run
poe
from within the development environment to print a list of Poe the Poet tasks available to run on this project. Common commands:poe lint
runs all linterspoe test
runs all tests with Pytest
- Run
uv add {package}
from within the development environment to install a run time dependency and add it topyproject.toml
anduv.lock
. - Run
uv remove {package}
from within the development environment to uninstall a run time dependency and remove it frompyproject.toml
anduv.lock
. - Run
uv lock --upgrade
from within the development environment to update all dependencies inpyproject.toml
.
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
Built Distribution
File details
Details for the file vid_cleaner-0.3.4.tar.gz
.
File metadata
- Download URL: vid_cleaner-0.3.4.tar.gz
- Upload date:
- Size: 98.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fc0142f37b21ed37f8d10948887f636effe9858d5925a0e533134c8f37a1af4 |
|
MD5 | fd280abd652d4a2cfcf20306d9c51500 |
|
BLAKE2b-256 | 1aabc4fed1d1a779e5eafb8e3edfcf8882dd8897ba18de6a2dbb3976ad8fba7d |
File details
Details for the file vid_cleaner-0.3.4-py3-none-any.whl
.
File metadata
- Download URL: vid_cleaner-0.3.4-py3-none-any.whl
- Upload date:
- Size: 52.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f7cb307c43e499a9ca15e148e8b3e5d55f786d0c057657eecbff0dea35c5b77 |
|
MD5 | 570e84ff4c816b330132fb159d9f45a9 |
|
BLAKE2b-256 | 84e96cb008f604b5ddad6012d2c396868d33ccf729f0feca62999ecf40779869 |