Release 1.0.0
Build date
2022-06-23
Release status
Type: First production ready release
Release content
Product version
1.0.0
Release artifacts
Details | Filename | SHA-256 |
---|---|---|
Ingest binary, headers, and shared libraries | acl_v1.0.0-336067b-release.zip | f2beb75a0109403860d455bde14618e4e7a9bbf690b5a7ed79f743fb19224cef |
Ingest binary, Headers, and shared libraries, debug build | acl_v1.0.0-336067b-debug.zip | e555ea542b84f73008efa0ab3769835e456c31f499ef88d6a315bb0506592d04 |
System Controller | acl_system_controller_v1.0.0-0f2417f.zip | 82094afe07da10c81d96fab03babca1737ca48f57c2cde9584babebbe44db947 |
Library details
libacl-ingest.so
Version: 7.0.0
Library containing the IngestApplication class used to implement an Ingest component.
libacl-productionpipeline.so
Version: 8.0.0
Library containing the MediaReceiver, MediaStreamer and ControlDataReceiver classes, used to implement a Rendering Engine.
libacl-controldatasender.so
Version: 7.0.0
Library containing the ControlDataSender class, used to send control messages to a ControlDataReceiver component.
Changelog
Ingest 7.0.0
- New metrics are available for the Ingest streamconnections in the REST API that can be used to monitor the streams.
- Fixed bug where the Ingest would crash with a
std::runtime_error
if grabbing a thumbnail on hardware without an Intel CPU with integrated GPU. - Improved error messages for encoders and sources.
- Missing fields in the REST API for the Ingests have been added, such as
max_network_latency_ms
for streamconnections. - Logs are now automatically flushed every 5 seconds.
- The class
StaticIngestSystemController
has been removed, please use theSystemControllerConnection
class and the system controller instead.
Production Pipeline 8.0.0
- New metrics are available for the Pipeline streamconnections and Output in the REST API that can be used to monitor the streams.
- Fixed the AUD format in MEPG-TS output of the Pipelines when using HEVC, which earlier caused clicks in the audio channel and a lot of
Invalid NAL unit 4, skipping.
errors when playing back the streams using ffmpeg. - Support for labels (so-called “Under Monitor Display”, UMD) in the multi-view outputs. The labels are set through the REST API when setting up multi-view outputs and can be changed at runtime.
- Missing fields in the REST API for the Pipelines have been added, such as
max_network_latency_ms
,alignment_ms
andconvert_color_range
for streamconnections. - Fixed DTS calculation for output streams in both the Multi-view generator and Output components.
- The network connections between a
ControlDataReceiver
and otherControlDataReceivers
are now using TCP as protocol instead of SRT, which means that the messages are delivered as soon as they arrive and that no control messages will be dropped due to to timeouts in the transport. - Fixed a minor CUDA memory leak in the multi-view generator that caused a slow, constantly growing GPU memory usage.
- Fixed CUDA memory corruption sometimes occurring when stopping and quickly restarting a multi-view output.
- Nvidia Ampere GPUs are now working with older CUDA drivers than version 510.
- Logs are now automatically flushed every 5 seconds.
- The classes
StaticMediaReceiverSystemController
andStaticMediaStreamerSystemController
have been removed, please use theSystemControllerConnection
class and the system controller instead.
Control Data Sender 7.0.0 and Control Data Receiver 8.0.0
- The network connections between a
ControlDataSender
andControlDataReceivers
are now using TCP as protocol instead of SRT, which means that the messages are delivered as soon as they arrive and that no control messages will be dropped due to timeouts in the transport. - The classes
StaticControlDataSenderSystemController
andStaticControlDataReceiverSystemController
have been removed, please use theSystemControllerConnection
class and the System Controller instead.
System Controller 1.0.0
- Support for setting CORS and custom HTTP response headers in the configuration file.
- Improved validation of HTTP request payloads and improved error messages.
- New endpoint for deleting any type of component,
[DELETE] /component
. - New, built-in Prometheus exporter, accessible through endpoint at
[GET] /metrics
. - The version of the running system controller is now returned in each HTTP response in the
X-Binary-Version
header.
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.
MPEG-TS output
The timestamps in the MPEG-TS output are not equidistant, which might confuse some playback tools. Playback the stream using a tool that works for now, such as ffmpeg.
Pre-shared key
The pre-shared key used to authorize components in the System controller is currently hard-coded into the Ingest application. This means that the psk
in the System controller’s example config file must be used, otherwise is it not possible to connect an Ingest to the system.