DOCUMENTATION
npm install @qbittco/webrtc-face-recognition
# iOS
cd ios && pod install
Android auto-links. For iOS, ensure your Podfile targets iOS 15.5+.
Call configureWebRTC() at app startup, before using any features.
import { configureWebRTC } from '@qbittco/webrtc-face-recognition';
configureWebRTC({
enableFaceDetection: true,
});
configureWebRTC({
enableFaceDetection: true,
apiKey: 'wrtc_live_your_key_here',
});
Get your API key at qbittco.com/pricing.
import { useFaceDetection, mediaDevices, RTCView } from '@qbittco/webrtc-face-recognition';
function CameraWithFaces() {
const [stream, setStream] = useState(null);
const videoTrack = stream?.getVideoTracks()[0] ?? null;
const { detectionResult, enable } = useFaceDetection(videoTrack);
useEffect(() => {
mediaDevices.getUserMedia({ video: { facingMode: 'user' } })
.then(setStream);
}, []);
useEffect(() => {
if (videoTrack) enable();
}, [videoTrack]);
return (
<View>
{stream && <RTCView streamURL={stream.toURL()} />}
{detectionResult?.faces.map(face => (
// face.bounds, face.landmarks, face.headPose
))}
</View>
);
}
import { useBlinkDetection } from '@qbittco/webrtc-face-recognition';
const {
blinkCount,
lastBlinkTime,
recentBlinks,
getBlinkRate,
enable,
disable,
} = useBlinkDetection(videoTrack, {
captureOnBlink: true, // Capture JPEG on blink
blinkThreshold: 0.3, // Eye open probability threshold
});
import { useImageAdjustment } from '@qbittco/webrtc-face-recognition';
const {
setExposure, // -1.0 to 1.0
setContrast, // 0.0 to 3.0
setSaturation, // 0.0 to 3.0
setColorTemperature, // -1.0 to 1.0
enable,
} = useImageAdjustment(videoTrack);
| Hook / Component | Tier | Description |
|---|---|---|
| configureWebRTC() | Free | Configure SDK features and license key |
| useFaceDetection() | Free* | Face detection hook. *Free tier: single face, bounds only |
| useBlinkDetection() | Pro | Blink tracking with frame capture and blink rate |
| useImageAdjustment() | Pro | Exposure, contrast, saturation, color temperature |
| FaceDetectionOverlay | Pro | Customizable face bounding box overlay component |
| LicenseManager | Free | Check license state, feature availability |
Free tier: GitHub Issues. Pro/Business: Email support with priority response.