MeiCam SDK For Web  3.12.1
Public Member Functions | List of all members
NveARSceneRenderer Class Reference

ARScene builtin fx compound renderer By internally downloading and initializing face models, and managing the installation of asset packages, the logic of appling beauty, shape, and makeup is simplified. It also provides starting camera media stream, external input media stream, output media stream, and IndexedDB caching internally. Just configure parameters while initializing, and then set the asset packages' url or other parameters to get the results of beauty, shape, and makeup rendering conveniently. More...

Public Member Functions

async init (config)
 Initialize ARScene renderer by configuration. More...
 
 ensureIndexedDBObject (db, name)
 
 ensureIndexedDBObjects (db)
 
 prepareIndexedDB (name, version)
 
 findFromIndexedDB (name, key, version)
 
 clearCacheOnIndexedDB ()
 Clear cache on IndexedDB. More...
 
 release ()
 Release ARScene renderer, it will stop camera if camera started.
 
async fetchAndWrite (url, filePath, lic=false)
 
 calculatePositionByVertices (position, vertices)
 
 applyEffect (assetUuid, effect, assetType)
 
 preloadEffect (effect)
 Preload effect package. More...
 
 installAndApplyEffect (effect)
 
 installPackageInZip (zipEntry, zipPackageDir, fileName, files)
 
async applyEffectsInZip (effect)
 
 setParams (params)
 
 clearEffectInstanceArray ()
 
 clearEffectInstanceArrayInZip ()
 
 clearEffects ()
 
async resetEffects ()
 
async applyEffects ()
 
 enableBeauty (enable)
 Enable beauty effect or not. More...
 
async setEffectList (effectList)
 Set effect list. More...
 
 getEffectList ()
 Get effect list has been set. More...
 
async appendEffectList (effectList)
 Append effect list. More...
 
 render (inputImageData, timestampMs, renderRect={})
 Rendering effects. More...
 
 createDummyVideoElement (mediaStream)
 
async renderEffectAndCreateOutputStream (inputImageData, renderRect)
 
 pushMediaStream (mediaStream)
 Push media stream. More...
 
async startupCamera (constraints)
 Startup camera. More...
 
 stopCamera ()
 Stop camera.
 
 getOutputStream ()
 Get output stream. More...
 
async createExternalEffectInstance (effect)
 Create external effect instance, including caption, animated sticker, compound caption, video transition and video fx. More...
 
 setExternalEffectInstanceList (effectInstanceList)
 Set external effect instance list. More...
 
 getExternalEffectInstanceList ()
 Get external effect instance list. More...
 
 appendExternalEffectInstance (effectInstance)
 Append external effect instance list. More...
 

Detailed Description

ARScene builtin fx compound renderer By internally downloading and initializing face models, and managing the installation of asset packages, the logic of appling beauty, shape, and makeup is simplified. It also provides starting camera media stream, external input media stream, output media stream, and IndexedDB caching internally. Just configure parameters while initializing, and then set the asset packages' url or other parameters to get the results of beauty, shape, and makeup rendering conveniently.

Member Function Documentation

◆ appendEffectList()

async NveARSceneRenderer::appendEffectList (   effectList)
inline

Append effect list.

Parameters
{}effectList effect list
Returns
{Promise}

◆ appendExternalEffectInstance()

NveARSceneRenderer::appendExternalEffectInstance (   effectInstance)
inline

Append external effect instance list.

Parameters
{}effectInstance External effect instance

◆ clearCacheOnIndexedDB()

NveARSceneRenderer::clearCacheOnIndexedDB ( )
inline

Clear cache on IndexedDB.

Returns
{Promise}

◆ createExternalEffectInstance()

async NveARSceneRenderer::createExternalEffectInstance (   effect)
inline

Create external effect instance, including caption, animated sticker, compound caption, video transition and video fx.

Parameters
{}effect External effect object
Returns
{Promise} In the resolved state, return the effect instance created, such as NveCaption, NveAnimatedSticker, NveCompoundCaption, NveVideoTransition and NveEffectInstance.

◆ enableBeauty()

NveARSceneRenderer::enableBeauty (   enable)
inline

Enable beauty effect or not.

Parameters
{}enable enable

◆ getEffectList()

NveARSceneRenderer::getEffectList ( )
inline

Get effect list has been set.

Returns
{} effect list

◆ getExternalEffectInstanceList()

NveARSceneRenderer::getExternalEffectInstanceList ( )
inline

Get external effect instance list.

Returns
{NveEffectInstance[]} External effect instance list

◆ getOutputStream()

NveARSceneRenderer::getOutputStream ( )
inline

Get output stream.

Returns
{MediaStream} a MediaStream object

◆ init()

async NveARSceneRenderer::init (   config)
inline

Initialize ARScene renderer by configuration.

Parameters
{}config configuration faceModelUrl:face model url, eyecontourModelUrl:eyecontour model url, avatarModelUrl:avatar model url, segmentationModelUrl:segmentation model url, makeupDataUrl:makeup data url, fakefaceDataUrl:fakeface data url, ratio:ratio of effect instance, NveRational object, detectionMode:face detection mode, NveHumanDetectionFeatureEnum type, beautyIntensity:beauty intensity, beautyLutUrl:beauty lut file url, beautyLutIntensity:beauty lut intensity, outputStreamFps:fps of output stream, cacheOnIndexedDB:cache asset package data on IndexedDB or not, workingInRealtimeMode:working in real time mode or not, jszip:JSZip object, using to unzip compound makeup file, printTimeCostAndFps:print time cost of image rendering and fps on console or not, mirror:mirror or not,
Returns
{Promise}

◆ preloadEffect()

NveARSceneRenderer::preloadEffect (   effect)
inline

Preload effect package.

Parameters
{}effect effect object

◆ pushMediaStream()

NveARSceneRenderer::pushMediaStream (   mediaStream)
inline

Push media stream.

Parameters
{}mediaStream media stream

◆ render()

NveARSceneRenderer::render (   inputImageData,
  timestampMs,
  renderRect = {} 
)
inline

Rendering effects.

Parameters
{ImageData|VideoFrame}inputImageData Input image data
{Number}timestampMs Current rendering timestamp in millisecond
Returns
{Promise} Return Promise, reject status with Error string information, and resolve status with {imageBitmap:imageData, spentTime:spentTime}, imageBitmap is output image data, a ImageBitmap object, spentTime is spent time for rendering in millisecond.

◆ setEffectList()

async NveARSceneRenderer::setEffectList (   effectList)
inline

Set effect list.

Parameters
{}effectList effect list
Returns
{Promise}

◆ setExternalEffectInstanceList()

NveARSceneRenderer::setExternalEffectInstanceList (   effectInstanceList)
inline

Set external effect instance list.

Parameters
{}effectInstanceList External effect instance list

◆ startupCamera()

async NveARSceneRenderer::startupCamera (   constraints)
inline

Startup camera.

Parameters
{}constraints constraints
Returns
{Promise}

The documentation for this class was generated from the following file: