LiveKit : un outil open source pour créer des applications audio et vidéo en temps réel
Introduction générale
LiveKit est un projet open source visant à aider les développeurs à créer des applications audio et vidéo en temps réel. Il est basé sur la technologie WebRTC et fournit une solution complète, comprenant des serveurs média et une variété de SDK clients. LiveKit est le cœur d'un serveur SFU (Selective Forwarding Unit) évolutif, écrit en langage Go, combiné avec l'implémentation WebRTC de Pion. Il est conçu pour être simple et direct, et prendre en charge un large éventail de scénarios, des petites applications aux conférences à grande échelle. Les développeurs peuvent l'utiliser pour mettre en place rapidement des vidéoconférences, des diffusions interactives en direct, des assistants vocaux, etc. LiveKit offre des options d'hébergement dans le nuage et d'auto-hébergement pour plus de flexibilité. La documentation officielle et le soutien de la communauté facilitent également la prise en main.

Liste des fonctions
- Communications audio et vidéo en temps réelLa téléphonie mobile : Elle permet de passer des appels audio et vidéo à faible latence avec plusieurs personnes en même temps.
- Serveur de médias SFUOptimiser la bande passante grâce à la technologie de transfert sélectif afin d'améliorer les performances des applications à grande échelle.
- SDK multiplateformeLes services d'assistance à la clientèle : fournir des SDK JavaScript, iOS, Android et autres clients pour faciliter le développement multiplateforme.
- Support côté serveur: Contient des outils pour générer des jetons d'accès, appeler des API et recevoir des webhooks.
- canal de donnéesLe système d'information sur la santé (SIS) permet la transmission en temps réel de texte ou de données personnalisées, ce qui convient aux applications interactives.
- Services en nuage ou hébergement autonomeLiveKit Cloud : LiveKit Cloud en option ou déployez votre propre serveur.
- Intégration de l'IALes modèles d'IA vocale et vidéo peuvent être combinés, ce qui convient au développement d'assistants intelligents.
Utiliser l'aide
Il y a deux façons d'utiliser LiveKit : l'une consiste à utiliser directement LiveKit Cloud, l'autre à déployer votre propre serveur. Voici les étapes détaillées.
Installation et déploiement
Si vous choisissez l'auto-hébergement, vous devez d'abord installer le serveur LiveKit. Voici les étapes de base :
- Préparation de l'environnementPour cela, il faut : s'assurer que votre système prend en charge Docker et qu'il peut fonctionner sous Linux ou macOS.
- Installation de l'interface de programmation LiveKitIl s'agit de l'outil de ligne de commande qui vous aide à gérer le serveur et à tester les fonctionnalités. Exécutez la commande suivante :
curl -sSL https://get.livekit.io | bash
Une fois l'installation terminée, entrez livekit-cli --version
Vérifier le succès.
3. Démarrer le serveurDémarrer le serveur LiveKit en mode développement en exécutant la commande suivante dans un terminal :
livekit-server --dev
Cela permet de démarrer un serveur local qui, par défaut, écoute sur l'adresse 7880
Ports.
4. Générer des jetons d'accèsLe serveur requiert une authentification par jeton. Généré avec le CLI :
livekit-cli create-token --api-key devkey --api-secret secret --identity user1 --room my-room
Le résultat contiendra un jeton JWT permettant de se connecter à la salle.
Si vous utilisez LiveKit Cloud, créez un compte directement sur cloud.livekit.io, créez un projet et obtenez la clé API et la paire de clés, pas besoin de le déployer vous-même.
Chambres communicantes
La connexion des pièces est l'opération principale de LiveKit. Voici un exemple du SDK JavaScript :
- Installation du SDKLes projets de l'Union européenne sont en cours d'exécution :
npm install @livekit/client
- Rejoindre la salle: Connectez-vous à l'aide du code suivant :
import { Room, connect } from '@livekit/client';
const room = new Room();
const token = '你的令牌'; // 从 CLI 或云服务获取
await connect(room, token, { url: 'ws://localhost:7880' });
console.log('已连接到房间');
- Publication d'audio et de vidéoAprès la connexion, publiez la caméra locale et le microphone :
const localParticipant = room.localParticipant; await localParticipant.enableCameraAndMicrophone(); console.log('开始发布音视频');
Fonction en vedette Fonctionnement
- Transmission de données en temps réelLiveKit prend en charge les canaux de données, en plus de l'audio et de la vidéo. Le code pour envoyer un message est le suivant :
localParticipant.publishData('Hello, everyone!', 'text');
Le destinataire écoute :
room.on('dataReceived', (payload, participant) => { console.log(`收到消息:${payload},来自 ${participant.identity}`); });
- Intégration de l'IALiveKit prend en charge l'interface avec les modèles d'IA. Par exemple, l'utilisation du SDK Python pour réaliser la conversion de la parole en texte :
from livekit import Room room = Room() await room.connect('ws://localhost:7880', token) # 监听音频并处理
La transcription en temps réel peut être réalisée en la combinant avec une API de reconnaissance vocale telle que Google STT.
- Diffusion massive en directIngress : pousser des flux à partir d'OBS avec LiveKit Ingress :
- Créez un Ingress dans la console cloud pour obtenir l'URL RTMP et la clé de flux.
- Remplissez l'URL et entrez les paramètres OBS pour commencer à diffuser le flux.
- Les téléspectateurs regardent avec une faible latence via WebRTC.
flux de travail
- Déterminer le besoin : s'agit-il d'un petit appel ou d'une grande diffusion en direct ?
- Choisissez votre méthode de déploiement : les services en nuage vous permettent d'économiser de l'argent, l'auto-hébergement est plus flexible.
- Configurer l'environnement : installer les outils, obtenir les clés.
- Développer des applications : connecter des salles avec le SDK et ajouter des fonctionnalités.
- Test : simulez le trafic avec le CLI et vérifiez l'effet.
La documentation LiveKit est disponible sur docs.livekit.io, et vous pouvez rejoindre la communauté Slack pour demander de l'aide si vous avez des questions.
scénario d'application
- vidéoconférence
L'équipe de l'entreprise utilise LiveKit pour créer un système de réunion interne qui prend en charge les discussions en temps réel entre plusieurs personnes. - diffusion interactive en direct
L'hôte diffuse le flux par l'intermédiaire d'OBS, et le public peut interagir avec lui en temps réel grâce à WebRTC, avec une latence inférieure à 100 millisecondes. - Assistant vocal AI
Les développeurs combinent des modèles d'IA pour créer un service client intelligent, capable d'écouter et de parler. - l'apprentissage à distance
Les enseignants et les étudiants organisent des cours en ligne grâce à LiveKit, qui prend en charge le partage d'écran et les questions-réponses en temps réel.
QA
- Combien d'utilisateurs simultanés LiveKit prend-il en charge ?
Il peut prendre en charge de quelques utilisateurs à des milliers d'utilisateurs simultanés, en fonction de la configuration du serveur et de la bande passante. - De quel matériel ai-je besoin pour l'auto-hébergement ?
Un serveur à 4 cœurs avec 8 Go de RAM peut faire fonctionner de petites applications ; les applications à grande échelle nécessitent des configurations plus élevées. - LiveKit Cloud est-il gratuit ?
Un crédit gratuit est offert, au-delà duquel vous êtes facturé par trafic, voir livekit.io/pricing.
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...