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
,good
orbetter
speed/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.fast
andgood
is changed tobalanced
,faster
tofastest
andbetter
tobest
. - 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. Streams
andControl Connections
now 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_id
concept has been completely removed.- The endpoints related to
Control Connections
are now on the top level and the same endpoints are used whether the connection is originating from a ControlDataSender or a ControlDataReceiver. BothControl Connections
andStreams
are now closed using their UUID and the correspondingDELETE
endpoints. Also thePATCH
endpoints use the UUID of the connection to identify the connection to make changes to. - The
Output
andControl Receiver
endpoint has been moved in under thePipeline
endpoint to better show their tight connection. When querying the Pipeline endpoint it will return itsOutputs
andControl Receivers
. - The parameter
id
used for an Ingest’s sources has been changed tosource_id
. - The parameters
resolution_x
andresolution_y
have been changed towidth
andheight
. - The endpoint for
/components
has been removed in favor for the/ingests
,/pipelines
and/controlpanels
endpoints. - The thumbnail endpoint now has a new parameter
encoder
where the user can explicitly request that a certain encoder should be used for encoding the thumbnail. Current options areintel_gpu
,nvidia_gpu
orauto
, 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.