LiveKit: инструмент с открытым исходным кодом для создания аудио- и видеоприложений в реальном времени
Общее введение
LiveKit - это проект с открытым исходным кодом, направленный на помощь разработчикам в создании аудио- и видеоприложений в реальном времени. Он основан на технологии WebRTC и представляет собой комплексное решение, включающее медиасерверы и различные клиентские SDK. LiveKit - это ядро масштабируемого сервера SFU (Selective Forwarding Unit), написанного на языке Go, в сочетании с реализацией Pion WebRTC. Он разработан как простой и понятный, поддерживающий широкий спектр сценариев - от небольших приложений до масштабных конференций. Разработчики могут использовать его для быстрой организации видеоконференций, интерактивных прямых трансляций, голосовых помощников и т. д. LiveKit предлагает как облачные, так и самостоятельные варианты для гибкости. Официальная документация и поддержка сообщества также облегчают начало работы.

Список функций
- Аудио- и видеосвязь в режиме реального времени: Поддерживает аудио- и видеозвонки с низкой задержкой для нескольких человек одновременно.
- Медиасервер СФУ: Оптимизация пропускной способности с помощью технологии выборочной переадресации для повышения производительности крупномасштабных приложений.
- Мультиплатформенный SDK: Предоставление JavaScript, iOS, Android и других клиентских SDK для облегчения кросс-платформенной разработки.
- Поддержка на стороне сервера: Содержит инструменты для генерации маркеров доступа, вызова API и получения веб-крючков.
- канал данных: Поддерживает передачу текста или пользовательских данных в режиме реального времени, подходит для интерактивных приложений.
- Облачные сервисы в сравнении с самостоятельной работой: Optional LiveKit Cloud или разверните свой собственный сервер.
- Интеграция искусственного интеллекта: Поддержка объединения с голосовыми и видео моделями ИИ, подходит для разработки интеллектуального помощника.
Использование помощи
Есть два способа использовать LiveKit: первый - использовать LiveKit Cloud напрямую, а второй - развернуть собственный сервер. Вот подробные шаги.
Установка и развертывание
Если вы решили использовать собственный хостинг, вам нужно сначала установить сервер LiveKit. Вот основные шаги:
- Подготовка среды: Убедитесь, что ваша система поддерживает Docker и может работать под управлением Linux или macOS.
- Установка LiveKit CLI: Это инструмент командной строки, который поможет вам управлять сервером и тестировать функции. Выполните следующую команду:
curl -sSL https://get.livekit.io | bash
После завершения установки введите livekit-cli --version
Проверьте успешность.
3. Запустите сервер: Запустите сервер LiveKit в режиме разработки, выполнив следующую команду в терминале:
livekit-server --dev
Это запустит локальный сервер, который по умолчанию слушает на 7880
Порты.
4. Генерация маркеров доступа: Серверу требуется аутентификация с помощью маркера. Генерируется с помощью CLI:
livekit-cli create-token --api-key devkey --api-secret secret --identity user1 --room my-room
На выходе вы получите JWT-токен для подключения к комнате.
Если вы используете LiveKit Cloud, зарегистрируйте аккаунт прямо на cloud.livekit.io, создайте проект, а затем получите ключ API и пару ключей, не разворачивая его самостоятельно.
Смежные комнаты
Соединение комнат - это основная операция LiveKit. Ниже приведен пример JavaScript SDK:
- Установка SDK: Запускается в проекте:
npm install @livekit/client
- Присоединяйтесь к комнате: Подключитесь с помощью следующего кода:
import { Room, connect } from '@livekit/client';
const room = new Room();
const token = '你的令牌'; // 从 CLI 或云服务获取
await connect(room, token, { url: 'ws://localhost:7880' });
console.log('已连接到房间');
- Публикация аудио и видео: После подключения опубликуйте локальную камеру и микрофон:
const localParticipant = room.localParticipant; await localParticipant.enableCameraAndMicrophone(); console.log('开始发布音视频');
Функциональное управление
- Передача данных в режиме реального времени: Помимо аудио и видео, LiveKit поддерживает каналы передачи данных. Код для отправки сообщения выглядит следующим образом:
localParticipant.publishData('Hello, everyone!', 'text');
Приемник слушает:
room.on('dataReceived', (payload, participant) => { console.log(`收到消息:${payload},来自 ${participant.identity}`); });
- Интеграция искусственного интеллектаLiveKit поддерживает взаимодействие с моделями искусственного интеллекта. Например, с помощью Python SDK можно преобразовать речь в текст:
from livekit import Room room = Room() await room.connect('ws://localhost:7880', token) # 监听音频并处理
Транскрипция в реальном времени может быть достигнута путем объединения с API распознавания речи, например Google STT.
- Массовая прямая трансляция: Передача потоков из OBS с помощью LiveKit Ingress:
- Создайте Ingress в облачной консоли, чтобы получить URL-адрес RTMP и ключ потока.
- Введите URL-адрес и ключ в настройках OBS, чтобы начать передачу потока.
- Зрители смотрят видео с низкой задержкой через WebRTC.
рабочий процесс
- Определите необходимость: это небольшой звонок или большая прямая трансляция?
- Выберите способ развертывания: облачные сервисы позволяют сэкономить, а самостоятельное размещение более гибко.
- Настройте среду: установите инструменты, получите ключи.
- Разрабатывайте приложения: подключайте комнаты с помощью SDK и добавляйте функциональность.
- Тестовый запуск: смоделируйте трафик с помощью CLI и проверьте эффект.
Документация по LiveKit доступна по адресу docs.livekit.io, и вы можете присоединиться к сообществу Slack, чтобы обратиться за помощью, если у вас возникнут вопросы.
сценарий применения
- видеоконференции
Команда компании использует LiveKit для создания системы внутренних совещаний, которая поддерживает обсуждения в реальном времени между несколькими людьми. - прямая интерактивная трансляция
Ведущий передает поток через OBS, а зрители могут взаимодействовать с ним в режиме реального времени с помощью WebRTC, причем задержка составляет менее 100 миллисекунд. - Голосовой помощник с искусственным интеллектом
Разработчики комбинируют модели ИИ для создания интеллектуальной службы поддержки клиентов, которая умеет слушать и говорить. - дистанционное обучение
Преподаватели и студенты проводят онлайн-занятия с помощью LiveKit, который поддерживает совместное использование экрана и вопросы и ответы в режиме реального времени.
QA
- Сколько одновременных пользователей поддерживает LiveKit?
Он может поддерживать параллелизм от нескольких до тысяч человек, в зависимости от конфигурации сервера и пропускной способности. - Какое оборудование мне нужно для самостоятельного хостинга?
Четырехъядерный сервер с 8 ГБ оперативной памяти может работать с небольшими приложениями; для больших масштабов требуются более мощные конфигурации. - Является ли LiveKit Cloud бесплатным?
Предоставляется бесплатный кредит, после которого взимается плата за трафик, см. livekit.io/pricing.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...