24.08 Media Server
With the Flussonic Media Server 24.08 you will learn how to capture NDI signals, manage DVR archive depth for users and easily filter user_agent.
Great news: We now offer custom firmware for your hardware appliances! If you prefer ready-made solutions, stay tuned: we will soon release Lutra boards — our hardware transcoder that can be installed into the U2 slot.
Check up the main updates and bug fixes:
New Features
-
NDI ingest support added: Yes, we can ingest the NDI protocol now! Write to our support to know how.
-
Custom firmware for your hardware appliances: Now we can easily make custom Flussonic firmware for different hardware appliances. Let us know if you need it.
-
Lutra Boards are ready to go: An improved version of our Hardware Coder can be installed into the U2 slot of your server. New generation board named Lutra makes hardware more flexible and allows you to support a variable set of storage, network, etc. Don’t miss the market release: follow our news!
-
Control the playback DVR depth per user: In the 24.08 release we added limitation of available playback DVR depth controlled by authorization backend. Now you can limit the available depth of DVR archive per user.
-
Easily filtering by user_agent: You can filter user_agent on partial match on authorization configuration. For exact match use external HTTP backend.
-
Validate streams from a third-party transcoder: If you have a third-party transcoder that outputs multiple quality levels in UDP streams, and you are going to integrate it into Flussonic, we strongly recommend you to ensure that a transcoder provide a smooth DASH/HLS output with reliable bitrate switching for the player. Try our debugging tool to check it out.
-
Our DVR player is ready to install: You can now install a DVR player via NPM or connect via CDN. DVR player is a JavaScript library you can integrate to your page or application to play DVR streams and archive from cameras.
-
Added the standby option to the multiplexer pushes interface: Now you can see the standby button and the status of the multiplexer push interface.
-
Unified debugging tool for all protocols: We created a single tool to debug any protocol ingest. Open itcontrib/input.erl, and you will see information about frames and media events in text format.
Improvements and changes
- Enhanced resampling AAC 44110 to Opus 48000.
- Enhanced calculation of frame duration in Jetson and Nvidia encoders. More stable calculation of segment duration for DASH.
- Enhanced playback of 3-line subtitles.
- Added workaround for buggy RTMP source sending invalid frame tags.
- Removed AJA SDI card support.
New in Media Server Documentation
- New article: ‘How to prepare multibitrate stream’.
- Added information about storing password in a hashed form.
- Refactored the article to how play published stream with LL-HLS.
- Described two ways to run Flussonic in Docker.
- Added the note about unqualified Nvidia cards.
Bug fixies
- Fixed the display of the message ‘No DVR recording here’ when there is actually a recording.
- Removed obsolete
push udp1://
, there is only one UDP pusher now. - Fixed playback from buggy RTSP camera that sends audio in SDP but doesn’t send it in RTP.
- Fixed rare bug with publishing via RTMP from Elemental.
- Fixed problems with connecting to Arimix RTSP camera via Agent.
- Added handling of different SRT key sizes.
- Better handling of invalid RTMP message from OBS.
- Splited push protocols in OpenAPI schema into different choices.
- Fixed generation of empty subtitles on DASH DVR playback.
- Fixed migration of RAID between disks when have streams with broken index.
- Fixed the inability to view the archive when the source is currently unavailable.
- Now pushers will restart on reconfiguration instead of silent work with old config
- Fixed double SRT key generation on handshake.
- Added workaround for buggy IDIS cameras that send RTP before PLAY request.
- Fixed crash in UDP pusher while capturing PCMA/Opus audio from IP camera.
- Fixed error handling of play/publish to disabled stream via RTMP.
- Fixed the timeline display indicating that the archive doesn’t exist when it actually does.
- Allow configuring timeout of cluster interconnect.
- Fixed IP and protocol display in stream list.
- Fixed regression with endless restart of transcoder. Added better protection from broken H264 stream.
- Fixed infinite loader at the stream save button.
- Fixed the application error when entering the Central stream page.
- Fixed the display of video loading indicator on top of already playing video.
- Now ranges_list can return reduced amount of ranges, selected by from-to borders and resolution.
- Enhanced configuring VBI lines from UI.
- Fixed DVR player installation via Yarn.
- Now api/v3/streams/NAME/stop will stop DVR state also.
- Fixed memory leakage in MPEG-TS UDP pusher.
- Fixed publication from Harmonic Electra XT via RTMP.
- Fixed invalid generation of S3 Auth signature.
- Config validator will pass same UDP groups with different bind ips.
- Fixed the part of archive download.
- Fixed regression with timeout on streams_list method due to extremely long ranges list.
- Added protection from removing episodes earlier than episodes_duration from DVR when config_external is not responding.
- Enhanced opentelemetry tracing of HTTP API calls.
- Added handling of broken SDP on uniview camera with 0 framerate.
- Fixed the timeline zoom when initializing the player. Now it is set in seconds.
- Added workaround for Erlang new behaviour that broke tls1.3 sources.
- Added handling of closed_captions parameter to SRT input.
- Fixed sending running_on while using cluster_ingest.
- Deleted crossdomain.xml from package. Time to bury the stewardess.
- Added handling to agent message of failed buffer allocation.
- Added dynamic changing of named DVR location provided by config_external.
- Changed NDI sources from ‘host (name)’ to ‘host/name’.
- Fixed capturing AC3 with DekTec SDI.
- Changed dependency of NDI package to avahi-daemon.