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 animated WebP is embedded as the audio file’s front-cover picture. A
FLAC PICTURE block is length-prefixed with a 24-bit field, so a single
picture cannot exceed ~16 MiB; a real 5 s Suno cover at quality 95 with no
width cap is ~31 MiB and would never fit. The Default is therefore a
bounded lossy profile that reliably fits that ceiling: quality 90 at effort
(compression_level) 4, scaled to at most 640 px wide (owner measurement:
~11 MiB, ~30% headroom under the cap; 800 px is ~14.5 MiB with far thinner
margin). Effort is capped at 4 because effort 6 only matches its size for
7-13x the encode time. Lossless is opt-in and far larger (a 5 s cover is
~145 MB), so it fits only the larger MP3/ALAC containers, never FLAC.
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 ==.