WebRTC auto-hébergé · SFU mediasoup

Le temps réel, sous votre contrôle.

Visioconférence, appels audio et partage d’écran dans vos applications web et mobiles, avec un SDK et une infrastructure WebRTC que vous hébergez.

< 2 s
bascule d’orateur
60 s
reconnexion auto
3
qualités par caméra
FIG. 1 · Appel à trois
salle demo-4f2kréseau excellent
CParleCarolHaute · 1280×720
AAliceMoyenne
Bob se reconnecte
01 · Fonctionnalités

Les parties difficiles, déjà réglées.

Dans le SDK et le serveur, pas dans votre code.

1.1

Un SDK, web et mobile

Un même cœur pour React et React Native : appels, partage d’écran, choix des micros, caméras et sorties audio.

1.2

Architecture SFU

Serveur mediasoup, une salle par routeur. Chaque participant envoie son flux une seule fois, le serveur le redistribue.

1.3

Reconnexion automatique

Une coupure réseau ou un passage wifi vers 4G ne fait pas tomber l’appel : le SDK revient seul, caméra et micro intacts.

1.4

Qualité adaptative

La caméra est envoyée en trois qualités. Chacun reçoit celle qui convient à son réseau et à son écran, automatiquement.

1.5

Détection de qui parle

Le serveur signale en continu l’orateur pour le mettre en avant, sans calcul sur l’appareil.

1.6

Traversée des pare-feux

Serveur TURN intégré, avec identifiants temporaires, pour les réseaux d’entreprise et les NAT stricts.

02 · Démarrage

En ligne en trois étapes

  1. ÉTAPE 01Créez votre compteUn email et un mot de passe suffisent.
  2. ÉTAPE 02Générez une clé APIDepuis le dashboard, avec une date d’expiration au choix.
  3. ÉTAPE 03Intégrez le SDKHook React, ou adaptateur React Native pour iOS et Android.
03 · SDK

Un hook, et l’appel est là.

Le même cœur pour React et React Native. L’état de l’appel, l’orateur, la reconnexion et la qualité reçue sont exposés directement.

npm i @kaamera/sdk
VideoCall.tsx · TypeScript
import { useKaamera } from '@kaamera/sdk';

export function VideoCall({ room }) {
  const { joinCall, participants, activeSpeakerId, isRejoining } =
    useKaamera({ config: { credentials: { apiKey, token } } });

  return (
    <button onClick={() => joinCall(room, 'Alice', { mode: 'sfu' })}>
      Rejoindre
    </button>
  );
}

Prêt à commencer ?

Créez votre compte et passez votre premier appel aujourd’hui.

Créer un compte maintenant