BackgroundBlurVideoFrameProcessor

class BackgroundBlurVideoFrameProcessor @JvmOverloads constructor(logger: Logger, eglCoreFactory: EglCoreFactory, context: Context, var configurations: BackgroundBlurConfiguration?) : VideoSource, VideoSink

BackgroundBlurVideoFrameProcessor Draws frames to RGBA, converts to CPU, identifies the foreground person and blurs the background of a video frame.

Parameters

logger

: Logger - Logger to log the data.

eglCoreFactory

: EglCoreFactory - Factory to create EglCore objects to hold EGL state.

context

: Context - Context to create blur and segmentation processor.

configurations

: BackgroundBlurConfiguration - BlurStrength - how much blur to apply to a frame. It specifies blurValue that corresponds to blur radius used in gaussian blur. It accepts a float value from 0 to 25, where higher the number more blurrier the image will be.

Constructors

Link copied to clipboard
constructor(logger: Logger, eglCoreFactory: EglCoreFactory, context: Context, configurations: BackgroundBlurConfiguration?)

Properties

Link copied to clipboard
open override val contentHint: VideoContentHint

Content hint for downstream processing

Functions

Link copied to clipboard
open override fun addVideoSink(sink: VideoSink)

Add a video sink which will immediately begin to receive new frames.

Link copied to clipboard
Link copied to clipboard
open override fun onVideoFrameReceived(frame: VideoFrame)

Receive a video frame from some upstream source. The VideoSink may render, store, process, and forward the frame, among other applications.

Link copied to clipboard
fun release()
Link copied to clipboard
open override fun removeVideoSink(sink: VideoSink)

Remove a video sink which will no longer receive new frames on return