BackgroundFilter
@auvious/media-tools / Exports / BackgroundFilter
Class: BackgroundFilter
Generic for input
Implements
Table of contents
Constructors
Properties
- anchor
- backgroundConfig
- canvas
- canvasStream
- counter
- events
- hasUnloaded
- image
- modelFileName
- name
- pipeline
- postProcessingConfig
- rendering
- segmentationConfig
- streamIn
- streamOut
- targetTimePerFrame
- tflite
- useWebGL
- video
Methods
- frameEnd
- genOutput
- getTime
- load
- loadCanvasPipeline
- loadModel
- loadPipeline
- loadWasm
- loadWebGLPipeline
- onOutput
- onUnload
- pause
- play
- render
- setImage
- setInput
- unload
- unsetImage
- whenImageReady
Constructors
constructor
• new BackgroundFilter(timers)
Parameters
| Name | Type |
|---|---|
timers | Timers |
Properties
anchor
• Private anchor: number = 0
backgroundConfig
• Private backgroundConfig: BackgroundConfig
canvas
• Private canvas: CanvasElement
canvasStream
• Private Optional canvasStream: null | MediaStream = null
counter
• Private counter: number = 0
events
• events: Events<IBackgroundFilterEventMap>
hasUnloaded
• Private hasUnloaded: boolean = false
image
• Private image: null | HTMLImageElement = null
modelFileName
• Private modelFileName: string = fullModelFileName
name
• name: string = "background-filter.video"
distinct effect name
Implementation of
pipeline
• Private pipeline: null | RenderingPipeline = null
postProcessingConfig
• Private postProcessingConfig: PostProcessingConfig
rendering
• Private rendering: boolean = false
control the render loop
segmentationConfig
• Private segmentationConfig: SegmentationConfig
streamIn
• Private Optional streamIn: MediaStream
streamOut
• Private streamOut: null | MediaStream = null
targetTimePerFrame
• Private targetTimePerFrame: number = 0
tflite
• tflite: null | TFLite = null
useWebGL
• Private useWebGL: boolean = false
video
• Private video: HTMLVideoElement
Methods
frameEnd
▸ Private frameEnd(): void
Returns
void
genOutput
▸ Private genOutput(): void
Returns
void
getTime
▸ Private getTime(): number
Returns
number
load
▸ load(options): Promise<boolean>
load and initialize models
Parameters
| Name | Type | Description |
|---|---|---|
options | Object | assetsPath: absolute url where wasm and models reside |
options.assetsPath | string | - |
options.image? | HTMLImageElement | onfail triggers if fails to use image |
options.lite? | boolean | - |
options.useWebgl? | boolean | - |
Returns
Promise<boolean>
boolean
loadCanvasPipeline
▸ loadCanvasPipeline(): void
Returns
void
loadModel
▸ Private loadModel(assetsPath): Promise<void>
Parameters
| Name | Type |
|---|---|
assetsPath | string |
Returns
Promise<void>
loadPipeline
▸ Private loadPipeline(): Promise<boolean>
Returns
Promise<boolean>
loadWasm
▸ Private loadWasm(assetsPath): Promise<boolean>
Parameters
| Name | Type |
|---|---|
assetsPath | string |
Returns
Promise<boolean>
loadWebGLPipeline
▸ Private loadWebGLPipeline(): void
Returns
void
onOutput
▸ onOutput(callback): () => void
listen for output changes
Parameters
| Name | Type |
|---|---|
callback | (stream: MediaStream) => void |
Returns
fn
▸ (): void
Returns
void
Implementation of
onUnload
▸ onUnload(callback): () => void
listen for effect removal
Parameters
| Name | Type |
|---|---|
callback | () => void |
Returns
fn
▸ (): void
Returns
void
Implementation of
pause
▸ pause(): void
Returns
void
play
▸ play(): null | MediaStream
plays only if input stream is set
Returns
null | MediaStream
render
▸ Private render(): Promise<void>
Returns
Promise<void>
setImage
▸ setImage(image): Promise<boolean>
Set a background image
Parameters
| Name | Type |
|---|---|
image | HTMLImageElement |
Returns
Promise<boolean>
boolean if succeeded, also triggers onfail event if not
setInput
▸ setInput(stream?): void
Parameters
| Name | Type |
|---|---|
stream? | MediaStream |
Returns
void
Implementation of
unload
▸ unload(): void
Returns
void
unsetImage
▸ unsetImage(): void
Returns
void
whenImageReady
▸ Private whenImageReady(image): Promise<null | Error>
Parameters
| Name | Type |
|---|---|
image | HTMLImageElement |
Returns
Promise<null | Error>