The easiest way to stream low-latency content from a GStreamer pipeline straight into browser window.
This project is available under the GNU Affero General Public License v3.0-only. Customers who do not wish to use it under the AGPLv3-only license must obtain a commercial license from RidgeRun.
For commercial licensing inquiries, contact support@ridgerun.com.
See LICENSE and LICENSE.RidgeRun for details.
The examples/simple/rrbrowsersink.js helper is derived from Medooze's
whip-whep-js and remains licensed
under the MIT License. Its complete MIT notice is included in the file.
- Install the dependencies. You'll need:
- GStreamer development files
- Libsoup development files
- Libnice development files
- GStreamer plug-ins (to run the pipeline)
- Build utilities (meson, ninja, compilers, etc...)
In debian-based systems you can run:
sudo apt install \
pkg-config \
libgstreamer1.0-dev \
libsoup-3.0-dev \
libnice-dev \
libssl-dev \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
gstreamer1.0-nice \
gstreamer1.0-tools gstreamer1.0-x \
ninja-build build-essentialMeson needs to be installed via PIP:
sudo -H pip install meson- Build and install the project
meson setup builddir --prefix /usr
meson compile -C builddir
sudo meson install -C builddir- Inspect the element to ensure everything went ok:
gst-inspect-1.0 rrbrowsersinkThe simplest way to get started is to check the simple example in examples/simple.
The project builds by default in release mode. For active development you'll need:
- clang-tidy (C sanity linters)
- clang-format (C formatter)
- pre-commit (Git pre-commit hooks)
- gitlint (Git message linter)
- npm (Various node based linters)
In debian-based systems you can run:
sudo apt install clang-tidy clang-format pre-commit gitlint npmThen configure the project as:
meson setup builddir --prefix /usr -Ddev=trueBuild and install the project as usual.
Finally, the following variables are recommended to catch errors at runtime:
G_DEBUG=fatal-warnings GST_TRACERS=leaks GST_DEBUG=2,rrbrowsersink:6,GST_TRACER:7The official documentation is hosted on RidgeRun's Developer Wiki.