Banuba SDK Web AR is delivered as:
BanubaSDK.wasm- low-level high-performance Banuba SDK module compiled to WebAssembly
BanubaSDK.data- face detection neural networks and auxiliary AR data
BanubaSDK.js exports different APIs for Web AR development like Player, Effect, several types of Input and Output.
A generic workflow looks like:
Input -> Player + Effect -> Output
The Player allows to consume different data inputs like webcam or image file, to apply an effect on top of it and to produce an output like rendering to DOM node or an image file.
The Effect allows to consume an effect or a face filter as remote or local archive.
The Input can be one of:
- Image as Blob or URL
- Video as Blob or URl
- 3rd-party MediaStream (like HTMLVideoElement stream or WebRTC stream)
The Output can be one of:
- HTML Element
- Image as Blob
- Video as Blob
- MediaStream that can be used by 3rd-parties (like WebRTC streaming app)
The plenty of input options multiplied by the plenty of output options covers lots of use cases like:
- Photo booth app with realtime webcam video processing and photo capturing
- Photo and video files post-processing app
- P2P video call app with face filter applied
And many more.
Realtime webcam video processing and DOM rendering:
And with screenshot capturing: