News

12 Aug 2025

[News] Exhibiting at IBC2025

Hey everyone! Like every year, the MistServer team will be exhibiting at IBC2025! If you're planning on attending, be sure to drop by and say hi. We’ll be happy to share our latest updates, upcoming plans or even steal a few great ideas...

Hey everyone!

Picture of IBC2025 banner

Like every year, the MistServer team will be exhibiting at IBC2025!
If you're planning on attending, be sure to drop by and say hi.
We’ll be happy to share our latest updates, upcoming plans or even steal a few great ideas from you if you've got them.

Note: IBC will charge for tickets unless you use a customer code.
Feel free to use ours: IBC6310. You’ll need this near the end of the signup process.

Using the code will make entry free, but also forward the information you enter during signup to us. We will send you a single "thank you" email and then throw that data away.


Here are just a few of the things we’ll be showcasing:

Presentation: Building your own media pipeline powered by Open Source software

Speaker: Jaron Viëtor
Day: Sunday 14 Sep
Time: 12:45-13:00
Location: Hall 5 (5.A28)

Modular streaming platform powered by MistServer

Most streaming platforms lock you into their ecosystem. We do things differently and give you the keys.
MistServer is fully open source, and not only can you self-host your own platform, we actually recommend it.
Run and own everything yourself, yet be able to count on our team for support, advice and custom development.

Broadcast quality & encoding

MistServer has always focused on stream repackaging and internet distribution,
resulting in a robust server that supports nearly every streaming protocol.
However, one area we've been limited in is raw video signals and encoding.
That’s about to change. This year, we're introducing support for raw video signals such as SDI, NDI and (USB) webcams, along with encoding and decoding capabilities.
This means you can now build a complete studio-to-studio or studio-to-server contribution setup using just MistServer.

Updates & improvements

One of our most common questions: What’s new? Fortunately, our changelog has the details, but feel free to ask us in person anyway. We’re always happy to talk shop!

read moreless
6 Aug 2025

[Release] Stable release 3.8 out now!

Hey everyone, we've just released our 3.8 update! A long standing bug where ?stream=STREAMNAME got added to any HTTP output has been resolved. We've improved support for VP8/VP9/Opus and AV1 and made our UI much faster by making it eventbased...

Hey everyone, we've just released our 3.8 update! A long standing bug where ?stream=STREAMNAME got added to any HTTP output has been resolved. We've improved support for VP8/VP9/Opus and AV1 and made our UI much faster by making it eventbased rather than threaded. We've also added methods to use tags and streamname(+wildcard) to make selections.

Downloads can be found here, and the full changelog can be found here.

Noteworthy Changes

HTTP-based URLs in triggers no longer contain ?stream=STREAMNAME

If one of your trigger handles expects this value to be in the URL you will need to update it accordingly. You can still parse the the unprocessed stream name from the URL yourself, or take the processed stream name from the rest of the trigger payload.

Auto-pushes can now be disabled based on specific tags or stream names used as inhibitor.

You can now specifically use #tags or streamname(+wildcard) to not activate the pushing logic

"inhibit":["live+example","#replicated"]

This would invalidate the live+example specifically and any live+wildcard stream with the #replicated tag for this push.

Live stream processes can be disabled through tags and triggers

Similar to the auto-push function you can also select specific streams/tags to not start processes on.

Triggers can now be disabled based on specific tags or stream names.

This one is slightly different compared to processes and pushes. This functionality is in the Applies to field, which is why we've also added a method to unselect a specific #tag or streamname by adding ! in front of it: !#tag and !streamname(+wildcard). This selection will be ran from left to right and can re-activate certain streams to work again. For example first removing all live+wildcard through !live+ then specifically adding live+example to only work for live+example.

DTSC-pulled streams are now automatically tagged with the #replicated tag

This makes it easier to both see which streams are coming from another Mistserver as source, but also to use them for process/pushing/recording logic.

VP8/VP9/Opus support in MP4 input/output

For VoDs that contained any of these codecs you will need to delete the matching DTSH file in order to see the tracks with these new codecs. The old DTSH files are usable, however only the "old" tracks will be used.

AV1 support in RTP (WebRTC, RTSP, SDP) and TS-based protocols (where available).

Note that the AV1 in TS specification is not finalized yet and our output implementation is technically incompatible (though the input implementation is fully compatible with both spec-compliant and our own output). Problems and incompatibilities might occur accordingly, but we do plan to be fully specification compliant in the near future.

read moreless
14 Jul 2025

[Release] Stable release 3.7 out now!

Hey everyone, we've just released our 3.7 update! Some good improvements all around, new feature "stream keys" and WHIP push to other servers! Downloads can be found here, and the full changelog can be found here. Noteworthy Changes New feature: Stream keys Stream keys...

Hey everyone, we've just released our 3.7 update! Some good improvements all around, new feature "stream keys" and WHIP push to other servers!

Downloads can be found here, and the full changelog can be found here.

Noteworthy Changes

New feature: Stream keys

Stream keys adds native support for the most common method of pushing live streams into MistServer. It allows you to set or generate a token for stream names and thus prevent the need for further customization or integration if this is your intended usage.

For more information please look at the documentation. Specifically the stream key documentation.

New feature: WHIP push to other servers

You can now use WebRTC WHIP as a push option. You can do so through the following targets:

  • http: whip://example.com/publish
  • https: whips://example.com/publish

Should an authentication bearer token be needed you can add this through a parameter: ?auth=TOKEN

  • http: whip://example.com/publish?auth=TOKEN
  • https: whips://example.com/publish?auth=TOKEN

