v.5.115.0#
Changes
-
In one release of LUNA PLATFORM support for Backport 3, Backport 4, UI 3, and UI 4 will be discontinued. All information about them will be removed from the documentation and Docker Compose script.
-
The SDK has been updated to version 5.30.0.
LUNA PLATFORM has been enhanced with these updates:
-
OneShotLiveness
to version 11 AgeNet
to version 7 — updated the main network and added an optimized version for scenarios where the priority is processing speed with an acceptable level of accuracyEyeEstimator
to version 3-
QualityEstimator
to version 4 -
Support for negative video orientation angles (
-90
,-180
,-270
) has been added.Previously, if the source of data for rotation determination (the
orientation_strategy
parameter) was set tovideo_info
(the rotation angle is determined from video metadata) and the video contained a rotation label with a negative angle, processing would fail with the error code43010
and the messageUnsupported image rotation from video info: -90.0
.
Now, videos with negative angles obtained from video info are processed correctly. -
The permissions specified in the token have been updated:
Now the "event" permission has the "deletion" right. See request create token.
-
The capability to delete events/general events by their
event_id
using new requests has been added. See delete event and delete general event. -
The OpenAPI specification has been updated.
The documentation now explicitly specifies parameter groups for configuring default limits:
- For matcher requests: the
LUNA_HANDLERS_LIMITS
andPLATFORM_LIMITS
parameter groups regulate the maximum number of references in a query and candidates in a response. - For image processing (requests sdk resource and generate events): in the parameter groups
LUNA_REMOTE_SDK_LIMITS
andLUNA_HANDLERS_LIMITS
the maximum number of images in one request is regulated. - For handlers (create handler):
LUNA_HANDLERS_LIMITS
controls the maximum number of elements inmatch_policy
.
Note: When increasing the limits, please keep in mind that this may affect the performance of the system.
For the parameters mentioned above, see Configuration parameters of services.
- For matcher requests: the
-
The ability to import and export Lambdas has been added.
Now you can save the complete lambda configuration as an archive, which can be used to accurately recreate it in another environment.
The result of Lambda export is a zip archive containing:
- Docker image of the lambda;
- source archive provided when creating the lambda;
- JSON file with lambda parameters specified when creating it, namely:
credentials
, lambda settingsparameters
and deployment parametersdeploy_parameters
.
See the request export lambda archive.
Lambda can be imported using the import lambda archive request. The archive provided in the request must match the structure of the exported one.
Note: When importing an archive, you can change the parameters stored in the JSON file by specifying them in the request body.
See the Lambda export and import section of the developer guide for more information.
-
Added support for automatic reconnection to video streams when the connection is broken due to a false signal about the end of video data transfer.
Now, when receiving the
END_OF_FILE
signal from a video stream, the system automatically tries to restore the connection on the agent side (not supported for videofiles).New parameters in
behavior_parameters
allow you to configure:eof_retry
>delay
sets the interval between attempts in milliseconds (default 100 ms);eof_retry
>attempt_count
determines the maximum number of attempts (default 10, value 0 disables retries).
See requests create stream, put stream, get stream, get streams.
This change is especially useful for working with RTSP streams under unstable network conditions, when a false signal about the end of the stream can lead to a stop in video processing.
Fixed errors
-
For the
stream events ws handshake
request, if authorization data is missing, the status code 401 (Authorization failed) is now returned instead of the erroneous 403 (Forbidden. Specified token corrupted). -
Fixed the list of available values for the
targets
andfilters
parameters in requests for getting event statistics.Previously, the documentation contained outdated values, which resulted in an error with the 400 (Bad/incomplete input data) status code when trying to use them. See the get statistics on events and get statistics on general events requests.
-
Fixed a bug where a video stream could not restart after updating via a put stream request.
Now after updating a stream:
- a stopped/failed stream is automatically restarted with the
pending
status; - an active stream first correctly completes the current processing, after which it is transferred to
pending
for redistribution.
Also, information about stream updates is now written to the Video Agent service logs.
- a stopped/failed stream is automatically restarted with the
-
Fixed incorrect logic for sending statuses for video streams that terminate with an error.
Previously, the system could erroneously send the "stop" status ("stream processing stopped by user") for streams that actually terminated with an error ("failure" status). This led to inconsistencies in the logs, where an error was recorded first (for example, problems with decoding or unavailability of the stream source), and then the "stop" status.
Now, streams that terminate with an error do not send the "stop" status.
-
Fixed a situation where agents did not send feedback with the required frequency due to incorrectly configured
LUNA_VIDEO_MANAGER_STREAM_STATUS_OBSOLETING_PERIOD
/LUNA_VIDEO_MANAGER_AGENT_STATUS_OBSOLETING_PERIOD
values.Previously, this led to unintentional downgrade of agents or streams and agents refusing to process streams.
Now the system automatically ensures the optimal frequency of sending feedback regardless of the accuracy of the specified
LUNA_VIDEO_MANAGER_STREAM_STATUS_OBSOLETING_PERIOD
andLUNA_VIDEO_MANAGER_AGENT_STATUS_OBSOLETING_PERIOD
settings. -
Fixed a bug where it was impossible to add custom endpoints for Agent-lambda.
The functionality now works correctly. For details and usage examples, see "Additional routes".
-
Fixed a bug that caused incorrect client initialization for Tasks-lambda.