Introdução geral
O LiveKit é um projeto de código aberto voltado para ajudar os desenvolvedores a criar aplicativos de áudio e vídeo em tempo real. Ele se baseia na tecnologia WebRTC e oferece uma solução completa, incluindo servidores de mídia e uma variedade de SDKs de clientes. O LiveKit é o núcleo de um servidor SFU (Selective Forwarding Unit) dimensionável, escrito na linguagem Go, combinado com a implementação do Pion WebRTC. Ele foi projetado para ser simples e direto, oferecendo suporte a uma ampla variedade de cenários, desde pequenos aplicativos até conferências em grande escala. Os desenvolvedores podem usá-lo para configurar rapidamente videoconferências, transmissões interativas ao vivo, assistentes de voz etc. O LiveKit oferece opções hospedadas na nuvem e auto-hospedadas para maior flexibilidade. A documentação oficial e o suporte da comunidade também facilitam os primeiros passos.
Lista de funções
- Comunicações de áudio e vídeo em tempo realSuporte a chamadas de áudio e vídeo de baixa latência para várias pessoas ao mesmo tempo.
- Servidor de mídia da SFUOtimize a largura de banda por meio da tecnologia de encaminhamento seletivo para melhorar o desempenho de aplicativos de grande escala.
- SDK multiplataformaFornecimento de JavaScript, iOS, Android e outros SDKs de clientes para facilitar o desenvolvimento entre plataformas.
- Suporte no lado do servidorFerramentas para gerar tokens de acesso, chamar APIs e receber webhooks: contém ferramentas para gerar tokens de acesso, chamar APIs e receber webhooks.
- canal de dadosSuporte à transmissão em tempo real de texto ou dados personalizados, adequado para aplicativos interativos.
- Serviços em nuvem vs. auto-hospedadoLiveKit Cloud opcional ou implante seu próprio servidor.
- Integração de IASuporte para combinação com modelos de IA de voz e vídeo, adequado para o desenvolvimento de assistentes inteligentes.
Usando a Ajuda
Há duas maneiras de usar o LiveKit: uma é usar o LiveKit Cloud diretamente e a outra é implantar seu próprio servidor. Aqui estão as etapas detalhadas.
Instalação e implementação
Se você optar por hospedar-se sozinho, precisará instalar o servidor LiveKit primeiro. Aqui estão as etapas básicas:
- Preparação do ambienteVerifique se o seu sistema é compatível com o Docker e se pode executar o Linux ou o macOS.
- Instalação da CLI do LiveKitFerramenta de linha de comando: Esta é a ferramenta de linha de comando para ajudá-lo a gerenciar o servidor e testar os recursos. Execute o seguinte comando:
curl -sSL https://get.livekit.io | bash
Após a conclusão da instalação, digite livekit-cli --version
Verificação de sucesso.
3. Iniciar o servidorInicie o servidor LiveKit no modo de desenvolvimento executando o seguinte comando em um terminal:
livekit-server --dev
Isso iniciará um servidor local, que, por padrão, escuta no endereço 7880
Portos.
4. Geração de tokens de acessoO servidor requer autenticação por token. Gerado com a CLI:
livekit-cli create-token --api-key devkey --api-secret secret --identity user1 --room my-room
A saída conterá um token JWT para conexão com a sala.
Se você usa o LiveKit Cloud, registre uma conta diretamente em cloud.livekit.io, crie um projeto e obtenha a chave de API e o par de chaves, sem precisar implantá-lo você mesmo.
Quartos conjugados
A conexão de salas é a operação principal do LiveKit. A seguir, um exemplo do SDK JavaScript:
- Instalação do SDKExecuta no projeto:
npm install @livekit/client
- Entre na salaConecte-se com o seguinte código:
import { Room, connect } from '@livekit/client';
const room = new Room();
const token = '你的令牌'; // 从 CLI 或云服务获取
await connect(room, token, { url: 'ws://localhost:7880' });
console.log('已连接到房间');
- Publicação de áudio e vídeoApós a conexão, publique a câmera e o microfone locais:
const localParticipant = room.localParticipant; await localParticipant.enableCameraAndMicrophone(); console.log('开始发布音视频');
Operação da função em destaque
- Transmissão de dados em tempo realAlém de áudio e vídeo, o LiveKit oferece suporte a canais de dados. O código para enviar uma mensagem é o seguinte:
localParticipant.publishData('Hello, everyone!', 'text');
O receptor escuta:
room.on('dataReceived', (payload, participant) => { console.log(`收到消息:${payload},来自 ${participant.identity}`); });
- Integração de IALiveKit: o LiveKit oferece suporte à interface com modelos de IA. Por exemplo, usando o Python SDK para obter a conversão de fala em texto:
from livekit import Room room = Room() await room.connect('ws://localhost:7880', token) # 监听音频并处理
A transcrição em tempo real pode ser obtida combinando-a com uma API de reconhecimento de fala, como o Google STT.
- Transmissão ao vivo em massaTransmissões push do OBS com o LiveKit Ingress:
- Crie um Ingress no console de nuvem para obter o URL RTMP e a chave de fluxo.
- Preencha o URL e digite as configurações do OBS para começar a enviar o fluxo.
- Os espectadores assistem com baixa latência por WebRTC.
fluxo de trabalho
- Determine a necessidade: trata-se de uma pequena chamada ou de uma grande transmissão ao vivo?
- Escolha seu método de implementação: os serviços em nuvem economizam dinheiro, a auto-hospedagem é mais flexível.
- Configurar o ambiente: instalar ferramentas, obter chaves.
- Desenvolva aplicativos: conecte salas com o SDK e adicione funcionalidades.
- Execução de teste: Simule o tráfego com a CLI e verifique o efeito.
A documentação do LiveKit está disponível em docs.livekit.io, e você pode entrar na comunidade do Slack para pedir ajuda se tiver dúvidas.
cenário do aplicativo
- videoconferência
A equipe da empresa usa o LiveKit para criar um sistema de reuniões internas que oferece suporte a discussões em tempo real entre várias pessoas. - transmissão interativa ao vivo
O host envia o fluxo por meio do OBS, e o público pode interagir com ele em tempo real usando WebRTC, com uma latência de menos de 100 milissegundos. - Assistente de voz com IA
Os desenvolvedores combinam modelos de IA para criar um atendimento ao cliente inteligente que pode ouvir e falar. - Ensino à distância
Professores e alunos conduzem aulas on-line por meio do LiveKit, que suporta compartilhamento de tela e perguntas e respostas em tempo real.
QA
- Quantos usuários simultâneos o LiveKit suporta?
Ele pode suportar a simultaneidade de algumas a milhares de pessoas, dependendo da configuração do servidor e da largura de banda. - Que hardware é necessário para a auto-hospedagem?
Um servidor de 4 núcleos com 8 GB de RAM pode executar aplicativos pequenos; a grande escala requer configurações mais altas. - O LiveKit Cloud é gratuito?
É oferecido um crédito gratuito, além do qual você é cobrado por tráfego, consulte livekit.io/pricing.