23.12 Media Server

23.12 release notes of Flussonic Media Server introduces features like ad insertion with SCTE-35 markers via API method, DRMtoday integration, administrative tools and other enhancements. Additionally, it includes optimizations, bug fixes, and documentation updates for better performance and user experience.

SCTE-35 markers

For independent ad insertion. API method was implemented, so that SCTE-35 markers are integrated into ad windows.

Flussonic API

To make it easier to keep track of where streams are pushed when pushed to multiple locations, the parameter for a text comment was added to describe a push or an input.

Integration with DRMtoday

To access advanced DRM capabilities, including encryption and expand content protection, Flussonic Media Server is integrated with DRMtoday. To use DRMtoday with Flussonic, learn how to configure the CPIX DRM here: https://flussonic.com/doc/drm-description/#cpix-api

Integrating EIT data into MPTS

When using EIT-generators or receiving EITs in incoming streams, we added an ability to copy EITs from the input stream without any changes, as an alternative data integration method.

Logos in Flussonic Coder

Users can add logos to incoming streams or customise video content with them in Flussonic Coder.

Admin UI

To let our users leave human-readable comments to streams and pushers and simplify the admin work, the field for text comment about push or an input was added. The field provides information on where streams come from and where they are sent when the config grows.

CMAF protocol

To let our customers use CMAF on the same level as all other protocols, we made it be a part of the protocol list enabled by deafult.

Our own SRT implementation

We implemented our default SRT for all streams to:

  • Get config right when the connection is established
  • Store the config data for each source in an external database
  • Receive reliability and additional speed-of-service capabilities

Archive download

We resolved an issue with interrupted archive downloading via the Agent proxy when the connection between Flussonic and Agent is slow.

Flussonic RAID

We increased the performance of Flussonic RAID storage by allocating its storage resources for streams in batches.

For quicker cleanup operations in Flussonic RAID, we improved the archive cleanup mechanism.

Bugs fixed

Fragment export
We fixed issues with autocorrecting when setting start and end time of an exported fragment. The new DVR Player interface also provides improved timeline markers for the exported fragment.

Deleting deprecated fields
To maintain system health, we deleted deprecated fields ‘since’ and ‘last_error’ from the push stats.

API option to play MPTS over HTTP
An older and unsupported API option that allowed for playing MPTS streams over HTTP was removed. It was primarily used for debugging purposes.

Supporting MP2A encoded tracks
To play non-Apple-standard streams over HLS, audio tracks are correctly packaged into multi-language HLS streams (/video.m3u8).

Retroview statistics
Retroview statistics service performance was improved, for more details refer to: https://flussonic.com/doc/retroview-service/

Stream ingest
We fixed the issues with audio track drops and transcoder reconfiguration when streams are ingested with lots of DVB subtitle tracks. With this fix we ensure that DTS for audio does not break and streams keep on playing.

UDP push streams
We resolved an issue when UDP push streams experienced interruptions during “source_timeout” periods, even when a backup source was available and running.

Stream restart at ad insertion
The streaming process no longer restarts when advertisements are being inserted into a stream.

SRT protocol implementation
The ‘libsrt’ implementation of an SRT protocol is available via the ‘srt1://’ URL scheme, providing stability of Flussonic Media Server and avoiding overload of transcoder and video freeze.

Playing HLS after restreaming
There is a compatibility issue in HLS streaming resolved. With this fix players are capable to play content after restreaming in a correct ISO 639-2 alpha3 format (instead of an iISO 639-1 alpha2 format used before).

DVR player
The issue related to audio track switching during DVR playback mode was resolved. Users no longer need to click the green area of the timeline for audio track switching and prevents short-time switching. There is no duplication of the preview frames displayed instead of one, when selecting the exported interval in a desktop browser. The preview frames no longer display too far when hovering over the timeline.

Since 23.12 if ‘protocols’ option is specified in the config, the playback starts DVR Player in the Admin UI as intended. Mute option is now supported for WebRTC playback on the embed.html page.

Flussonic API
To be able to get disc information using Openmetrics with Flussonic, we fixed an issue with disk I/O metrics missing in the response to GET /config. The io_util parameter is returned among other information about disks on the server.

