Interface VideoFrameProcessorPipeline

[[VideoFrameProcessorPipeline]] facilitates video processing by transforming a input MediaStream with an array of VideoFrameProcessor to another MediaStream. It invokes the execution of VideoFrameProcessor in interval specified by framerate.

interface VideoFrameProcessorPipeline {
    framerate: number;
    outputMediaStream: MediaStream;
    processors: VideoFrameProcessor[];
    addObserver(observer: VideoFrameProcessorPipelineObserver): void;
    destroy(): void;
    getActiveOutputMediaStream(): MediaStream;
    getInputMediaStream(): Promise<MediaStream>;
    removeObserver(observer: VideoFrameProcessorPipelineObserver): void;
    setInputMediaStream(mediaStream: MediaStream): Promise<void>;
    stop(): void;
}

Implemented by

Properties

framerate: number

The desired output frame rate.

outputMediaStream: MediaStream

The output MediaStream as a result of processor executions. It is possible, but unlikely, that this accessor will throw.

processors: VideoFrameProcessor[]

Lists of processors to execute to produce output media stream.

Methods

  • Sets the input for the pipeline. An active MediaStream will start the processing steps. To stop the pipeline, null can be passed. To switch MediaSteam, the pipeline must be stopped first.

    Parameters

    • mediaStream: MediaStream

    Returns Promise<void>