cutcutcodec.core.io.scheduler.video_frames_async¶
- cutcutcodec.core.io.scheduler.video_frames_async(stream: StreamVideo, out_fps: Fraction, start_time: Fraction, shape: tuple[int, int], **_) Iterable[FrameVideo][source]¶
Decode the video frames in an over thread for performance.
Parameters¶
- streamcutcutcodec.core.classes.stream_video.StreamVideo
The video stream for extract the frames.
- out_fpsFraction
The 1/step interval for each frame timestamp request.
- start_timeFraction
The frame with timestamp < start_time are ignored.
- shapetuple[int, int]
Transmitted to
mocia.core.classes.stream_video.snapshot.
Yields¶
- cutcutcodec.core.classes.frame_video.FrameVideo
The frame videos in monotonic (non strict) order.
Examples¶
>>> from fractions import Fraction >>> from cutcutcodec.core.filter.video.subclip import FilterVideoSubclip >>> from cutcutcodec.core.generation.video.noise import GeneratorVideoNoise >>> from cutcutcodec.core.io.scheduler import video_frames_async >>> >>> (stream,) = FilterVideoSubclip(GeneratorVideoNoise(0).out_streams, 0, 1).out_streams >>> for frame in video_frames_async(stream, Fraction(10, 1), Fraction(99, 200), shape=(1, 1)): ... frame.time ... Fraction(1, 2) Fraction(3, 5) Fraction(7, 10) Fraction(4, 5) Fraction(9, 10) >>>