Release 7.0.0

Agile Live 7.0.0 release information

Build date

2024-05-21

Release content

Product version

7.0.0

Release artifacts

DetailsFilenameSHA-256
Ingest binary and shared libraryagile-live-ingest-7.0.0-809031f.tar7532b16204bcf4d8e018284bbfd93606106132a2307428fcee098269c0117d86
Rendering Engine binary and acl-libproductionpipeline shared libraryagile-live-renderingengine-7.0.0-809031f.tara0e7ff5ef26dc6dc679d3db2fbdef65dd330baadce2e9ae0bb8abde88d09c1ca
Generic control panels and acl-libcontroldatasender shared libraryagile-live-controlpanels-7.0.0-809031f.tar188f2ed50e9bf6726e02dc0a7a61c0ab99337890ce806a35dc3472580770291f
Include filesagile-live-dev-7.0.0-809031f.tar00e6b561cbf71275bbefb93d16f94cd7efb91f29204fff2823fd2a34982834ae
System Controlleragile-live-systemcontroller-7.0.0-6c26469.tar52618467f6417d12e77f3c03b012aa6444443cb523b562309318e7cf74e14890

Changelog

  • Add support for customizing the video and audio mixers using a config file passed to the acl-renderingengine application at startup
  • A new endpoint [PUT] /pipelines/{uuid}/reset has been added to the REST API, which is used to make the Rendering Engine/Pipeline reset its runtime state back to what it was when the application started. This includes resetting audio strip mappings, resetting all parameters in all video graph nodes and closing all HTML browsers and media players
  • The REST API has been overhauled and improved, resulting in a version bump to /api/v3. Major changes include removal of most of the controlreceviers concept as well as improved format of the JSON responses of the control panel endpoints
    • The UUIDs of control receivers have now been removed. Instead exactly one ControlDataReceiver instance is connected to each Pipeline/MediaReceiver, meaning the Pipeline’s UUID is now used in place of the control receiver UUID when setting up control connections.
    • The C++ SDK has changed when creating ControlDataReceiver and MediaStreamer instances. Now they are grabbed/created via the MediaReceiver class API.
    • The ControlDataReceiver and MediaStreamers will now use their parent MediaReceiver WebSocket connection to the System Controller, reducing the overall number of network connections to the System Controller
  • The EQ of the audio mixer has been reworked. It can now include up to 10 filters, where each filter can be configured to any of these types: lowpass, highpass, bandpass, lowshelf, highshelf, peak or notch. The audio quality of the already existing EQ filter types has been improved.
  • The audio mixer (and audio router), video mixer, media players and HTML browsers can now be reset via the Control panel API.
  • The quality of the deinterlacing algorithm of the Ingest has been improved
  • The encoder of the Ingest now supports automatic reconfiguration when a format change occurs for the input source, without having to tear down and reconnect the stream via the REST API (Nvidia encoder only)
  • The internal audio mixer has received a mute functionality, both for each input in an output bus, and for the master fader of each output bus.
  • The internal audio mixer has a new automatic volume transition command, where a single command can be sent to fade the volume to a specified level over a set time
  • Audio mixer outputs can now be set up as “post fader auxes”, to follow a certain audio mixer output, possibly removing some of the inputs from the aux mix (so called mix-minus)
  • All Control Panel commands for the video mixer nodes are now prefixed with video to make them more coherent with the other commands which has the target module as the first keyword. The old way of having just the video node name as first keyword is still supported for backwards compatibility.
  • The REST API calls to list the Pipelines, Ingests and Control panels with the expand flag set to false will now return the name of the component together with the UUID, for easier mapping between name and UUID.
  • The negotiated SRT latency, (i.e. max of the peer’s requested SRT latencies) can now be seen in the REST API for both outputs and SRT sources
  • The multithreading performance of MediaStreamers has been improved, allowing more outputs to be set up from Rendering Engines
  • The Ingest now supports sending an 8 bit incoming SRT sources as 10 bit HEVC to a production
  • The System Controller now performs a version check on the major version of all components when they try to connect, and rejects those with another major version to prevent version mismatches
  • Logging of important, successful events, such as stream/controlconnection setups and teardown has been improved
  • Resolved an issue with outputs and multi-views where some SRT clients could cause the SRT connection to lock up and sometimes cause the Rendering Engine to freeze for up to two minutes
  • SRT sources now have better drift detection and correction
  • HTML browsers will no longer display an error message instead of the HTML page when the HTML page failed to load, e.g. if the server was not reachable. Use the logs for debugging why the HTML page is not shown instead
  • Fix a bug where the Prometheus metrics endpoint in the System Controller would get stuck, reporting the same old values over and over again in some cases.
  • The Prometheus metrics endpoint now stops reporting values for old metrics, whether they are temporarily or permanently gone
  • Fix an issue where the lost_frames and dropped_frames counters were wrongly incremented for NDI sources when grabbing thumbnails
  • Fix an issue where the TCP ports could lock up in the TCP control panel
  • The default settings for the compressor has changed to make it inactive as default
  • Logging of new and closed connections in acl-websocketcontrolpanel has been improved
  • The Ingest will now return an error when trying to close an SRT source that is in use by a stream
  • Fix a bug where the Rendering Engine would hang in some cases when a media player was closed
  • Control Commands for the Media and HTML modules are now logged to the control command log
  • All applications now shut down gracefully when SIGHUP is sent to them
  • Fix bug where the UUID for the output was set to the UUID of the Pipeline for output stream metrics in the Prometheus exporter
  • Fix bug where the sides of portrait mode HTML browsers would have video artifacts
  • Fix bug where the RTT for Outputs and Multi-views was always reported as 0
  • Fix bug where the video mixer could malfunction if the resolution of the Rendering Engine was changed between two productions

Known limitations

Media Player

Videos will be stretched in case the video played does not have the same aspect ratio as the Rendering Engine is using.

GPU performance

The GPU utilization in the Ingest status message is currently not working. Use intel_gpu_top and/or nvidia-smi instead.

MPEG-TS over UDP

For Outputs and multi-view outputs it is currently not possible to bind to a specific IP and port with MPEG-TS over UDP, even if local_ip and local_port are exposed in the REST API.

Drivers

You need to install the CUDA Toolkit on Ingest machines, even if they don’t have Nvidia cards.

Security

No known issues