pub struct WebpEncodeSettings {
pub quality: u8,
pub max_fps: u32,
pub max_width: Option<u32>,
pub lossless: bool,
pub compression_level: u8,
}Expand description
Encoder settings for the animated WebP cover derived from a clip’s MP4 preview.
The Default is visually transparent lossy: quality 95 at effort
(compression_level) 4. Measurement on real Suno covers showed 95 reaches
~46 dB (indistinguishable from lossless for a cover) at roughly a fifth of
the lossless size, and that effort 6 only matches effort 4’s size for 7-13x
the encode time, so effort is capped at 4. Lossless is opt-in and much
larger (a 5 s cover is ~145 MB versus ~31 MB at quality 95).
Fields§
§quality: u8Lossy encoder quality, 0-100 (higher is better and larger). Ignored when
lossless is set.
max_fps: u32Cap on the output frame rate; a faster source is downsampled to this.
max_width: Option<u32>Optional cap on the output width in pixels: Some(w) scales a wider
source down keeping its aspect ratio (never upscaling), while None
keeps the source resolution.
lossless: boolEncode losslessly. Off by default: lossless animated WebP of real video is intrinsically huge (roughly 30x the lossy source) with no visible gain over quality 95 for a cover.
compression_level: u8Encoder effort, 0-4 (higher is smaller and slower). Capped at 4 because effort 6 yields the same size for many times the encode time.
Trait Implementations§
Source§impl Clone for WebpEncodeSettings
impl Clone for WebpEncodeSettings
Source§fn clone(&self) -> WebpEncodeSettings
fn clone(&self) -> WebpEncodeSettings
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for WebpEncodeSettings
Source§impl Debug for WebpEncodeSettings
impl Debug for WebpEncodeSettings
Source§impl Default for WebpEncodeSettings
impl Default for WebpEncodeSettings
impl Eq for WebpEncodeSettings
Source§impl PartialEq for WebpEncodeSettings
impl PartialEq for WebpEncodeSettings
Source§fn eq(&self, other: &WebpEncodeSettings) -> bool
fn eq(&self, other: &WebpEncodeSettings) -> bool
self and other values to be equal, and is used by ==.