Allgemeine Einführung
LiveKit ist ein Open-Source-Projekt, das Entwicklern helfen soll, Audio- und Videoanwendungen in Echtzeit zu erstellen. Es basiert auf der WebRTC-Technologie und bietet eine Komplettlösung, einschließlich Medienservern und einer Vielzahl von Client-SDK. LiveKit ist der Kern eines skalierbaren SFU-Servers (Selective Forwarding Unit), der in der Sprache Go geschrieben ist, kombiniert mit der Pion WebRTC-Implementierung. Es ist so konzipiert, dass es einfach und unkompliziert ist und eine breite Palette von Szenarien unterstützt, von kleinen Anwendungen bis hin zu großen Konferenzen. Entwickler können damit schnell Videokonferenzen, interaktives Live-Streaming, Sprachassistenten usw. einrichten. LiveKit bietet sowohl in der Cloud gehostete als auch selbst gehostete Optionen für mehr Flexibilität. Die offizielle Dokumentation und die Unterstützung der Community machen den Einstieg leicht.
Funktionsliste
- Audio- und Videokommunikation in EchtzeitUnterstützt Audio- und Videoanrufe mit niedriger Latenz für mehrere Personen gleichzeitig.
- SFU MedienserverOptimierung der Bandbreite durch selektive Weiterleitungstechnologie zur Verbesserung der Leistung für umfangreiche Anwendungen.
- Multiplattform-SDKBereitstellung von JavaScript, iOS, Android und anderen Client-SDKs, um die plattformübergreifende Entwicklung zu erleichtern.
- Server-seitige UnterstützungEnthält Tools zum Generieren von Zugriffstoken, zum Aufrufen von APIs und zum Empfangen von Webhooks.
- DatenkanalUnterstützt die Echtzeitübertragung von Text oder kundenspezifischen Daten, geeignet für interaktive Anwendungen.
- Cloud-Dienste vs. selbstgehostetOptionale LiveKit-Cloud oder Bereitstellung eines eigenen Servers.
- KI-IntegrationUnterstützung für die Kombination mit Sprach- und Video-KI-Modellen, geeignet für die Entwicklung intelligenter Assistenten.
Hilfe verwenden
Es gibt zwei Möglichkeiten, LiveKit zu nutzen: Zum einen können Sie LiveKit Cloud direkt verwenden, zum anderen können Sie Ihren eigenen Server bereitstellen. Hier sind die detaillierten Schritte.
Installation und Einsatz
Wenn Sie sich dafür entscheiden, selbst zu hosten, müssen Sie zunächst den LiveKit-Server installieren. Hier sind die grundlegenden Schritte:
- Vorbereiten der UmgebungStellen Sie sicher, dass Ihr System Docker unterstützt und Linux oder macOS ausführen kann.
- Installieren der LiveKit CLIDies ist das Befehlszeilentool, mit dem Sie den Server verwalten und Funktionen testen können. Führen Sie den folgenden Befehl aus:
curl -sSL https://get.livekit.io | bash
Nachdem die Installation abgeschlossen ist, geben Sie livekit-cli --version
Prüfen Sie den Erfolg.
3. Starten Sie den ServerStarten Sie den LiveKit-Server im Entwicklungsmodus, indem Sie den folgenden Befehl in einem Terminal ausführen:
livekit-server --dev
Dadurch wird ein lokaler Server gestartet, der standardmäßig auf die 7880
Häfen.
4. Generierung von ZugangstokensDer Server erfordert eine Token-Authentifizierung. Erzeugt mit der CLI:
livekit-cli create-token --api-key devkey --api-secret secret --identity user1 --room my-room
Die Ausgabe enthält ein JWT-Token für die Verbindung mit dem Raum.
Wenn Sie LiveKit Cloud verwenden, registrieren Sie ein Konto direkt unter cloud.livekit.io, erstellen Sie ein Projekt und erhalten Sie den API-Schlüssel und das Schlüsselpaar, Sie müssen es nicht selbst bereitstellen.
Verbundene Zimmer
Das Verbinden von Räumen ist die Kernfunktion von LiveKit. Im Folgenden finden Sie ein Beispiel für das JavaScript-SDK:
- Installieren des SDK: Läuft im Projekt:
npm install @livekit/client
- Dem Raum beitreten: Verbinden Sie sich mit dem folgenden Code:
import { Room, connect } from '@livekit/client';
const room = new Room();
const token = '你的令牌'; // 从 CLI 或云服务获取
await connect(room, token, { url: 'ws://localhost:7880' });
console.log('已连接到房间');
- Veröffentlichung von Audio und VideoNach der Verbindung veröffentlichen Sie die lokale Kamera und das Mikrofon:
const localParticipant = room.localParticipant; await localParticipant.enableCameraAndMicrophone(); console.log('开始发布音视频');
Featured Function Bedienung
- Datenübertragung in EchtzeitZusätzlich zu Audio und Video unterstützt LiveKit auch Datenkanäle. Der Code zum Senden einer Nachricht lautet wie folgt:
localParticipant.publishData('Hello, everyone!', 'text');
Der Empfänger hört zu:
room.on('dataReceived', (payload, participant) => { console.log(`收到消息:${payload},来自 ${participant.identity}`); });
- KI-IntegrationLiveKit unterstützt die Kopplung mit KI-Modellen. Zum Beispiel mit Python SDK, um Sprache in Text umzuwandeln:
from livekit import Room room = Room() await room.connect('ws://localhost:7880', token) # 监听音频并处理
Eine Echtzeit-Transkription kann durch die Kombination mit einer Spracherkennungs-API wie Google STT erreicht werden.
- Massives Live-StreamingPush-Streams von OBS mit LiveKit Ingress:
- Erstellen Sie einen Ingress in der Cloud-Konsole, um die RTMP-URL und den Stream-Schlüssel zu erhalten.
- Geben Sie die URL ein und geben Sie die OBS-Einstellungen ein, um den Stream zu pushen.
- Die Zuschauer sehen mit geringer Latenz über WebRTC.
Arbeitsablauf
- Bestimmen Sie den Bedarf: Handelt es sich um einen kleinen Anruf oder eine große Live-Übertragung?
- Wählen Sie Ihre Bereitstellungsmethode: Mit Cloud-Diensten sparen Sie Geld, das Selbsthosten ist flexibler.
- Konfigurieren Sie die Umgebung: Installieren Sie Tools, besorgen Sie Schlüssel.
- Apps entwickeln: Räume mit dem SDK verbinden und Funktionen hinzufügen.
- Testlauf: Simulieren Sie den Datenverkehr mit der CLI und überprüfen Sie die Auswirkungen.
Die LiveKit-Dokumentation ist unter docs.livekit.io verfügbar, und Sie können der Slack-Community beitreten und um Hilfe bitten, wenn Sie Fragen haben.
Anwendungsszenario
- Videoconferencing
Das Team des Unternehmens verwendet LiveKit, um ein internes Meeting-System zu erstellen, das Echtzeit-Diskussionen zwischen mehreren Personen unterstützt. - Interaktive Live-Übertragung
Der Gastgeber schiebt den Stream über OBS, und das Publikum kann mit einer Latenz von weniger als 100 Millisekunden in Echtzeit über WebRTC mit dem Stream interagieren. - AI-Sprachassistent
Die Entwickler kombinieren KI-Modelle, um einen intelligenten Kundenservice zu schaffen, der zuhören und sprechen kann. - Fernunterricht
Lehrer und Schüler führen Online-Kurse über LiveKit durch, das die gemeinsame Nutzung des Bildschirms und Fragen und Antworten in Echtzeit unterstützt.
QA
- Wie viele gleichzeitige Benutzer unterstützt LiveKit?
Je nach Serverkonfiguration und Bandbreite kann es die Gleichzeitigkeit von einigen wenigen bis zu Tausenden von Personen unterstützen. - Welche Hardware benötige ich für das Selbst-Hosting?
Ein 4-Core-Server mit 8 GB RAM kann kleine Anwendungen ausführen; für große Anwendungen sind höhere Konfigurationen erforderlich. - Ist LiveKit Cloud kostenlos?
Ein kostenloses Guthaben wird angeboten, darüber hinaus wird pro Traffic abgerechnet, siehe livekit.io/pricing.