winget install --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...
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... |