Kurento Media Server (KMS) — это сервер мультимедийной обработки с открытым исходным кодом, предназначенный для разработки приложений с поддержкой WebRTC. Он предоставляет возможности для маршрутизации, обработки, записи и трансформации аудио- и видеопотоков, а также интеграции с фильтрами компьютерного зрения и дополненной реальности. Основанный на библиотеке GStreamer, Kurento предлагает гибкую и масштабируемую архитектуру, подходящую для облачных решений и распределённых систем.
С момента своего появления Kurento стал популярным инструментом для создания видеоконференций, онлайн-обучения, телемедицины и других мультимедийных приложений. Его модульная архитектура и поддержка различных протоколов делают его универсальным решением для обработки медиа в реальном времени.
- Поддержка WebRTC — обеспечивает прямую передачу аудио и видео между браузерами и мобильными устройствами.
- Групповые коммуникации — реализует функциональность MCU (Multipoint Control Unit) и SFU (Selective Forwarding Unit) для многопользовательских видеоконференций.
- Транскодирование — поддерживает преобразование между различными кодеками и форматами, включая VP8, H.264, AMR, OPUS, G.711 и другие.
- Медиа-смешивание — позволяет комбинировать несколько видеопотоков в один для создания сложных сцен.
- Запись и воспроизведение — поддерживает запись медиа-сессий в форматах WebM и MP4 с последующим воспроизведением.
- Интеграция с OpenCV — предоставляет возможности для применения фильтров компьютерного зрения и дополненной реальности.
- Модульная архитектура — позволяет разработчикам создавать и интегрировать собственные модули обработки медиа.
- Масштабируемость — поддерживает горизонтальное масштабирование и распределённую обработку медиа-потоков.
- Поддержка различных протоколов — совместим с HTTP, RTP, RTSP и WebRTC, обеспечивая широкую совместимость с различными устройствами и сервисами.
- API для разработки — предоставляет клиентские библиотеки для Java, JavaScript и Node.js, упрощая интеграцию с веб-приложениями.