We reduced packet loss with the improved calculation of a NACK interval in SRT implementation.

A properly described peer authorization error appears in response to GET /config when peers are added in Media Server config, instead of an HTTP 500 error.

Let’s Encrypt certificates
Let’s Encrypt certificates are now properly issued and renewed via Flussonic Admin UI.

SHOUTcast ingest over HTTPS
By ensuring compatibility with Erlang 26, Flussonic Media Server now effectively handles SHOUTcast streams over HTTPS.

RTMP URL ingest
RTMP URLs with an empty application name are now ingested in the correct way.

Memory leaks and ‘thumbnails’ option
We resolved an issue with memory leaks occurring when the ‘thumbnails’ option was enabled for numerous streams.

MPEG-TS ingest
MPEG-TS ingest over UDP no longer crashes when there are any changes to the input options made.

DVB subtitles
DVB subtitles are now correctly converted to the WebVTT format during SRT ingest, improving compatibility and compliance with web-based video standards.

Stability of transcoder
We improved stability and reliability of a transcoder when working with specific types of MPEG-TS sources.

Admin UI
To remove excessive operations that caused errors, we fixed Flussonic update procedure initiated by clicking a button in Admin UI.

SRT pusher
We resolved an issue where the SRT pusher in the SRT implementation was not sending the Stream ID extension correctly when using the push srt2:// command or configuration.

RTMP publications
For a stable operation of RTMP publications when using ‘config_external’, there is no unexpected termination with the ‘reached_max_restart_intensity’ reason.

Cowboy web server issues
We resolved an issue in the Cowboy web server that was causing excessive CPU usage and memory leaks due to connections not being properly closed (hanging in “Closed” state).

Episode list
Parameter ‘name’ is no longer used instead of ‘media’ in the requests for fetching an episode list from Central to Media Server.

SCTE-35 markers
We fixed logging of SCTE-35 ad insertion markers.

VSAAS.IO
There was an issue fixed when a stream name was unexpectedly changed to “undefined” in the address bar when a stream profile was browsed on VSAAS.IO.

Media Server Documentation

IPTV/OTT Introduction page
The IPTV/OTT short intro page was enhances with a list of objectives that can be achieved with Flussonic Media Server

Load balancing
The note on the Load Balancer was added with the information on its compatibility with HTTP-based protocols like HLS, DASH, and WebRTC.

Multiplexer intro page
To explicitly list the objectives that can be achieved with the Flussonic multiplexer, we updated the Multiplexer intro page: https://flussonic.com/doc/mpts-multiplexer/

API design principle
API design principle regarding data [creation and upsertion] was updated to state conformity with RFC 7386 JSON Merge Patch standard.

Multicast source redundancy
The article about multicast source redundancy explains the objectives of Source Specific Multicast (SSM) more clearly.

Flussonic Media Server API
Media Server documentation is improved with an updated description of episodes_url, storage_limit, expiration, and episodes_expiration parameters with explanation of the logics applied when episodes_url does not respond.

Quick Start page update
Information about the Internet connection being required for activation and operation of Flussonic Media Server was added to the Quick Start page.

UGC Implementation Guideline
The instructions related to transcoding in the Flussonic UGC Implementation Guideline were updated.

Prometheus
The examples of possible applications for Prometheuswith Flussonic are added.

Data Source Types
MPTS SSM source was added to the list of Data Source Types.

Flussonic Coder
The screenshot of Flussonic Coder System information was fixed to remove .local from hostname because it is not a valid suffix.

WebRTC config process
The article about WebRTC Publishing was updated to better explain the configuration process.

SRT Playback
Ports that are not matched in configuration examples and URLs on SRT playback page were fixed.

Main menu
The main menu of the documentation was improved for a more convenient navigation achieved with distinguishing products from solutions.

Bugs fixed

We fixed an issue of the published video expanding to full screen at the publication start in Flussonic WebRTC Player on iPhone.

Incorrect working of autoplay was fixed. When users joins the publication, it automatically starts playing in Flussonic WebRTC Player.