Dependencies

From RidgeRun Developer Wiki

Follow Us On Twitter LinkedIn Email Share this page










We recommend using the package manager for installing the GstMoQ dependencies for PC (x86/x64) and NVIDIA Jetson boards. In this section, you will find the instructions to install the dependencies with the package manager.

GstMoQ depends on GStreamer 1.22, so having GStreamer 1.22 or higher is required.

Step 1: Install System Dependencies

sudo apt update
sudo apt install -y \
  build-essential \
  cmake \
  pkg-config \
  libssl-dev \
  git \
  curl

Step 2: Install GStreamer

sudo apt update
sudo apt install -y \
  gstreamer1.0-tools \
  gstreamer1.0-plugins-base \
  gstreamer1.0-plugins-good \
  gstreamer1.0-plugins-bad \
  gstreamer1.0-plugins-ugly \
  gstreamer1.0-libav \
  gstreamer1.0-nice \
  gstreamer1.0-x \
  gstreamer1.0-gl \
  gstreamer1.0-gtk3 \
  libgstreamer1.0-dev \
  libgstreamer-plugins-base1.0-dev \
  libgstreamer-plugins-bad1.0-dev


#Check installation:
gst-inspect-1.0 --version
#Expected output (example):
GStreamer 1.24.x

Step 3: Install Rust and Cargo

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

#Source the environment:
source ~/.cargo/env
#Check installation:
rustc --version
cargo --version

Step 4: Install Cargo external extension

#installation extension
cargo install cargo-c
# Relay extension
cargo install moq-relay

Step 5: Rust GStreamer plugins compilation

#Clone Rust plugins repository:
git clone --branch 0.14 --depth 1 https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git 
#Go inside and compile the plugins:
cd gst-plugins-rs
cargo build --release \
  -p gst-plugin-fmp4

#Environment setup:
export GST_PLUGIN_PATH=$HOME/gst-plugins-rs/target/release

#[OPTIONAL] add setup to ~/.bashrc:
echo 'export GST_PLUGIN_PATH=$HOME/gst-plugins-rs/target/release' >> ~/.bashrc

#Check Installation:
gst-inspect-1.0 isofmp4mux

Step 6: Web Dependencies

sudo apt install -y nodejs npm