viser

Video Encoding Optimizer — facade crate.
This crate contains no logic of its own. It re-exports each viser library crate
as a module so you can depend on a single viser crate instead of a dozen
viser-* crates.
# everything (default)
= "0.6"
# only what you need
= { = "0.6", = false, = ["quality", "hull"] }
use Metric;
use hull;
Each module is gated behind a feature flag of the same name; all are enabled by
default via the full feature.
| Module | Crate | Purpose |
|---|---|---|
ffmpeg |
viser-ffmpeg |
FFmpeg/FFprobe wrapper |
quality |
viser-quality |
VMAF/PSNR/SSIM measurement |
hull |
viser-hull |
Convex hull (Pareto frontier) and BD-Rate |
ladder |
viser-ladder |
Bitrate ladder selection |
shot |
viser-shot |
Shot/scene detection |
complexity |
viser-complexity |
Spatial/temporal/DCT complexity analysis |
encoding |
viser-encoding |
Shared encoding configuration |
checkpoint |
viser-checkpoint |
Checkpoint/resume support |
pertitle |
viser-pertitle |
Per-title encoding pipeline |
pershot |
viser-pershot |
Per-shot encoding with Trellis allocation |
persegment |
viser-persegment |
Segment-level CRF adaptation |
contextaware |
viser-contextaware |
Device-specific ladder generation |
compare |
viser-compare |
Side-by-side comparison player |
chart |
viser-chart |
Chart generation (R-D curves, hull, ladder) |
Command-line tool
The CLI lives in the separate viser-cli
crate, which installs a viser binary:
License
BSD-2-Clause