Hey Everyone!
Stable release of MistServer 3.12 is out now! As always full changelog is available here.
Should you want our prebuild binaries, the downloads are available here.
I do think we can say to expect a 3.13 soon as well, since we have a few upcoming features that didn't quite make this patch but are nearing completion as well.
Major highlights are:
CMAF improvements
We've been experiencing a few problems with our CMAF based HLS and DASH outputs, so we've done a clean sweep and they should now be much more reliable with their low latency segments fully operational. We did notice that native HTML5 playback within Chromebased browsers seems to be somewhat unstable, this is most likely because HLS playback is technically still in development on non-Apple devices. For now we'd recommend using HLS.js or Videojs.
TLS & Proxy forwarding for the API
This is exciting for two reasons, we finally officially support the API over TLS connections if set up and every connection over the admin port is now proxy forwarded. The proxy forward allows us to set up any viewing connection from the admin panel to bypass access control, creating a truly "admin" experience.
MistServer also supports passing on the SSL keylogfile in order to debug SSL connections if you add this as a boot parameter from the start:
SSLKEYLOGFILE=/path/to/sshkeylogfile MistController -x /path/to/cert.pem -X /path/to/key.pem
Templates
Templates are a bit of an advanced feature within MistServer, but we're quite sure people will like it once they get used to it. With templates you can "save" stream configurations, stream processes and push settings, to then later apply in other cases.
This allows for saving certain encoding settings or new "defaults" for live streams and applying them easily. You can also copy over settings from one MistServer to another by copying the template and applying it once.
Push support for progressive MPEG-TS and MKV over HTTP(s)
You can now push MPEG-TS or Matroska to a http(s) target.
LibSRT updates & patch fixes
We've added a patch to LibSRT to easier see what side of the connection stopped the connection, this allows for better insight on which side of the connection closed first. This patch is made optional and can be activated with the following build flag: SRTSHUTDOWN=true
We've also changed one libSRT default parameter: maxbw , by design this defaults to -1 however this is unrecommended for live usage as it can mean the recovery bandwidth can be set up to 1gbps. We've set this default to 0 which means it is now limited to 25% of the input bandwidth. When calculating bandwidth used for SRT keep in mind that this bandwidth is on top of the inputbw used, so expect streams to take 100-125% of their inputbw.
LibRist support fixed
LibRist had an incompatible setting with mbedTLS as internal library, which caused issues having it be build as a subproject for MistServer. We've patched this incompatibility, so libRist should once again build without problems.
DTSC pull improvements
DTSC pull is now event-based, making it much more reactive compared to before. Additionally the load balancer will set noinput parameters when streams lose their inputs to make switching over servers and reactivating streams within a MistServer CDN much more responsive.
Various other bugfixes and improvements
For the other improvements and bugfixes we'd recommend going to the changelog.