stages.video.clipping.clip_frame_extraction#

Module Contents#

Classes#

ClipFrameExtractionStage

Stage for extracting frames from video clips.

API#

class stages.video.clipping.clip_frame_extraction.ClipFrameExtractionStage#

Bases: nemo_curator.stages.base.ProcessingStage[nemo_curator.tasks.video.VideoTask, nemo_curator.tasks.video.VideoTask]

Stage for extracting frames from video clips.

This class processes video clips through a series of steps including frame extraction, target frame rate selection, and frame extraction signature creation.

extract_purposes: list[nemo_curator.utils.decoder_utils.FramePurpose] | None#

None

extraction_policies: tuple[nemo_curator.utils.decoder_utils.FrameExtractionPolicy, ...]#

()

inputs() tuple[list[str], list[str]]#

Define stage input requirements.

Returns (tuple[list[str], list[str]]): Tuple of (required_attributes, required_columns) where: - required_top_level_attributes: List of task attributes that must be present - required_data_attributes: List of attributes within the data that must be present

lcm_multiple(fps: list[float | int]) float | int#

Compute LCM of a list of fps targets.

name: str#

‘clip_frame_extraction’

num_cpus: int#

3

outputs() tuple[list[str], list[str]]#

Define stage output specification.

Returns (tuple[list[str], list[str]]): Tuple of (output_attributes, output_columns) where: - output_top_level_attributes: List of task attributes this stage adds/modifies - output_data_attributes: List of attributes within the data that this stage adds/modifies

process(
task: nemo_curator.tasks.video.VideoTask,
) nemo_curator.tasks.video.VideoTask#

Process a task and return the result. Args: task (X): Input task to process Returns (Y | list[Y]): - Single task: For 1-to-1 transformations - List of tasks: For 1-to-many transformations (e.g., readers) - None: If the task should be filtered out

setup(
worker_metadata: nemo_curator.backends.base.WorkerMetadata | None = None,
) None#

Setup method called once before processing begins. Override this method to perform any initialization that should happen once per worker. Args: worker_metadata (WorkerMetadata, optional): Information about the worker (provided by some backends)

target_fps: list[float | int] | None#

None

target_res: tuple[int, int] | None#

None

verbose: bool#

False