LiveKit: una herramienta de código abierto para crear aplicaciones de audio y vídeo en tiempo real
Últimos recursos sobre IAActualizado hace 5 meses Círculo de intercambio de inteligencia artificial 2.5K 00
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.

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:
- Preparar el entornoAsegúrese de que su sistema es compatible con Docker y puede ejecutar Linux o macOS.
- 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:
- Instalación del SDK: Se ejecuta en el proyecto:
npm install @livekit/client
- Ú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('已连接到房间');
- 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:
- Cree un Ingress en la consola de la nube para obtener la URL RTMP y la clave de flujo.
- Rellene la URL y la clave en la configuración de OBS para empezar a empujar el flujo.
- Los espectadores miran con baja latencia a través de WebRTC.
flujo de trabajo
- Determine la necesidad: ¿se trata de una pequeña llamada o de una gran emisión en directo?
- Elija su método de implantación: los servicios en la nube le ahorran dinero, el autoalojamiento es más flexible.
- Configurar el entorno: instalar herramientas, obtener claves.
- Desarrolle aplicaciones: Conecte salas con el SDK y añada funciones.
- 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
- videoconferencia
El equipo de la empresa utiliza LiveKit para crear un sistema de reuniones internas que permite debates en tiempo real entre varias personas. - 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. - Asistente de voz
Los desarrolladores combinan modelos de IA para crear un servicio de atención al cliente inteligente capaz de escuchar y hablar. - 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
- ¿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. - ¿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. - ¿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
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...