Pour les applications

Appels vidéo et appels de groupe pour votre application

Une API et un SDK d’appels vidéo pour Next.js, Laravel, Django et tout autre stack. Les appels sonnent dans chaque onglet et chaque application de la personne appelée, les appels de groupe tournent sur nos serveurs multimédias et l’écran d’appel est prêt à l’emploi : vous n’avez aucun serveur multimédia à faire tourner.

Ou essayez la démo en ligne : ouvrez-la dans deux navigateurs et appelez de l’un à l’autre.

Un appel vidéo entre deux personnes, tel que chacune le voit

Appels entre deux personnes

Chaque appel aboutit

Un appel sonne dans chaque onglet et chaque application que la personne appelée a ouverts, et cesse de sonner partout dès qu’elle répond sur l’un d’eux. Il prend ensuite le meilleur chemin que les deux réseaux permettent, sans serveur TURN à entretenir de votre côté.

  1. En directEntre les deux appareils, sur la plupart des réseaux. Le chemin le plus rapide.
  2. Via nos relaisQuand un pare-feu bloque le chemin direct. Ils répondent sur les ports du web, et un appel passe partout où passent les sites web.
  3. Via nos serveurs multimédiasQuand même les relais ne passent pas. L’appel y bascule et continue, sans raccrocher.

Chiffrés de bout en bout sur chaque chemin, et inclus dans chaque formule.

Appels de groupe

Des appels de groupe sur nos serveurs multimédias

Réunions, cours, tables rondes et salons audio tournent sur nos serveurs multimédias, pas entre les appareils : chaque appareil envoie sa caméra une seule fois, quel que soit le nombre de personnes dans l’appel.

Un appel vidéo de groupe à trois personnes, tel que chacune le voit

Aucune limite de personnes

Chaque personne d’un appel de groupe envoie sa caméra, son micro et son écran une seule fois, et nos serveurs multimédias les transmettent à tous les autres, dans plusieurs régions.

Intervenants et auditeurs

Votre règle dit qui envoie et qui regarde et écoute seulement, comme dans un cours ou une table ronde. Un hôte laisse parler un auditeur, puis le refait auditeur.

Les hôtes gardent l’ordre

Un hôte coupe un micro, laisse parler quelqu’un et retire quelqu’un de l’appel, depuis la vignette de chaque personne.

Votre serveur décide

Quelques lignes dans votre stack

Votre serveur dit qui peut appeler qui et qui rejoint chaque appel de groupe. La page lance les appels avec un bouton, ou avec votre propre code.

lib/realtime.ts
// Calls between two people, support:34:42: the two it names, one of them staff.
realtime.calls( 'support:{a}:{b}', async ( user, withUser, { a, b } ) => {
    const pair = [ a, b ];
    return pair.includes( String( user ) ) && pair.includes( String( withUser ) )
        && ( ( await isStaff( user ) ) || ( await isStaff( withUser ) ) );
} );

// The daily meeting: a group call for everyone signed in.
realtime.groupCalls( 'meeting:{id}', ( user ) => user !== null );
app/call-ann.tsx
'use client';

import { useRealtime } from '@wordplus/realtime/react';
import { CallButton, GroupCallButton } from '@wordplus/realtime-ui/react';

export function CallAnn() {
    const rt = useRealtime();
    return (
        <>
            <CallButton rt={ rt } to={ 34 } call="support:{pair}" type="video" name="Ann">
                Call Ann
            </CallButton>
            <GroupCallButton rt={ rt } room="meeting:daily" type="video" title="Daily meeting">
                Join the meeting
            </GroupCallButton>
        </>
    );
}

Les appels dans chaque stack, avec toute la mise en place :

Prêt à l’emploi ou à vous

Un écran d’appel prêt à l’emploi, ou le vôtre

L’écran d’appel de Better Messages est prêt à l’emploi : boutons d’appel, sonnerie et fenêtre d’appel, sur le web, iOS et Android. Changez ses couleurs et ses textes, remplacez-en une partie par la vôtre, ou construisez votre propre interface sur le même SDK.

Un appel vidéo qui sonne : un navigateur affiche l’appel entrant avec Répondre et Refuser, l’autre est en train d’appeler

