amazon-chime-sdk / com.amazonaws.services.chime.sdk.meetings.audiovideo.video.backgroundfilter.backgroundblur / BackgroundBlurVideoFrameProcessor

BackgroundBlurVideoFrameProcessor

class BackgroundBlurVideoFrameProcessor : 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

<init>

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

BackgroundBlurVideoFrameProcessor(logger: Logger, eglCoreFactory: EglCoreFactory, context: Context, configurations: BackgroundBlurConfiguration?)

Properties

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.

var configurations: BackgroundBlurConfiguration?

contentHint

Content hint for downstream processing

val contentHint: VideoContentHint

Functions

addVideoSink

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

fun addVideoSink(sink: VideoSink): Unit

getBackgroundBlurredBitmap

fun getBackgroundBlurredBitmap(inputBitmap: Bitmap, frame: VideoFrame): Bitmap?

onVideoFrameReceived

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

fun onVideoFrameReceived(frame: VideoFrame): Unit

release

fun release(): Unit

removeVideoSink

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

fun removeVideoSink(sink: VideoSink): Unit