We have verified this implementation is cross-compatible with Cloudflare, Twitch and Pion (among others).

New feature: HLS push to Youtube

MistServer now supports HLS push to Youtube specifically. When MistServer recognizes a Youtube puhs url it'll automatically adapt the push output to work. Links such as https://a.upload.youtube.com/http_upload_hls?cid=TOKEN&copy=0&file= that come from Youtube Studio can now be used directly as a push target without further configuration needed.

New feature: Shell-style string quoting and escaping

This has been a limitation for quite a while. MistServer has various places where it would run commands that you specify. However it did not implement shell-style string quoting and escaping. This made it impossible (for example) to put spaces in arguments. You should now be able to copy most commands directly into the MistServer fields that run commands, without having to worry about changing the format to something non-standard.

Pull-styled streams function better

Sometimes pull styled streams (dtsc or srt pull) would run stuttery, several improvements have been made.

Local-only UDP API auto-retries connection

In some environments MistServer would lose contact to its UDP API. This is now able to reconnect properly.

read moreless
18 Apr 2025

[Release] Stable release 3.6 out now

Edit: 21st of April 2025, Fixed an issue with the download links/scripts for Linux/ARM builds. Sorry about that! Hey everyone, we've just released our 3.6 update! Most excitingly, we're finally back to having a unified version of MistServer across all platforms!...

Edit: 21st of April 2025, Fixed an issue with the download links/scripts for Linux/ARM builds. Sorry about that!

Hey everyone, we've just released our 3.6 update! Most excitingly, we're finally back to having a unified version of MistServer across all platforms! It took quite a while, but we're finally there. A few final steps are still needed to bring them all to the same level of quality, but the biggest hurdle has been cleared.

Downloads can be found here, and the full changelog can be found here.

Noteworthy Changes

MistServer MacOS builds are available again

We've resumed our support for MacOS builds, and they are now available once more. They're full-featured and should be nearly identical to the Linux version, except they do not rely on shared memory. This results in only a slight performance hit.

MacOS builds may still complain on boot about having no available RAM, but that message can be safely ignored on that platform.

SRT working on Windows again

SRT should now work for both input and output once more. We managed to work around an issue caused by how Windows handles socket binding. The Windows builds use significantly more CPU time to serve SRT compared to the other platforms, but latency and the SRT protocol functionality itself are otherwise normal.

WebRTC on Windows

WebRTC on Windows is almost fully functional. Currently, it supports a single viewer simultaneously only due to a bug. We didn't want to delay the release for this, so it will be fixed in an upcoming patch.

WebRTC now has multi-path & single socket support

WebRTC now supports migrating connections between mobile and Wi-Fi networks and can operate from a single listening socket. This means you only need to expose one port for WebRTC instead of the entire ephemeral range. It's especially helpful when running MistServer in virtualized environments like Docker/Kubernetes, where forwarding large port ranges is tricky. The setup required to get WebRTC to work has also been made much more simple, and the default configuration should work out of the box for most people.

Tag support improved

The active_streams call now returns stream tags, and you can now start pushes using tags by specifying #some_tag instead of a stream name. Automatic pushes will not start inactive streams, but a single push command will.

Push outputs will now report their current file target in the push status API

Previously, if dynamic variables were used, the API would only show the variable name instead of the final file target. You had to wait until the RECORDING_END trigger to know the result. Now, the push status API displays the final file target, and updates in real-time for segmented pushes.

The autopush API now supports JSON objects

The automatic push commands push_auto_add, push_auto_remove, and push_auto_list have been updated to use JSON objects. The old format remains available for backward compatibility. We'll be updating our documentation to reflect this change.

Push interface improvements

The push interface now allows you to enable/disable automatic pushes. When disabled, they won't trigger a new push under any condition, although existing pushes remain active. This makes managing pushes easier and gives more control.

Additional improvements include: - Quick filtering for showing & stopping pushes - Right-click options to edit, change, or stop pushes - Clicking stream names to visit their preview pages - Categorized push parameters and stream process options for a cleaner interface

Several other bugfixes and improvements

We've made various other minor changes to improve performance and user experience. We recommend checking the full changelog for the complete list.

read moreless
5 Feb 2025

[Release] Bugfix release 3.5.1

Hey Everyone, we've got some bugfixes and added features in this release. Most notable getting Firefox fast again & fixing TS multicast input for IPv4. Downloads can be found here, and the full changelog can be found here. Noteworthy Changes Firefox speed ups We've...

Hey Everyone, we've got some bugfixes and added features in this release. Most notable getting Firefox fast again & fixing TS multicast input for IPv4.

Downloads can be found here, and the full changelog can be found here.

Noteworthy Changes

Firefox speed ups

We've noticed that the hexagon background of the new dark skin was slowing things down on Firefox. We've turned it off on Firefox for now.

TS UDP multicast input (IPv4)

TS over UDP multicast was broken as it was accidentally trying IPv6, we've fixed it.

Better tagging support

A small bugfix for the backend to allow triggers to see tags before a stream is live.

For the interface: You can now set tags during stream creation, meaning a stream would inherit these tags when it becomes active. This works for both live & VoD streams. We've also added support for pushing using tags. Instead of a stream name you can now select a tag by configuring a push for #tag. Any stream that has that tag active will then follow the push instructions given.

Mac Support

We've improved our MacOS support to now finally be compatible with MistServer 3.X versions. Expect a MacOS build showing up in the download page soon! If you don't want to wait, compiling it yourself on a Mac should now work out of the box!

read moreless
Latest 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012