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
>