Flussonic Media Server 24.08

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.

Our guide how to update FMS

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

  1. NDI ingest support added: Yes, we can ingest the NDI protocol now! Write to our support to know how.

  2. 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.

  3. 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!

  4. 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.

  5. Easily filtering by user_agent: You can filter user_agent on partial match on authorization configuration. For exact match use external HTTP backend.

  6. 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.

  7. 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.

  8. Added the standby option to the multiplexer pushes interface: Now you can see the standby button and the status of the multiplexer push interface.

  9. 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

  1. Enhanced resampling AAC 44110 to Opus 48000.
  2. Enhanced calculation of frame duration in Jetson and Nvidia encoders. More stable calculation of segment duration for DASH.
  3. Enhanced playback of 3-line subtitles.
  4. Added workaround for buggy RTMP source sending invalid frame tags.
  5. Removed AJA SDI card support.

New in Media Server Documentation

  1. New article: ‘How to prepare multibitrate stream’.
  2. Added information about storing password in a hashed form.
  3. Refactored the article to how play published stream with LL-HLS.
  4. Described two ways to run Flussonic in Docker.
  5. Added the note about unqualified Nvidia cards.

Bug fixies

  1. Fixed the display of the message ‘No DVR recording here’ when there is actually a recording.
  2. Removed obsolete push udp1://, there is only one UDP pusher now.
  3. Fixed playback from buggy RTSP camera that sends audio in SDP but doesn’t send it in RTP.
  4. Fixed rare bug with publishing via RTMP from Elemental.
  5. Fixed problems with connecting to Arimix RTSP camera via Agent.
  6. Added handling of different SRT key sizes.
  7. Better handling of invalid RTMP message from OBS.
  8. Splited push protocols in OpenAPI schema into different choices.
  9. Fixed generation of empty subtitles on DASH DVR playback.
  10. Fixed migration of RAID between disks when have streams with broken index.
  11. Fixed the inability to view the archive when the source is currently unavailable.
  12. Now pushers will restart on reconfiguration instead of silent work with old config
  13. Fixed double SRT key generation on handshake.
  14. Added workaround for buggy IDIS cameras that send RTP before PLAY request.
  15. Fixed crash in UDP pusher while capturing PCMA/Opus audio from IP camera.
  16. Fixed error handling of play/publish to disabled stream via RTMP.
  17. Fixed the timeline display indicating that the archive doesn’t exist when it actually does.
  18. Allow configuring timeout of cluster interconnect.
  19. Fixed IP and protocol display in stream list.
  20. Fixed regression with endless restart of transcoder. Added better protection from broken H264 stream.
  21. Fixed infinite loader at the stream save button.
  22. Fixed the application error when entering the Central stream page.
  23. Fixed the display of video loading indicator on top of already playing video.
  24. Now ranges_list can return reduced amount of ranges, selected by from-to borders and resolution.
  25. Enhanced configuring VBI lines from UI.
  26. Fixed DVR player installation via Yarn.
  27. Now api/v3/streams/NAME/stop will stop DVR state also.
  28. Fixed memory leakage in MPEG-TS UDP pusher.
  29. Fixed publication from Harmonic Electra XT via RTMP.
  30. Fixed invalid generation of S3 Auth signature.
  31. Config validator will pass same UDP groups with different bind ips.
  32. Fixed the part of archive download.
  33. Fixed regression with timeout on streams_list method due to extremely long ranges list.
  34. Added protection from removing episodes earlier than episodes_duration from DVR when config_external is not responding.
  35. Enhanced opentelemetry tracing of HTTP API calls.
  36. Added handling of broken SDP on uniview camera with 0 framerate.
  37. Fixed the timeline zoom when initializing the player. Now it is set in seconds.
  38. Added workaround for Erlang new behaviour that broke tls1.3 sources.
  39. Added handling of closed_captions parameter to SRT input.
  40. Fixed sending running_on while using cluster_ingest.
  41. Deleted crossdomain.xml from package. Time to bury the stewardess.
  42. Added handling to agent message of failed buffer allocation.
  43. Added dynamic changing of named DVR location provided by config_external.
  44. Changed NDI sources from ‘host (name)’ to ‘host/name’.
  45. Fixed capturing AC3 with DekTec SDI.
  46. Changed dependency of NDI package to avahi-daemon.