pub struct KeyframeStrategy {
pub target_chunks: usize,
pub min_chunk_duration: Duration,
pub timeout_multiplier: f64,
}Expand description
Split media at keyframe boundaries (for lossless video splitting).
Attempts to place chunk boundaries on keyframes to avoid re-encoding at split points.
Fields§
§target_chunks: usizeTarget chunk count (will adjust based on available keyframes).
min_chunk_duration: DurationMinimum chunk duration (avoids tiny chunks).
timeout_multiplier: f64Timeout multiplier per chunk.
Implementations§
Source§impl KeyframeStrategy
impl KeyframeStrategy
Sourcepub fn with_target_chunks(self, count: usize) -> Self
pub fn with_target_chunks(self, count: usize) -> Self
Set the target number of chunks.
Trait Implementations§
Source§impl ChunkStrategy for KeyframeStrategy
impl ChunkStrategy for KeyframeStrategy
Source§fn plan(
&self,
metadata: &MediaMetadata,
boundaries: &[ChunkBoundary],
) -> AppResult<ChunkedOperation>
fn plan( &self, metadata: &MediaMetadata, boundaries: &[ChunkBoundary], ) -> AppResult<ChunkedOperation>
Plan chunk boundaries for the given media. Read more
Source§fn min_duration(&self) -> Option<Duration>
fn min_duration(&self) -> Option<Duration>
Minimum duration below which chunking is not worthwhile.
Returns
None if this strategy always chunks.Auto Trait Implementations§
impl Freeze for KeyframeStrategy
impl RefUnwindSafe for KeyframeStrategy
impl Send for KeyframeStrategy
impl Sync for KeyframeStrategy
impl Unpin for KeyframeStrategy
impl UnsafeUnpin for KeyframeStrategy
impl UnwindSafe for KeyframeStrategy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more