finds.dev← search

// the find

quietvoid/dovi_tool

★ 963 · Rust · MIT · updated Jun 2026

dovi_tool is a CLI tool combining multiple utilities for working with Dolby Vision.

A Rust CLI for manipulating Dolby Vision RPU metadata — extracting, injecting, converting between profiles, editing per-frame trim data, and generating synthetic metadata from XML or HDR10+. Aimed at enthusiast encoders and home theater video nerds who need to handle DV on content they're encoding or remuxing. Not a consumer tool.

Profile conversion coverage is genuinely useful: FEL→MEL, profile 5/7→8.1/8.4 conversions handle the cases that matter for broad device compatibility. The `dolby_vision` crate ships a C-compatible API (`libdovi`), so other tools (like MakeMKV or media players) can link against it — this is how you end up with real ecosystem adoption. Test suite is serious: binary reference files for each profile and operation, not just happy-path unit tests. Pipe support throughout (`ffmpeg ... | dovi_tool ...`) means it fits naturally into encoding workflows without temp files.

No AV1 Dolby Vision write support — the av1-rpu assets exist in the tree but the tooling is read/parse only, which is a wall if you're encoding AV1 DV content. The editor and generator JSON config formats are underdocumented; the docs are thin and you're essentially reverse-engineering the examples to figure out valid values. No Windows build instructions despite binaries being available via CI artifacts — Linux-first, which matters because most enthusiast encoders run Windows. The `plot` command outputs a PNG but there's no interactive viewer or overlaid frame seek, so debugging metadata issues across a long encode is tedious.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →