Release 3.0.0
Build date
2023-01-23
Release status
Type: Third production ready release
Release content
Product version
3.0.0
Release artifacts
| Details | Filename | SHA-256 |
|---|---|---|
| Ingest and Rendering Engine binaries, headers, and shared libraries | acl-3.0.0-d4de107.zip | 4743f2c8c6fe74b09d04a0210747276fac7ef9fa0145a7ee51ec54de4def84dc |
| System Controller | acl-system-controller-3.0.0-10046c8.zip | 919f469ed773bb3ad65735d41dd0942e08b91bd23a317f7227ccdccbc2807437 |
Library details
libacl-ingest.so
Version: 9.0.0
Library containing the core Ingest functionality used by the acl-ingest executable.
libacl-productionpipeline.so
Version: 10.0.0
Library containing the MediaReceiver, MediaStreamer and ControlDataReceiver classes, used to implement a Rendering Engine. Also used by the acl-renderingengine application
libacl-controldatasender.so
Version: 9.0.0
Library containing the ControlDataSender class, used to send control messages to a ControlDataReceiver component.
Changelog
Ingest 9.0.0
- Ingesting interlaced sources is now supported both with the Intel and Nvidia encoders. De-interlacing is automatically applied to interlaced input, so no extra work is needed by the user of the REST API when setting up the stream compared to a progressive source. The implementation supports de-interlacing 50i sources into 50p.
- The Ingest now supports encoding JPEG thumbnails using Nvidia GPUs. For now, only the first Nvidia GPU will be used on multi-GPU systems.
- Earlier when encoding HEVC with the Intel encoder, the setup would fail in case any of the
fast,faster,goodorbetterspeed/quality settings were used, as these were not supported by the encoder. Now these settings are automatically changed to the closest supported setting, i.e.fastandgoodis changed tobalanced,fastertofastestandbettertobest. - The Intel JPEG encoder now supports encoding JPEGs with a width that is not evenly divisible by 16. Also requests for thumbnails with odd number of pixels in width/height will automatically be encoded with one extra pixel in width/height compared to the request, instead of failing the request.
- The Intel JPEG encoder now supports encoding thumbnails of interlaced sources.
Rendering Engine 1.0.0
No new features since last release.
Production Pipeline 10.0.0
- The network endpoints of the incoming streams from the Ingests are now closed after the Ingest has connected.
Control Data Sender 9.0.0 and Control Data Receiver 10.0.0
- Support for connecting multiple ControlDataSenders (or Receivers) to a single ControlDataReceiver is now working again.
- Improved verification of the established connection between ControlData components.
- Message delay can now be set per incoming connection to a ControlDataReceiver.
System Controller 3.0.0
- New version of the REST API, v2, which is served from
/api/v2. The API has been reorganized and cleaned up to make it easier to use. StreamsandControl Connectionsnow get their own unique UUIDs when created using the REST API. This UUID is then used to reference the connection when making changes to and closing the connection. The UUID is returned when the connection is created and is also shown when querying information from the components on both sides of the connection. The oldconnection_idconcept has been completely removed.- The endpoints related to
Control Connectionsare now on the top level and the same endpoints are used whether the connection is originating from a ControlDataSender or a ControlDataReceiver. BothControl ConnectionsandStreamsare now closed using their UUID and the correspondingDELETEendpoints. Also thePATCHendpoints use the UUID of the connection to identify the connection to make changes to. - The
OutputandControl Receiverendpoint has been moved in under thePipelineendpoint to better show their tight connection. When querying the Pipeline endpoint it will return itsOutputsandControl Receivers. - The parameter
idused for an Ingest’s sources has been changed tosource_id. - The parameters
resolution_xandresolution_yhave been changed towidthandheight. - The endpoint for
/componentshas been removed in favor for the/ingests,/pipelinesand/controlpanelsendpoints. - The thumbnail endpoint now has a new parameter
encoderwhere the user can explicitly request that a certain encoder should be used for encoding the thumbnail. Current options areintel_gpu,nvidia_gpuorauto, where the last option will make the Ingest select the best encoder that is supported on the hardware the Ingest is running on.
Known limitations
GPU performance
The GPU utilization in the Ingest status message is currently not working. Use intel_gpu_top and/or nvidia-smi instead.
Drivers
You need to install the CUDA Toolkit on Ingest machines, even if they don’t have Nvidia cards.
Audio channels
Only stereo audio is supported with two channels embedded per connected input.
Security issues
There is no rate limiting implemented in any of the components. Should the application be running in a network where ports are accessible to unauthorized users, there is a risk of a denial of service (DOS). The network should be configured with firewall rules closing out unauthorized users.
Encryption (HTTPS) is not enabled by default in acl-system-controller. This means that pre-shared keys (PSK) used for encrypted communication between components and the System Controller will be exchanged in the clear and could be revealed.
Client authentication is not enabled by default in acl-system-controller so anyone with access to HTTP on the machine hosting acl-system-controller will have access to the REST API.
Even when client authentication is enabled, there is no enforcement of the length or format of the password. Also note that HTTPS should be enabled when using client authentication since the credentials would otherwise be sent in clear text.
It is strongly recommended to enable both HTTPS and client authentication.