Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nudebomb-0.4.9.tar.gz (5.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nudebomb-0.4.9-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

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

Hashes for nudebomb-0.4.9.tar.gz
Algorithm Hash digest
SHA256 e8d788ed2f11611955727f9f7a440faeec2ee992e1cc73650fd21cc51a145353
MD5 24749789320b71185e97f71c5dcc7342
BLAKE2b-256 acf66e3f46003cd08bd18dacb1d73fc631d68c9c4b8f28e019b6a466e9e893a0

See more details on using hashes here.

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

Hashes for nudebomb-0.4.9-py3-none-any.whl
Algorithm Hash digest
SHA256 4057c0090c75cce628a44eb924b6623ae5188f879cbc0d246577dadc2ace83b6
MD5 2aa0896a5d78466fc8913b86e04a256c
BLAKE2b-256 9a6dc98c853bf1c4d9d2a8d67970fff7ff83b136422d5502e68688068d6e1eed

See more details on using hashes here.

Supported by

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