Skip to main content

Prerequistites

Before cloning the repository, install the following tools on your machine.

1. Rust

Install Rust via rustup — the official Rust toolchain installer.

All platforms: go to https://rustup.rs and follow the instructions, or run:

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

After installation, restart your terminal and verify:

rustc --version
cargo --version

2. Bun

Bun is the JavaScript runtime and package manager used for the frontend.

Do not use npm or yarn.

Linux / macOS:

curl -fsSL https://bun.sh/install | bash

Windows: download the installer from https://bun.sh

Verify:

bun --version

3. Tauri CLI prerequisites

Tauri requires some OS-level dependencies in addition to Rust.

Linux (Ubuntu/Debian):

sudo apt update
sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev \
  libayatana-appindicator3-dev librsvg2-dev patchelf

Windows: install the Microsoft C++ Build Tools and WebView2 (usually already present on Windows 10/11).

macOS:

xcode-select --install

4. GStreamer

GStreamer handles video decoding and streaming. Version 1.22.x is required to match the Rust crate versions (gstreamer = "0.22" maps to GStreamer 1.22).

Linux (Ubuntu/Debian):

sudo apt install \
  libgstreamer1.0-dev \
  libgstreamer-plugins-base1.0-dev \
  libgstreamer-plugins-bad1.0-dev \
  gstreamer1.0-plugins-base \
  gstreamer1.0-plugins-good \
  gstreamer1.0-plugins-bad \
  gstreamer1.0-plugins-ugly \
  gstreamer1.0-libav \
  gstreamer1.0-tools

Verify:

gst-launch-1.0 --version

Windows:

  1. Download the MSVC 64-bit installer for GStreamer 1.22.x from https://gstreamer.freedesktop.org/download/
  2. Download both the runtime and development installers
  3. Install both to the default path: C:\gstreamer\1.0\msvc_x86_64\
  4. Add the GStreamer bin directory to your system PATH:
C:\gstreamer\1.0\msvc_x86_64\bin

Verify in a new terminal:

gst-launch-1.0 --version

The GST_PLUGIN_PATH environment variable is set automatically by the app at runtime (in lib.rs), so you do not need to set it manually.

macOS:

brew install gstreamer gst-plugins-base gst-plugins-good \
  gst-plugins-bad gst-plugins-ugly gst-libav