Suositut: Tiedot päivitetty 27. lokakuuta 2026

Kategoriat

Internet1 356
Viestintä321
Ääni ja video898
Grafiikka ja suunnittelu539
Toimisto ja tuottavuus1 124
Kehitystyökalut3 134
Tekoälytyökalut529
Tietoturva ja yksityisyys385
Järjestelmätyökalut3 114
Pelit523
Opiskelu ja tiede239
Verkko ja IT284

bdinfo-rs: vanhemmat versiot ja versiohistoria

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

agentjp Videosoittimet #87 Videosoittimet

bdinfo-rs-ohjelmasta on luettelossa 6 versiota, ensimmäinen 19. kesäkuuta 2026 ja uusin 4.0.0. Jokainen versio linkittää julkaisijan omiin asennustiedostoihin.

2026: 6 6 26
VersioPäivämääräKokoTiedostot
4.0.0Uusin 16. elokuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Release Notes
⚠ BREAKING CHANGES
- core: each layer has one scan entry point again, and it takes the observers. BdRom::open
and BdRom::open_resilient take (root, mode, ScanOptions, scan_files, ScanObservers), and
scan::open_folder / scan::open_iso take the same; the _with and _observed twins
(open_with, open_observed, open_resilient_with, open_resilient_observed,
open_folder_observed, open_iso_observed) are removed. Migration: call the plain name and pass
the bundle — ScanObservers::none() where a caller has no progress callback, no cancel flag, and
no measured observer, ScanObservers::new(&mut progress, &cancel) otherwise, plus
.with_measured(&mut observer) for live snapshots. (#372)
- core: ClipSummary gains a measured: bool field recording whether the measurement pass
demuxed that stream file, so a 0-byte or header-destroyed *.m2ts is reported as short rather
than read as unscanned. Struct-literal construction of a ClipSummary therefore has to name it;
building through fixtures::clip(…) does not. The browser package's Clip mirrors it as
measured, additively on the wire. (#373)
Added
- core: a measured-snapshot observer on the scan API — the full pass emits per-stream byte
tallies and bitrates at chunk boundaries while it reads, so a front-end can fill measured cells
during the scan instead of waiting for the report. (#347, #348)
- gui: the playlist, stream-file, and codec grids tick their measured sizes and bitrates while
the scan runs. (#349)
- wasm: onMeasured streams those snapshots to the page, throttled to at most one a second.
(#350)
- wasm: the demo gains a light theme, chosen by an auto, light or dark setting; auto follows the
operating system. (#381)
- wasm: the demo's scan lifecycle matches the desktop app's — scanning with nothing ticked scans
every listed playlist rather than refusing, a cancelled or failed scan keeps the cells it measured
until the next scan starts, a running scan freezes what names its scan set while the highlighted
row and the live cells stay live, and the progress card carries elapsed and remaining times that
climb through a stall instead of freezing. (#382)
- wasm: the demo gains a disc-info strip — disc title, detected features, disc size in bytes and
in human-readable form, the hidden-tracks note, and the AACS indicator as a badge — plus a
View report that renders the structural zero-bitrate report over the current selection before any
measured scan, a source bar naming the loaded disc, a reveal on the filter hint, and Ctrl+C
copying the highlighted row's disc-relative path. (#383)
- wasm: the demo's progress strip shows an indeterminate state until the scan's first event — a
sweeping bar and a spinner where the percentage sits — instead of reporting a measurement it does
not have yet. (#387)
- core: stream files whose bytes stop before the span the disc declares are detected and named.
Such a file reads to a clean end of file, so nothing is recorded as a read error and every value
measured from it is silently smaller than the disc says; the CLI raises one stderr notice per
short file, the desktop app a banner, and the browser package disc.shortStreamNotices. The
report bytes are unchanged. (#345, #346)
Performance
- core: a caller whose earlier Codecs open already read the codec detail can skip the quick
codec pass (ScanOptions::skip_quick_pass), and can hand a prior open's AACS verdict to the next
one (ScanOptions::aacs_encrypted) instead of re-probing. The desktop app uses both, so its
measured scan no longer re-reads every stream file head — on damaged media each such read can
stall for minutes. (#358)
- core: the demux reads 256 KiB per request in the full pass and 16 KiB in the quick pass, so a
stalled read blocks for less and a cancel takes effect sooner. (#333)
Fixes
- core: a 3D clip whose BDMV/STREAM/SSIF/<clip>.ssif will not open is measured from the plain
*.m2ts instead of being abandoned — the base view is reported, the dependent (MVC) row is not,
and the failure is recorded 
3.0.0 8. elokuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
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 stream file's head,
so every stream carries its full codec description — profile, level, HDR metadata —
without the whole-file demux a measured scan costs. (#286)
- wasm: reportFileName exposes the sanitized BDINFO.<label>.txt filename the CLI
and GUI derive, so browser apps save reports under the identical name. (#286)
- wasm: scans list every playlist, each carrying hiddenBy classification metadata
instead of being withheld by a filter — filtering is the client's choice — and
selection measures an explicit playlist set unfiltered. (#214)
- wasm: the demo gains playlist-filter, report-section, and size-format settings.
(#214, #223)
- wasm: the structured model carries the encrypted-disc flag (isAacsEncrypted).
(#247)
- cli: playlist visibility switches — --show-short-playlists and
--show-looping-playlists with a hidden-playlist hint (#202) — plus
--short-playlist-seconds for the cutoff itself and the --no-stream-diagnostics /
--no-quick-summary report-section switches (#219), on a compacted single-screen
help card (#203).
- gui: encrypted discs are flagged and the scan disabled (#248); playlists hidden by
the filters can be shown with a transient toggle (#204).
- core: the playlist projection, classification, formatting, and selection layer is
part of the public library API, shared by all three front-ends. (#216, #261, #263)
- core: drive-root volume-label recovery moved into the vfs, covering every
front-end. (#262)
Fixes
- Hardening against hostile disc images from the continuous fuzz campaign: the backup
index is used when the primary is unparsable (#245), unknown PMT stream types are
skipped instead of aborting the section (#249), UDF CS0 dstring used lengths are
clamped (#250), chapter-mark timestamps are masked (#251), read_bits4 zero-fills its
past-window tail (#253), and a playlist summary's angle totals are bounded before
allocation (#244). Metadata reads are capped, cutting peak scan memory
(827918c).
- wasm: a shortPlaylistSeconds of zero disables the short-playlist filter instead
of reading as the 20-second default. (#252)
- packaging: the installer metadata names agentjp as the publisher. (#195)
- ci: the 2.0.0 release lanes are repaired — the gui-publish channel matrix, the AUR
and Homebrew checksum legs, gui crate packaging, the AUR deploy's source tree, and the
gui crate's post-release gaps. (#142, #143, #144, #145, #147, #148)
Install bdinfo-rs
2.0.0 20. heinäkuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
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_with and open_resilient_with also take a &AtomicBool cancel flag:
set it from any thread and the scan aborts at its next read chunk with
BdError::ScanCancelled. (#114)
- report: report::text::render_with takes a RenderOptions argument, gating each
playlist's STREAM DIAGNOSTICS and QUICK SUMMARY sections. render is unchanged and
still emits the locked default report with every section on. (#114)
Added
- Desktop app: bdinfo-rs-gui, a native GUI over the same analyzer — open a BDMV folder
or .iso, pick playlists from the familiar three-pane view with draggable splitters and
resizable sortable columns, scan with live progress and cancel, then view, save, or copy the
report. Pure Rust on iced, GPU-accelerated through wgpu with a software fallback; no
webview and no bundled runtime. The report it renders is byte-identical to the CLI's.
Settings, window geometry, theme, and UI scale persist; a per-launch gui.log records the
selected graphics adapter, panics, and otherwise-swallowed errors. (#114)
- Desktop app distribution: gui-v* tags publish their own GitHub Release with twelve
artifacts — per-user .msi and portable .zip for Windows x64/arm64, .dmg for Intel and
Apple Silicon, and .AppImage / .deb / .rpm for Linux x64/arm64 — each covered by
SHA256SUMS and a Sigstore build-provenance attestation. The app is also published to
WinGet (agentjp.bdinfo-rs-gui), a Homebrew cask, the AUR (bdinfo-rs-gui-bin), the
Cloudsmith apt/dnf repository, and crates.io. Installation and the first-launch prompts on
the unsigned Windows and macOS builds are documented in
INSTALL.md. (#132)
- CLI: Ctrl+C during a scan cancels it gracefully and exits with code 130, instead of
killing the process mid-write. (#114)
Fixes
- codec: print the Maximum Content Light Level unit as cd/m2, matching the MaxFALL and
mastering-display luminance lines; the BDInfo lineage spells this one line cd / m2. The
divergence is recorded in DIFFERENCES.md. (#114)
- ci: resolve appimagetool freshness against its highest semver tag (#136), stage the GUI
release downloads outside the tracked assets directory (#134), and compile the Linux
packagers from source on the GUI release legs (#133).
Install bdinfo-rs 2.0.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/agentjp/bdinfo-rs/releases/download/v2.0.0/bdinfo-rs-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/agentjp/bdinfo-rs/releases/download/v2.0.0/bdinfo-rs-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install agentjp/tap/bdinfo-rs
Download bdinfo-rs 2.0.0
────────────────────────────────────────────────┬───────────────────┬─────────────
File │Platform │Checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-aarch64-apple-darwin.tar.gz │Apple Silicon macOS│checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-x86_64-apple-darwin.tar.gz │Intel macOS │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-aarch64-pc-windows-msvc.zip │ARM64 Windows │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-x86_64-pc-windows-msvc.zip │x64 Windows │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-aarch64-unknown-linux-musl.tar.gz │ARM64 MUSL Linux │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-x86_64-unknown-linux-musl.tar.gz │x64 MUSL Linux │checksum
────────────────────────────────────────────────┴───────────────────┴─────────────
Verifying GitHub Artifact Attestations
The artifa
1.2.0 11. heinäkuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
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 via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/agentjp/bdinfo-rs/releases/download/v1.2.0/bdinfo-rs-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install agentjp/tap/bdinfo-rs
Download bdinfo-rs 1.2.0
────────────────────────────────────────────────┬───────────────────┬─────────────
File │Platform │Checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-aarch64-apple-darwin.tar.gz │Apple Silicon macOS│checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-x86_64-apple-darwin.tar.gz │Intel macOS │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-aarch64-pc-windows-msvc.zip │ARM64 Windows │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-x86_64-pc-windows-msvc.zip │x64 Windows │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-aarch64-unknown-linux-musl.tar.gz │ARM64 MUSL Linux │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-x86_64-unknown-linux-musl.tar.gz │x64 MUSL Linux │checksum
────────────────────────────────────────────────┴───────────────────┴─────────────
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo agentjp/bdinfo-rs
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
1.1.0 29. kesäkuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
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 — off the main thread in a Web
Worker, reading a webkitdirectory-picked BDMV folder, or a single .iso
image, synchronously at byte offsets via FileReaderSync, so a multi-GB stream
never has to fit in memory. The rendered report is byte-for-byte the classic disc
report, pinned to its own golden rendered from the same Big Buck Bunny fixture the
native end-to-end test scans (held byte-identical across native, Node, and
headless Chrome and Firefox). No bytes leave the page. (#41)
Bug Fixes
- wasm: spawn the scan Web Worker through a statically analyzable
new Worker(new URL('./worker.js', import.meta.url), { type: 'module' }), so
bundlers (Vite, webpack) detect and emit the worker chunk instead of breaking at
runtime. (#45)
- packaging: ship a complete machine-readable DEP-5 copyright in the .deb
(every bundled license enumerated), satisfying Debian policy. (#31)
Changed
- License: relicensed to LGPL-2.1-or-later (previously declared as the single
LGPL 2.1 version only), matching the upstream BDInfo per-file source headers
("either version 2.1 of the License, or (at your option) any later version"). This
is a documentation/metadata correction: no code changes, and downstream terms are
unchanged except that the "or later" option is now explicitly granted. (#40)
Added
- Attribution: added a root NOTICE and clarified the README to record that
bdinfo-rs is a Rust port of, and derivative work based on, BDInfo (© 2010 Cinema
Squid, LGPL-2.1-or-later) — with the report/analysis baseline ported from
UniqProject/BDInfo and the console flow
following tetrahydroc/BDInfoCLI. (#40)
Install bdinfo-rs 1.1.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/agentjp/bdinfo-rs/releases/download/v1.1.0/bdinfo-rs-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/agentjp/bdinfo-rs/releases/download/v1.1.0/bdinfo-rs-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install agentjp/tap/bdinfo-rs
Download bdinfo-rs 1.1.0
────────────────────────────────────────────────┬───────────────────┬─────────────
File │Platform │Checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-aarch64-apple-darwin.tar.gz │Apple Silicon macOS│checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-x86_64-apple-darwin.tar.gz │Intel macOS │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-aarch64-pc-windows-msvc.zip │ARM64 Windows │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-x86_64-pc-windows-msvc.zip │x64 Windows │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-aarch64-unknown-linux-musl.tar.gz │ARM64 MUSL Linux │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-x86_64-unknown-linux-musl.tar.gz │x64 MUSL Linux │checksum
────────────────────────────────────────────────┴───────────────────┴─────────────
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo agentjp/bdinfo-rs
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
1.0.0 19. kesäkuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
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 index parsing, M2TS demux, and measured per-stream /
per-chapter statistics.
- Pure-Rust, read-only UDF 2.50 reader for .iso input — no libbluray, no
libudfread, no FFI — hardened against hostile images with block-size, extent,
directory-depth, and run caps.
- 13 codec scanners covering the Blu-ray codec set, including HEVC HDR10,
Dolby Vision, and HDR10+ detection.
- The classic human-readable BDInfo disc report as a locked byte contract
(CRLF, UTF-8 without BOM, invariant number spellings), plus the classic
interactive console flow (--list, --mpls, --whole, interactive picker).
- Resilient damaged-disc scan (open_resilient): unreadable files are
collected into a WARNING block and the readable rest is still analyzed
(exit code 3).
- unsafe-free (forbid-den workspace-wide) parser with a no-panic / no-hang
contract on malformed input, held by property tests and continuous fuzzing.
- Reusable parser library crate bdinfo-rs-core behind a documented API,
with the bdinfo-rs CLI as a thin front-end over it.
- Prebuilt static binaries for Windows, Linux, and macOS (x64 and arm64), plus a
multi-arch (linux/amd64 + linux/arm64) scratch-based Docker image. Each
release archive bundles the binary, LICENSE, README, the four shell completions,
and the man page; one-line install scripts (curl … | sh, irm … | iex),
per-archive .sha256 sidecars, an aggregate sha256.sum, and Sigstore
build-provenance attestation accompany every release.
Differences from BDInfo
Where the original BDInfo is provably wrong against the codec specification /
FFmpeg, bdinfo-rs emits the correct value and deliberately diverges (each verified
bit-by-bit, and staying within the existing report vocabulary):
- DTS:X IMAX detection, rendered as DTS:X Master Audio.
- E-AC-3 reduced data-rate handling.
- HDR10+ recognized from the ST 2094-40 SEI alone, decoupled from a mastering
display being present.
- AVC High 4:4:4 Predictive profile (profile 244).
- HEVC profile_idc / mastering-display / HDR10+ gating.
- VC-1 interlaced-field picture-type handling.
- AC-3 low-sample-rate frame-size shift.
- DTS core 1536 kbps bitrate.
Install bdinfo-rs 1.0.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/agentjp/bdinfo-rs/releases/download/v1.0.0/bdinfo-rs-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/agentjp/bdinfo-rs/releases/download/v1.0.0/bdinfo-rs-installer.ps1 | iex"
Download bdinfo-rs 1.0.0
────────────────────────────────────────────────┬───────────────────┬─────────────
File │Platform │Checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-aarch64-apple-darwin.tar.gz │Apple Silicon macOS│checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-x86_64-apple-darwin.tar.gz │Intel macOS │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-aarch64-pc-windows-msvc.zip │ARM64 Windows │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-x86_64-pc-windows-msvc.zip │x64 Windows │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-aarch64-unknown-linux-musl.tar.gz │ARM64 MUSL Linux │checksum
────────────────────────────────────────────────┼───────────────────┼─────────────
bdinfo-rs-x86_64-unknown-linux-musl.tar.gz │x64 MUSL Linux │checksum
────────────────────────────────────────────────┴───────────────────┴─────────────
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh atte

Suosituin kategoriassa Videosoittimet

Näytä kaikki
  1. VLC media playerVideosoittimet · VideoLAN
  2. MPC-HCVideosoittimet · MPC-HC Team
  3. MPV (Official CI build, MSVC)Videosoittimet · MPV
  4. QuickTimeVideosoittimet · Apple Inc.
  5. AudaciousVideosoittimet · Audacious developers
  6. MPC-BEVideosoittimet · MPC-BE Team
  7. K-Lite Codec Pack FullVideosoittimet · KLCP
  8. Google Play Music Desktop PlayerVideosoittimet · Samuel Attard
  9. mpv.netVideosoittimet · Frank Skare (stax76)
  10. ImgBurnVideosoittimet · LIGHTNING UK!

Lisää julkaisijalta agentjp

Näytä kaikki

Tunnisteet

Jaa