pub struct VideoDecoder {}Expand description
Video decoder with static FFmpeg support for frame extraction
Implementations§
Source§impl VideoDecoder
impl VideoDecoder
Sourcepub async fn extract_frames(
&self,
video_path: &str,
) -> Result<Vec<DynamicImage>>
pub async fn extract_frames( &self, video_path: &str, ) -> Result<Vec<DynamicImage>>
Extract all frames from video file
Sourcepub async fn extract_frame(
&self,
video_path: &str,
frame_number: u32,
) -> Result<DynamicImage>
pub async fn extract_frame( &self, video_path: &str, frame_number: u32, ) -> Result<DynamicImage>
Extract specific frame by number (0-indexed) - EFFICIENT VERSION
Sourcepub async fn extract_frame_slow(
&self,
video_path: &str,
frame_number: u32,
) -> Result<DynamicImage>
pub async fn extract_frame_slow( &self, video_path: &str, frame_number: u32, ) -> Result<DynamicImage>
Extract specific frame by number (0-indexed) - DEPRECATED SLOW VERSION
Sourcepub async fn get_video_info(&self, video_path: &str) -> Result<VideoInfo>
pub async fn get_video_info(&self, video_path: &str) -> Result<VideoInfo>
Get video information without extracting frames
Sourcepub async fn extract_frames_range(
&self,
video_path: &str,
start_frame: u32,
end_frame: u32,
) -> Result<Vec<DynamicImage>>
pub async fn extract_frames_range( &self, video_path: &str, start_frame: u32, end_frame: u32, ) -> Result<Vec<DynamicImage>>
Extract frames within a specific range - EFFICIENT VERSION
Sourcepub async fn extract_frames_range_slow(
&self,
video_path: &str,
start_frame: u32,
end_frame: u32,
) -> Result<Vec<DynamicImage>>
pub async fn extract_frames_range_slow( &self, video_path: &str, start_frame: u32, end_frame: u32, ) -> Result<Vec<DynamicImage>>
Extract frames within a specific range - DEPRECATED SLOW VERSION
Trait Implementations§
Auto Trait Implementations§
impl Freeze for VideoDecoder
impl RefUnwindSafe for VideoDecoder
impl Send for VideoDecoder
impl Sync for VideoDecoder
impl Unpin for VideoDecoder
impl UnsafeUnpin for VideoDecoder
impl UnwindSafe for VideoDecoder
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.