pub struct ShrinkOpts {Show 17 fields
pub goal: SizeGoal,
pub video_codec: VideoCodec,
pub audio: AudioChoice,
pub resolution: ResolutionOpt,
pub fps: FpsOpt,
pub quality: QualityPreset,
pub audio_codec: AudioCodec,
pub mono: bool,
pub sample_rate: Option<u32>,
pub vbr: bool,
pub target_vmaf: Option<f64>,
pub output: Option<PathBuf>,
pub two_pass: Option<bool>,
pub dpi: Option<u32>,
pub allow_larger: bool,
pub keep_metadata: bool,
pub hardware: bool,
}Expand description
Compression options passed to the engine — the decoded form of the flags.
Fields§
§goal: SizeGoal§video_codec: VideoCodec§audio: AudioChoiceWhat to do with the audio track inside a video.
resolution: ResolutionOpt§fps: FpsOpt§quality: QualityPreset§audio_codec: AudioCodecCodec for a pure-audio input.
mono: boolDownmix pure audio to mono.
sample_rate: Option<u32>Force a sample rate (Hz) for pure audio; None keeps the source rate.
vbr: boolPrefer VBR where the codec supports it.
target_vmaf: Option<f64>Target VMAF: in quality mode, search CRF for the smallest output that
still scores at least this. None disables VMAF-aware encoding.
output: Option<PathBuf>Explicit output path; when None the engine derives one.
two_pass: Option<bool>Force two-pass on or off for a size-targeted video encode. None lets
the engine decide (two-pass whenever it encodes to a bitrate budget).
Some(true) is only meaningful in bitrate mode — a CRF encode has no
budget for a first pass to measure.
dpi: Option<u32>Target resolution (dots per inch) for raster images embedded in a document, measured at the size they are placed on the page. Only the document engines act on it — the media engine ignores it, as pixels in a video have no physical size.
allow_larger: boolAllow a quality-mode result that is not smaller than the source. Off by default: re-encoding an already-compact lossy file only loses quality, so the engine keeps the original instead (sample-predicted for video, bitrate-compared for audio, and checked after every encode).
keep_metadata: boolCarry the source’s metadata over (creation date, location, camera —
QuickTime keys included) and its modification time. On by default;
false strips metadata from the output.
hardware: boolEncode video with Apple’s hardware encoder (VideoToolbox) when this Mac
has it — ~3–5× faster and a fraction of the memory, for a larger file
(see QualityPreset::default_hw_quality). Off by default; ignored for
AV1 and where media::hardware_encoding_available is false.