Les appels entre deux personnes sont chiffrés de bout en bout sur tous les chemins, et un appel de groupe l’est quand votre règle le dit.

Cas d’usage

Ce que l’on construit avec les appels

Chacun est une application complète dans la documentation, avec son serveur en Node.js, PHP et Python.

Des appels depuis un bouton

Un bouton Appeler le support qui sonne chez l’agent dans chaque onglet qu’il a ouvert.

Consultations sur rendez-vous

Une visite en vidéo avec une médecin, un avocat, une professeure ou un coach, ouverte seulement aux deux personnes inscrites, à son heure.

Réunions d’équipe

Une réunion vidéo pour chaque équipe ou événement, avec partage d’écran, que l’animateur termine pour tous.

Cours et salons audio

Un enseignant ou un panel parle et les autres écoutent, en levant la main pour parler.

Salles d’attente et sous-groupes

Les invités attendent que l’hôte les admette, et l’hôte envoie des personnes dans de plus petites salles puis les fait revenir.

Facturer les appels

Votre serveur apprend combien de temps chaque personne a parlé, compté sur nos serveurs, pour facturer à la minute.

Tarifs

Un prix selon les connexions, jamais selon les messages

Un prix selon les connexions simultanées, à partir de 1 000, facturé au mois ou à l’année. Les appels à deux sont illimités.

Avec 1 000 connexions, les appels de groupe ne sont pas décomptés jusqu’à 32 personnes en vidéo à la fois, une personne en audio comptant pour moitié, sans limite de personnes par appel. Chaque tranche de 1 000 connexions en plus ajoute 12 personnes en vidéo. Au-delà, chaque personne en vidéo de plus prend un crédit par minute, en audio la moitié, et votre formule ajoute 5 000 crédits par mois pour 1 000 connexions.

Questions

Questions fréquentes

Ai-je besoin de mes propres serveurs TURN ou multimédias ?

Non. Un appel entre deux personnes passe directement entre les deux appareils quand il le peut, par nos relais quand un pare-feu bloque le chemin direct, et par nos serveurs multimédias quand même les relais ne passent pas. Les appels de groupe tournent sur nos serveurs multimédias dans plusieurs régions. Vous n’avez rien à héberger.

Quels stacks peuvent utiliser le SDK d’appels vidéo ?

Next.js et Express, Laravel et PHP sans framework, Django, FastAPI et Flask, React Native et Capacitor, iOS et Android, chacun avec un guide et une démo en ligne. Un serveur dans un autre langage utilise l’API HTTP.

Combien de personnes peuvent rejoindre un appel de groupe ?

Il n’y a pas de limite de personnes par appel. Avec 1 000 connexions, jusqu’à 32 personnes en vidéo à la fois ne prennent aucun crédit, une personne en audio comptant pour moitié, et chaque tranche de 1 000 connexions en plus en ajoute 12. Au-delà, chaque personne en vidéo de plus prend un crédit par minute.

Les appels sont-ils chiffrés ?

Oui. Le flux d’un appel entre deux personnes est chiffré de bout en bout sur tous les chemins, y compris quand nos relais ou nos serveurs multimédias le transportent. Un appel de groupe est chiffré de bout en bout quand votre règle le dit, avec une clé que seul votre serveur distribue.

Qui décide qui peut appeler qui ?

Votre serveur, avec une règle pour chaque type d’appel : qui peut appeler qui, qui rejoint chaque appel de groupe, qui parle et qui écoute seulement, et qui anime. Le cloud applique chaque réponse, et votre serveur peut retirer l’accès à tout moment.

Puis-je construire ma propre interface d’appel ?

Oui. L’écran d’appel est facultatif. Changez ses couleurs et ses textes, ou lancez, répondez et affichez les appels vous-même avec le SDK, jusqu’à chaque personne d’un appel de groupe.

Puis-je facturer les appels à mes utilisateurs ?

Oui. WordPlus Cloud indique à votre serveur par webhook la durée de chaque appel et le moment où chaque personne a rejoint et quitté un appel de groupe, comptés sur ses propres serveurs, pour que votre application facture à la minute.

Des questions sur votre intégration ? Écrivez-nous : nous vous aidons avec les SDK, l’écran d’appel et votre stack.