Skip to main content

CLI tool to encode/decode BMW NBT boot animation (.pdds) files

Project description

CustomNBT-Startup

Made with AI PyPI License: MIT

CLI tool to encode custom boot animations for BMW NBT head units.

Converts MP4 videos into the .pdds format used by the NBT system for startup animations.

Requirements

  • Python 3.11+
  • uv (recommended)
  • LZO compression library (system dependency)

Installing LZO

# macOS
brew install lzo

# Debian/Ubuntu
sudo apt install liblzo2-dev

On macOS you need to export the paths so python-lzo can find the headers:

export C_INCLUDE_PATH=$(brew --prefix lzo)/include
export LIBRARY_PATH=$(brew --prefix lzo)/lib

You can add these to your shell profile to make them permanent.

Installation

# Install from PyPI
pip install custom-nbt-startup

# Or with uv
uv pip install custom-nbt-startup

# Or install from source
uv pip install .

Usage

Run directly with uvx (no install needed)

# From the project directory
uvx --from . nbt-startup encode my_video.mp4

Run with uv run

uv run nbt-startup encode my_video.mp4

Encode command

# Basic usage — outputs <video_name>.pdds
nbt-startup encode video.mp4

# Custom output path
nbt-startup encode video.mp4 -o boot_animation.pdds

# Custom frame count (default: 150)
nbt-startup encode video.mp4 -n 200

Options

Option Description
-o, --output Output .pdds file path (default: <input_stem>.pdds)
-n, --frames Number of frames to extract (default: 150)
-W, --width Frame width in pixels (default: 1280, must be multiple of 4)
-H, --height Frame height in pixels (default: 480, must be multiple of 4)
--version Show version
--help Show help

License

MIT

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

custom_nbt_startup-0.1.0.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

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

custom_nbt_startup-0.1.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file custom_nbt_startup-0.1.0.tar.gz.

File metadata

  • Download URL: custom_nbt_startup-0.1.0.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for custom_nbt_startup-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9839965fb32ff750de4cd5c5bb88d2fb7eca5b00850b81b8d428a9710ec6ccb0
MD5 ae69ad557a8fe300017fa09a7840f0e5
BLAKE2b-256 c2fa227c8473208135cfe5cba9a05c95fe64275491fc4bc88fed454c36bcebba

See more details on using hashes here.

File details

Details for the file custom_nbt_startup-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: custom_nbt_startup-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for custom_nbt_startup-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b67547695481fa14a078c48163b9fbebef9ea7b0ef7e841185ed97601d969e12
MD5 975eb77cda92817996db5f6bc2d959ec
BLAKE2b-256 6e3eee258d8d78e6532b0fd6ded4fd0985a81a1a7b270b9162f0285f72a281fa

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