News
[Blog] How-to Encode using Matroska In/Out with FFmpeg
Hello everyone!
We've added a new guide on how to add encoding to a stream using stream processes and FFmpeg. We're planning on adding a Gstreamer version as well as we can't be playing favorites.
Encoding is something that is often requested and hopefully this guide will help explaining how to set it up within MistServer. Just keep in mind that your encoding possibilities very much depend on your own server resources!
If you have any questions or wonder how to set something up specifically feel free to contact us
[News] Exhibiting at IBC2024
Hello everyone!
We will be returning to IBC this year as well This year you'll find at booth 5.F43. Joining us this year will be Sipradius, together we've made some exciting solutions we'll be proudly showing off.
So be sure to drop by if you want to see the last things we've been working on. Pick our brain about how to solve something, or simply drop by to steal our chocolates.
[Blog] Pushing WebRTC WHIP into MistServer using OBS
Hey everyone,
We've been quite busy with setting up the 3.4 release, now that we're done we'll start releasing more articles and how to guides. The first one up is how to push WebRTC WHIP into MistServer using OBS. It's already available in our online documentation right here.
[News] Stable release 3.4
Downloads can be found here and the full changelog can be found here.
Noteworthy changes
Windows builds!
We finally have releases of Windows builds for 3.X, starting with this version. The MistTray taskbar icon application has not yet been updated, so this release does not include it.
MistServer should now be ran using the MistServer Shell
shortcut. This boots MistController in a shell window (which you can minimize to get it out of your way, or keep in view to see the logs in it).
There will still be a few differences in the Windows builds compared to Linux (most notably: WebRTC is not functional in the Windows build right now), but future updates will incrementally get Windows and Linux builds to parity again.
Web interface: New stream status page
The stream status page is a new tool in the web admin interface to more effectively analyse the current state of a stream. It also allows the following actions:
- Add tags
- Stopping viewers
- Stopping sessions
- Nuking stream (forceful reset of the stream)
- Look at the meta-data of the stream
- Easily identify the live point for each track and their respective sync/delay
- Creating/removing triggers
- Starting/stopping pushes
- Starting/stopping recordings
Raw pixel support
Usually you don't want to handle raw pixels in a modern media server, but in some cases it is unavoidable. MistServer now supports a new custom data structure optimized for raw video streams, and WebM/MKV-based inputs/outputs/processes have been updated to support raw pixels.
V4L2 Support (Linux only)
You can now use V4L2 to directly access webcams and other compatible devices with MistServer. Both raw pixel mode and (M)JPEG mode are supported.
RTMPS push input and pull output support
You can now set up RTMP with an SSL certificate to support incoming RTMPS connections. (Outgoing RTMPS connections have been supported for several versions already.)
WebRTC datatrack support
WebRTC (both WebSocket-based signalling and WHEP signalling) now have support for datatracks to receive JSON-based data track messages in sync with playback. Ingest support and trick play signalling over datatracks will follow at a later date.
New settings for processes
The restart behaviour can now be configured, allowing you to set how processes should respond to failure conditions. Stream processes can now be marked as inconsequential (meaning they will not impact when a stream is considered available).
Goodbye Cmake
Support for building MistServer using Cmake is now officially dropped. MistServer can only be build using Meson starting with this release.
[Release] MistServer 3.3 stable release
Stable release 3.3 is now available! Downloads can be found here and the full changelog can be found here.
Noteworthy changes
Improved (live) metadata track support
Metadata tracks (subtitles, JSON side band data, etc) are now properly supported end-to-end. There are new player APIs to request metadata tracks be given to a JavaScript function in-sync with playback. Metadata tracks can now be muxed to and demuxed from private data tracks in TS streams (including SRT and RIST) for effortless replication across systems. A new "protocol" allows easy ingest of subtitles and JSON sideband data tracks over standard input or TCP socket.
Lower live streaming latency
We reworked the internals of our live streaming core code, lowering the minimum end-to-end latency between input and output from at least 1 frame on each track, to at least 1 frame on any track. Especially considering metadata tracks tend to be pretty sparse, this can make a massive difference in terms of latency - making it possible to achieve sub-second latency with less effort than ever before.
Clipping support
It is now possible to create short VoD clips on-demand from both VoD and live streams, in any/all supported output formats (including MP4, MKV, WebM, TS, FLV, etcetera).
Chromecast and video pop-out support
The built-in meta-player now supports playing back to and remote controlling Chromecast devices, as long as the player was loaded over HTTPS. It is now also possible to use the video pop-out feature some browsers offer.
HLS DVR input now full-featured
It is now possible to use an ongoing HLS-format recording as source for a stream that then will support both live playback and seeking into the full DVR window of the recording. This also works with remote HLS streams, both VoD and live. For now, the HLS streams must use TS segments (fMP4/CMAF segment support will come in a future version).
Exit reasons
There is a set of new triggers and log messages that track why a process shut down / stopped, which greatly eases debugging and allows for more reliable tracking if an operation succeeded or failed.