Skip to main content

The source code

MistServers source code is available here.

Dependencies

  • C++ compiler
  • Meson
  • mbedtls (optional, automatically compiled as a subproject if SSL is enabled and mbedtls is not installed system-wide)
  • libsrt (optional, automatically compiled as a subproject if SRT is enabled and libsrt is not installed system-wide)
  • librist (optional, automatically compiled as a subproject if RIST is enabled and librist is not installed system-wide).

Compiling

We support both Meson and CMake. We currently recommend building with Meson as it takes care of all libraries automatically. CMake is considered the legacy compile method, it will still work for now but support most likely will be dropped in the future.

Compile flags

For an up to date list of compile flags please look at the output of:

meson configure

Some of the more common compile flags are:

FlagDefaultDescription
Debug4Default debug level. Recommended value for development is 4, recommended value for production is 3
NOAUTHfalseDisable API authentication entirely (insecure!)
NORISTfalseDisable RIST support, regardless of the library being present
NOSRTfalseDisable SRT support, regardless of the library being present

Adding these compile flags to an existing Meson setup requires you to configure them using the -D flag. For example setting the default debug level to 3 (recommended production level) would be:

meson configure -DDEBUG=3

Setting multiple compile flags is quite easy as well:

meson configure -DDEBUG=3 -DNOAUTH=true -DNORIST=true -DNOSRT=true

The above sets the default debug level to 3, removes the authorization for the browser interface and disables RIST & SRT.

Meson

Compiling with the defaults is as easy as:

meson setup build
meson compile -C build

Compiling with setting compile flags:

meson setup build -DDEBUG=3
meson compile -C build

Then visit the build folder for the newly compiled MistServer binaries.