@jaak.ai/video-camera v1.3.1
video-camera Component
This component provides an interface for accessing the user's webcam and displaying the video stream in a <video>
element. It also allows pausing, resuming, and stopping the video stream, as well as accessing the video stream object and camera object.
Properties
Property | Type | Description |
---|---|---|
config | Object | Configuration for the video camera component. |
config.width | string | Width of the video element. Default: '100%'. |
config.height | string | Height of the video element. Default: 'auto'. |
config.enableMicrophone | boolean | Indicates whether the microphone should be enabled along with the camera. Default: false. |
config.showMessages | boolean | Indicates whether error messages should be shown. Default: false. |
config.messageDetail | string | Details of the error message. |
Events
streamStatus
: Fired when the video stream status changes.componentError
: Fired when an error occurs in the component.
Methods
pauseStream()
: Pauses the video stream.resumeStream()
: Resumes the video stream.stopStream()
: Stops the video stream.getVideoStream()
: Returns the video element if camera access permission has been granted.getStream()
: Returns the video stream.
Usage Example
<video-camera
config={{
width: '640px',
height: '480px',
enableMicrophone: true,
showMessages: true,
messageDetail: 'Error accessing the camera',
}}
onStreamStatus={(event) => handleStreamStatus(event.detail)}
onComponentError={(event) => handleComponentError(event.detail)}
></video-camera>
video-camera-recorder Component
This component extends the functionality of the video-camera
component by adding recording capabilities. It allows users to start, stop, and pause video recording, as well as capture snapshots from the video stream.
Properties
Property | Type | Description |
---|---|---|
config | VideoCameraConfig (optional) | Configuration for the video camera recorder component. See below for details. |
VideoCameraConfig
Property | Type | Description |
---|---|---|
width | string | Width of the video element. Default: '100%'. |
height | string | Height of the video element. Default: 'auto'. |
enableMicrophone | boolean | Indicates whether the microphone should be enabled along with the camera. Default: false . |
showMessages | boolean | Indicates whether error messages should be shown. Default: false . |
messageDetail | string | Details of the error message. |
cameraSource | user or environment | Soruce of the camera, as frontal face camera or default camera. |
videoFormat | string | Type of media file format |
video | MediaTrackConstraints | Use this property to set video constrains on record. |
validateCamera | boolean | Use this property to authenticate cameras(reject virtual cameras). |
Events
streamStatus
: Fired when the video stream status changes.componentError
: Fired when an error occurs in the component.
Methods
startRecording()
: Promise -> Starts recording the video stream.stopRecording()
: Promise -> Stops recording the video stream and returns the recorded video as a Base64 string.startTimedRecording(seconds: number)
: Promise -> Starts recording the video stream for a specified duration in seconds and returns the recorded video as a Base64 string.resumeStream()
: Resumes the video stream playback.pauseStream()
: Pauses the video stream playback.stopStream()
: Stops the video stream playback.takeSnapshot()
: Promise -> Captures a snapshot from the video stream and returns it as a Base64-encoded image.
Example Usage
<video-camera-recorder
config={{
width: '640px',
height: '480px',
enableMicrophone: true,
showMessages: true,
messageDetail: 'Error accessing the camera',
}}
onStreamStatus={(event) => handleStreamStatus(event.detail)}
onComponentError={(event) => handleComponentError(event.detail)}
></video-camera-recorder>
Services
The component provides tools to complement its use in different needs.
Spoofing Detector Service
When you instantiate this class SpoofingDetectorService
as a service, it allows you to access methods to control and manage the camera authentication system.
Methods
authenticateVideoStream(stream: MediaStream)
: Determines the veracity and validity of the cameragetVideoDevices()
: Returns the list of available video devicesgetStreamDeviceInfo(stream: MediaStream)
: Returns device information(MediaDeviceInfo) from the played video streamcheckCamerasInWhiteList(device: MediaDeviceInfo)
: Returns whether a device is whitelisted.checkCamerasInBlackList(device: MediaDeviceInfo)
: Returns whether a device is blacklisted.addCameraToWhiteList(deviceName: string, type: 'desktop' | 'mobile')
: Add an item to the whitelist of supported devicesaddCameraToBlackList(deviceName: string)
: Add an item to the blacklist of supported devicesremoveCameraFromWhiteList(element: string, type: 'desktop' | 'mobile')
: Removes a device name from the whitelist of supported devicesremoveCameraFromBlackList(element: string)
: Removes a device name from the blacklist of supported devices
Error interface
When the component fails, it throws an error with next interface details:
interface webComponentError {
label: string;
code?: string;
details?: any;
}
This component is owned by JAAK and is their intellectual property. Visit more details in https://jaak.ai
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago