Aprendizagem pessoal com IA
e orientação prática
讯飞绘镜

LiveKit: uma ferramenta de código aberto para criar aplicativos de áudio e vídeo em tempo real

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.

LiveKit:构建实时音视频应用的开源工具-1


 

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:

  1. Preparação do ambienteVerifique se o seu sistema é compatível com o Docker e se pode executar o Linux ou o macOS.
  2. 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:

  1. Instalação do SDKExecuta no projeto:
npm install @livekit/client
  1. 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('已连接到房间');
  1. 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:
    1. Crie um Ingress no console de nuvem para obter o URL RTMP e a chave de fluxo.
    2. Preencha o URL e digite as configurações do OBS para começar a enviar o fluxo.
    3. Os espectadores assistem com baixa latência por WebRTC.

fluxo de trabalho

  1. Determine a necessidade: trata-se de uma pequena chamada ou de uma grande transmissão ao vivo?
  2. Escolha seu método de implementação: os serviços em nuvem economizam dinheiro, a auto-hospedagem é mais flexível.
  3. Configurar o ambiente: instalar ferramentas, obter chaves.
  4. Desenvolva aplicativos: conecte salas com o SDK e adicione funcionalidades.
  5. 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

  1. 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.
  2. 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.
  3. Assistente de voz com IA
    Os desenvolvedores combinam modelos de IA para criar um atendimento ao cliente inteligente que pode ouvir e falar.
  4. 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

  1. 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.
  2. 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.
  3. O LiveKit Cloud é gratuito?
    É oferecido um crédito gratuito, além do qual você é cobrado por tráfego, consulte livekit.io/pricing.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " LiveKit: uma ferramenta de código aberto para criar aplicativos de áudio e vídeo em tempo real
pt_BRPortuguês do Brasil