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:
Flag | Default | Description |
---|---|---|
Debug | 4 | Default debug level. Recommended value for development is 4, recommended value for production is 3 |
NOAUTH | false | Disable API authentication entirely (insecure!) |
NORIST | false | Disable RIST support, regardless of the library being present |
NOSRT | false | Disable 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.