Expand description
§viser — Video Encoding Optimizer
This is the facade crate for the viser workspace. It does not contain
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.
Every module is gated behind a feature flag of the same name. All features
are enabled by default via the full feature; disable default features and
opt in to keep your dependency tree small:
# everything (default)
viser = "0.4"
# only what you need
viser = { version = "0.4", default-features = false, features = ["quality", "hull"] }The command-line tool lives in the separate viser-cli crate, which
installs a viser binary: cargo install viser-cli.
§Modules
| 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) |
Re-exports§
pub use viser_ffmpeg as ffmpeg;pub use viser_quality as quality;pub use viser_hull as hull;pub use viser_ladder as ladder;pub use viser_shot as shot;pub use viser_complexity as complexity;pub use viser_encoding as encoding;pub use viser_checkpoint as checkpoint;pub use viser_pertitle as pertitle;pub use viser_pershot as pershot;pub use viser_persegment as persegment;pub use viser_contextaware as contextaware;pub use viser_compare as compare;pub use viser_chart as chart;