Skip to content

Kurento/kurento

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Kurento logo

Kurento Media Server

🏠Homepage πŸ“šDocumentation Docker Pulls
GitHub commits GitHub contributors Stack Exchange questions
Sourcegraph

Kurento Media Server is responsible for media transmission, processing, loading and recording. It is implemented in low level technologies based on the GStreamer multimedia toolkit, and provides the following features:

  • Networked streaming protocols, including HTTP, RTP and WebRTC.
  • Group communications (MCU and SFU functionality) supporting both media mixing and media routing/dispatching.
  • Generic support for Computer Vision and Augmented Reality filters (OpenCV).
  • Media storage supporting writing operations for WebM and MP4 and playback in all formats supported by GStreamer.
  • Automatic media transcoding between any of the codecs supported by GStreamer including VP8, H.264, H.263, AMR, OPUS, Speex, G.711, etc.

Project status

Caution

This project is on bare minimum maintenance mode.

There are no major new features planned for Kurento, and even minor issues may take some time to be addressed.

Kurento won't implement several WebRTC features such as Simulcast, End-To-End Encryption, Insertable Streams, or even support for more than 1 video + 1 audio in the same WebRTC peer connection.

For new videoconferencing projects we recommend to build on top of a higher-level platform such as OpenVidu (from the same team as Kurento). It hides to some extent the sheer complexity of scalable WebRTC systems, and allows you to focus on your app instead.

If you're just looking for a bare-bones, low-level WebRTC SFU like Kurento, mediasoup is a very good, modern and actively developed alternative.

FIWARE Platform

FIWARE Chapter FIWARE Member Status πŸŽ“ FIWARE Academy

The Kurento project is part of FIWARE. For more information check the FIWARE documentation for Real-Time Media Stream Processing.

Kurento has been rated within FIWARE as follows:

  • Version Tested:
  • Documentation:
  • Responsiveness:
  • FIWARE Testing:

Kurento is also part of the NUBOMEDIA research initiative.

The Open API specification, also known as Kurento Protocol, is available at Stream-oriented Open API.

Documentation

Kurento provides detailed Documentation including tutorials, installation and development guides.

Useful Links

Usage:

Issues:

News:

Training:

Testing

Kurento has a full set of different tests mainly focused in the integrated and system tests, more specifically e2e tests that anyone can run to assess different parts of Kurento, namely functional, stability, tutorials, and API.

In order to assess properly Kurento from a final user perspective, a rich suite of E2E tests has been designed and implemented. To that aim, the Kurento Testing Framework (KTF) has been created. KTF is a part of the Kurento project aimed to carry out end-to-end (E2E) tests for Kurento. KTF has been implemented on the top of two well-known open-source testing frameworks: JUnit and Selenium.

If you want to know more about the Kurento Testing Framework and how to run all the available tests for Kurento you will find more information in Kurento developers documentation > Testing.

License

License badge

Copyright 2023 Kurento

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.