██████╗ ██████╗ ██╗███╗ ██╗███████╗ ██████╗
██╔══██╗██╔══██╗██║████╗ ██║██╔════╝██╔═══██╗
██████╔╝██║ ██║██║██╔██╗ ██║█████╗ ██║ ██║
██╔══██╗██║ ██║██║██║╚██╗██║██╔══╝ ██║ ██║
██████╔╝██████╔╝██║██║ ╚████║██║ ╚██████╔╝
╚═════╝ ╚═════╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═════╝
Go rewrite of BDInfo.
- Homebrew (macOS):
brew tap autobrr/go-bdinfo https://github.com/autobrr/go-bdinfo
brew install --cask autobrr/go-bdinfo/bdinfo- Go install (requires Go toolchain):
go install github.com/autobrr/go-bdinfo/cmd/bdinfo@latest- Latest release (one-liner, Linux x86_64):
- Replace
linux_amd64withlinux_arm64,darwin_amd64, ordarwin_arm64as needed.
- Replace
curl -sL "$(curl -s https://api.github.com/repos/autobrr/go-bdinfo/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d\" -f4)" | tar -xz -C /usr/local/binRecommended (likely what you want):
bdinfo /path/to/bluray --summaryonly --mainbdinfo /path/to/bluray --summaryonly --main --stdout
bdinfo /path/to/bluray --forumsonly --main
bdinfo /path/to/bluray --main
bdinfo /path/to/bluray --summaryonly
bdinfo update
bdinfo versionPath is required (ISO file or Blu-ray folder).
Report default: BDInfo_{0}.bdinfo (disc label substituted).
Use the exported API package instead of importing internal/*:
package main
import (
"context"
"fmt"
"os"
"github.com/autobrr/go-bdinfo/pkg/bdinfo"
)
func main() {
settings := bdinfo.DefaultSettings(".")
result, err := bdinfo.Run(context.Background(), bdinfo.Options{
Path: "/path/to/disc/or.iso",
Settings: settings,
})
if err != nil {
panic(err)
}
if result.ReportPath == "-" {
fmt.Print(result.Report)
return
}
_ = os.WriteFile(result.ReportPath, []byte(result.Report), 0o644)
}Notes:
Runprocesses a single disc path per call.- The API returns structured metadata (
Result.Disc,Result.Playlists,Result.Scan) and rendered report content (Result.Report). - File writing is caller-owned.
-o, --reportfilename(use-for stdout)--stdout(write report to stdout)--main(only main playlist; likely what you want)-f, --forumsonly(only forums paste block)-s, --summaryonly(only quick summary block; likely what you want)-b, --enablessif(default on; use--enablessif=falseto disable)-l, --filterloopingplaylists-y, --filtershortplaylist(default on; use--filtershortplaylist=falseto disable)-v, --filtershortplaylistvalue(seconds)-k, --keepstreamorder-m, --generatetextsummary(default on; use--generatetextsummary=falseto disable)-q, --includeversionandnotes(default on; use--includeversionandnotes=falseto disable)-j, --groupbytime-g, --generatestreamdiagnostics-e, --extendedstreamdiagnostics(extended HEVC video diagnostics)--progress(print scan progress to stderr)--self-update(update to latest release; release builds only)BDINFO_WORKERSenv var overrides scan worker count (default: 2)
update(same as--self-update)version