LiveKit: una herramienta de código abierto para crear aplicaciones de audio y vídeo en tiempo real

Introducción general

LiveKit es un proyecto de código abierto centrado en ayudar a los desarrolladores a crear aplicaciones de audio y vídeo en tiempo real. Se basa en la tecnología WebRTC , proporciona una solución completa , incluyendo servidores de medios y una variedad de SDK cliente. LiveKit es el núcleo de un servidor SFU (Selective Forwarding Unit) escalable , escrito en el lenguaje Go , combinado con la implementación Pion WebRTC. Está diseñado para ser simple y directo, compatible con una amplia gama de escenarios, desde pequeñas aplicaciones hasta conferencias a gran escala. Los desarrolladores pueden utilizarlo para configurar rápidamente videoconferencias, retransmisiones interactivas en directo o asistentes de voz, etc. LiveKit ofrece opciones de alojamiento en la nube y autoalojamiento para mayor flexibilidad. La documentación oficial y el apoyo de la comunidad también facilitan los primeros pasos.

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

 

Lista de funciones

  • Comunicaciones de audio y vídeo en tiempo real: Admite llamadas de audio y vídeo de baja latencia para varias personas al mismo tiempo.
  • Servidor SFU Media: Optimice el ancho de banda mediante la tecnología de reenvío selectivo para mejorar el rendimiento de las aplicaciones a gran escala.
  • SDK multiplataformaDesarrollo: Proporcionar JavaScript, iOS, Android y otros SDK de cliente para facilitar el desarrollo multiplataforma.
  • Soporte de servidor: Contiene herramientas para generar tokens de acceso, llamar a APIs y recibir webhooks.
  • canal de datos: Admite la transmisión en tiempo real de texto o datos personalizados, adecuada para aplicaciones interactivas.
  • Servicios en la nube frente a alojamiento propioNube LiveKit opcional o despliegue su propio servidor.
  • Integración de la IA: Admite la combinación con modelos de IA de voz y vídeo, adecuado para el desarrollo de asistentes inteligentes.

 

Utilizar la ayuda

Hay dos maneras de usar LiveKit: una es usar LiveKit Cloud directamente, y la otra es desplegar tu propio servidor. Aquí están los pasos detallados.

Instalación y despliegue

Si eliges autoalojarte, primero tienes que instalar el servidor LiveKit. Estos son los pasos básicos:

  1. Preparar el entornoAsegúrese de que su sistema es compatible con Docker y puede ejecutar Linux o macOS.
  2. Instalación de la CLI de LiveKit: Esta es la herramienta de línea de comandos que le ayudará a gestionar el servidor y probar las funciones. Ejecute el siguiente comando:
curl -sSL https://get.livekit.io | bash

Una vez finalizada la instalación, introduzca livekit-cli --version Comprueba el éxito.
3. Iniciar el servidorInicie el servidor LiveKit en modo de desarrollo ejecutando el siguiente comando en un terminal:

livekit-server --dev

Esto iniciará un servidor local, que por defecto escucha en la dirección 7880 Puertos.
4. Generación de tokens de accesoEl servidor requiere autenticación mediante token. Generado con la CLI:

livekit-cli create-token --api-key devkey --api-secret secret --identity user1 --room my-room

La salida contendrá un token JWT para conectarse a la sala.

Si utilizas LiveKit Cloud, registra una cuenta directamente en cloud.livekit.io, crea un proyecto y luego obtén la clave API y el par de claves sin desplegarlo tú mismo.

Habitaciones comunicadas

Conectar salas es la operación central de LiveKit. A continuación se muestra un ejemplo del SDK de JavaScript:

  1. Instalación del SDK: Se ejecuta en el proyecto:
npm install @livekit/client
  1. Únete a la salaConéctate con el siguiente 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. Publicación de audio y vídeoDespués de la conexión, publique la cámara local y el micrófono:
    const localParticipant = room.localParticipant;
    await localParticipant.enableCameraAndMicrophone();
    console.log('开始发布音视频');
    

Función destacada Operación

  • Transmisión de datos en tiempo realAdemás de audio y vídeo, LiveKit admite canales de datos. El código para enviar un mensaje es el siguiente:
    localParticipant.publishData('Hello, everyone!', 'text');
    

    El receptor escucha:

    room.on('dataReceived', (payload, participant) => {
    console.log(`收到消息:${payload},来自 ${participant.identity}`);
    });
    
  • Integración de la IALiveKit permite interactuar con modelos de IA. Por ejemplo, utilizando Python SDK para convertir voz en texto:
    from livekit import Room
    room = Room()
    await room.connect('ws://localhost:7880', token)
    # 监听音频并处理
    

    La transcripción en tiempo real puede lograrse combinándola con una API de reconocimiento de voz como Google STT.

  • Retransmisión masiva en directoEmpuja flujos desde OBS con LiveKit Ingress:
    1. Cree un Ingress en la consola de la nube para obtener la URL RTMP y la clave de flujo.
    2. Rellene la URL y la clave en la configuración de OBS para empezar a empujar el flujo.
    3. Los espectadores miran con baja latencia a través de WebRTC.

flujo de trabajo

  1. Determine la necesidad: ¿se trata de una pequeña llamada o de una gran emisión en directo?
  2. Elija su método de implantación: los servicios en la nube le ahorran dinero, el autoalojamiento es más flexible.
  3. Configurar el entorno: instalar herramientas, obtener claves.
  4. Desarrolle aplicaciones: Conecte salas con el SDK y añada funciones.
  5. Ejecución de prueba: simule el tráfico con la CLI y compruebe el efecto.

La documentación de LiveKit está disponible en docs.livekit.io, y puedes unirte a la comunidad de Slack para pedir ayuda si tienes preguntas.

 

escenario de aplicación

  1. videoconferencia
    El equipo de la empresa utiliza LiveKit para crear un sistema de reuniones internas que permite debates en tiempo real entre varias personas.
  2. retransmisión interactiva en directo
    El anfitrión transmite el flujo a través de OBS, y el público puede interactuar con él en tiempo real mediante WebRTC, con una latencia inferior a 100 milisegundos.
  3. Asistente de voz
    Los desarrolladores combinan modelos de IA para crear un servicio de atención al cliente inteligente capaz de escuchar y hablar.
  4. aprendizaje a distancia
    Profesores y alumnos imparten clases en línea a través de LiveKit, que permite compartir la pantalla y realizar preguntas y respuestas en tiempo real.

 

CONTROL DE CALIDAD

  1. ¿Cuántos usuarios simultáneos admite LiveKit?
    Puede admitir desde unos pocos hasta miles de usuarios simultáneos, dependiendo de la configuración del servidor y del ancho de banda.
  2. ¿Qué hardware necesito para el autoalojamiento?
    Un servidor de 4 núcleos con 8 GB de RAM puede ejecutar aplicaciones pequeñas; a gran escala se requieren configuraciones superiores.
  3. ¿Es LiveKit Cloud gratuito?
    Se ofrece un crédito gratuito, más allá del cual se cobra por tráfico, ver livekit.io/pricing.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...