← Package directory
Available on winget

Install bdinfo-rs

Memory-safe, zero-C-dependency Rust Blu-ray disc analyzer — a drop-in BDInfo report tool for BDMV folders and .iso images.

Install with winget
winget install --id agentjp.bdinfo-rs
Upgrade
winget upgrade --id agentjp.bdinfo-rs
Uninstall
winget uninstall --id agentjp.bdinfo-rs

About bdinfo-rs

bdinfo-rs is a memory-safe, statically-linked command-line Blu-ray disc analyzer and a drop-in replacement for the classic BDInfo tool. It scans BDMV folders and .iso images (playlists, clips, M2TS demux) and produces the classic human-readable disc report with per-stream video and audio specs: codecs, measured bitrates, resolution, HDR, Dolby Vision, and HDR10+. It ships as a single static binary with no runtime, no DLLs, and zero C dependencies.

What's new in 3.0.0

Release Notes ⚠ BREAKING CHANGES - wasm: the npm package's string-and-rows API is replaced by a structured disc model: inspect and scan resolve to a Disc — a lossless, typed mirror of the analyzer's output (disc metadata, playlists, streams, chapters, read errors) — and the new renderReport re-renders the classic report from it on demand, byte-identical to the CLI's. The report-string and row-tuple exports are gone. Only the npm surface breaks here; the CLI and report contracts are untouched. (#215, #217) - wasm: every entry point takes one ScanOptions object — inspect previously took a bare positional threshold — and an out-of-domain shortPlaylistSeconds (negative, non-finite, or above 86400) now rejects the call instead of silently scanning with the 20-second default. (#286) - core: AACS-encrypted discs are detected up front, and the CLI refuses to scan them with the new exit code 4; the library exposes the detection and leaves the decision to the caller. (#246) Added - core: stream scans survive read errors: statistics accumulated before a failing read are kept and reported, with the failure still listed in the WARNING block. --drop-partial (CLI), the keep-partial-scans setting (GUI), and keepPartial (npm) opt back into discarding. (#285) - core: one short-playlist threshold contract on every surface: the valid domain is 0 to 86400 seconds, and 0 switches the short rule off. Programmatic surfaces (CLI, npm) reject out-of-domain values; the GUI dialog clamps, and the demo page reverts to its default. (#286) - wasm: a codecs-depth inspect: codecs: true reads just each stre...

Read release notes

Version history

Version Updated Notes
3.0.0 Unknown Release Notes ⚠ BREAKING CHANGES - wasm: the npm package's string-and-rows API is replaced by a structured disc model: inspect and scan resolve to a Disc — a lossless, typed mirror of the analyzer's output (disc metadata...
2.0.0 Unknown Release Notes ⚠ BREAKING CHANGES - core: BdRom::open, open_with, open_resilient, and open_resilient_with take a ScanMode — Metadata, Codecs, or Full — where they previously took a bool selecting the measured pass. open_w...
1.2.0 Unknown Install bdinfo-rs 1.2.0 Install prebuilt binaries via shell script curl --proto '=https' --tlsv1.2 -LsSf https://github.com/agentjp/bdinfo-rs/releases/download/v1.2.0/bdinfo-rs-installer.sh | sh Install prebuilt binaries...
1.1.0 Unknown Release Notes Features - wasm: publish an in-browser build of the analyzer as the npm package @bdinfo-rs/wasm. It runs the FULL measured scan (M2TS demux + per-stream / per-chapter statistics) entirely in the browser — o...
1.0.0 Unknown Release Notes First public release — a memory-safe, single-static-binary drop-in for the classic BDInfo disc report. Added - Analyze Blu-ray discs from a BDMV folder or a .iso image: playlist (MPLS), clip (CLPI), and ind...