Strip unused languages from mkv files en mass
Project description
Nudebomb
The Nudebomb recursively strips matroska media files of unwanted audio and subtitle tracks.
📰 News
You may find user focused nudebomb changes in the NEWS file.
🕸️ HTML Docs
HTML formatted docs are available here
📦 Installation
Requirements
Widely available via homebrew, apt or your favorite package manager..
Install
pip install nudebomb
⌨️ Use
Posix
Strip languages that are not English and French from an entire directory tree:
nudebomb -rl eng,fre /mnt/movies
Show possible stripping actions on a single movie without doing anything:
nudebomb -dvvl eng movie.mkv
Stripping languages except eng, und.
Searching for MKV files to process:
Checking movie.mkv
audio: 1 eng
audio: 2 eng
audio: 3 eng
subtitles: 4 eng
subtitles: 5 eng
Already stripped movie.mkv
done.
Windows
nudebomb -b C:\\Program/ Files\MKVToolNix\mkvmerge.exe -rl eng,jap \\nas\movies
🎛️ Configuration
You may configure Nudebomb options via the command, a yaml config file and environment variables.
Environment variable format
Prefix environment variables with NUDEBOMB_NUDEBOMB__ and enumerate lists
elements:
NUDEBOMB_NUDEBOMB__RECURSE=True
NUDEBOMB_NUDEBOMB__LANGUAGES__0=und
NUDEBOMB_NUDEBOMB__LANGUAGES__1=eng
⌨️ Lang Files
While you may have a primary language, you probably want videos from other countries to keep their native language as well. Lang files let you do this.
Lang files are persistent files on disk that nudebomb parses to keep to all languages in them in the mkvs in the current directory and all mkvs in sub directories.
Valid lang file names are: 'lang', 'langs', '.lang', or '.langs' They include
comma separated list of languages to keep like the -l option.
e.g. You may have an entire collection of different TV shows with a root lang
file containing the eng language. Under that directory you may have a specific
TV show directory with lang file containing jpn. All mkvs in season
directories under that would then keep both the eng and jpn languages, while
other TV shows would keep only eng languages.
For each mkv file, nudebomb looks up the directory tree for each parent lang file and uses the union of all languages found to determine what languages to keep.
APIs
Langfiles would be obsolete if nudebomb could determine native languages for mkv files by polling and caching results from major online media databases. It's the right thing to do, but I don't care to implement it. Patches or forks welcome.
💡 Inspiration
Nudebomb is a radical fork of mkvstrip. It adds recursion, lang files, timestamps and more configuration to mkvstrip and fixes some minor bugs.
🛠️ Development
Nudebomb code is hosted at Github
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 nudebomb-0.4.9.tar.gz.
File metadata
- Download URL: nudebomb-0.4.9.tar.gz
- Upload date:
- Size: 5.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8d788ed2f11611955727f9f7a440faeec2ee992e1cc73650fd21cc51a145353
|
|
| MD5 |
24749789320b71185e97f71c5dcc7342
|
|
| BLAKE2b-256 |
acf66e3f46003cd08bd18dacb1d73fc631d68c9c4b8f28e019b6a466e9e893a0
|
File details
Details for the file nudebomb-0.4.9-py3-none-any.whl.
File metadata
- Download URL: nudebomb-0.4.9-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4057c0090c75cce628a44eb924b6623ae5188f879cbc0d246577dadc2ace83b6
|
|
| MD5 |
2aa0896a5d78466fc8913b86e04a256c
|
|
| BLAKE2b-256 |
9a6dc98c853bf1c4d9d2a8d67970fff7ff83b136422d5502e68688068d6e1eed
|