v.5.98.0#
Changes
-
Automatic video orientation detection support has been added.
An
orientation_strategy
field has been added to specify the data source for video rotation correction: -static
– manual angle setting (set by default). The user can, as before, set the video rotation angle by 90, 180 and 270 degrees before processing it: in theangle
field (for a video file) and inrotation
(for a stream). -videoinfo
– the rotation angle is determined by the metadata of the video file or stream.Location of
orientation_strategy
: - for "/videosdk" in the sectionorientation
; - for streams ("create stream"/"put stream") in the sectiondata
.Note: If a video file contains frames with different rotation angles, the system uses the metadata of the last frame.
-
Analytics version
people_count
has been updated to2
and includes the following changes:-
Now for the people count analytics
people_count
you can set upper and lower bounds for the number of people values: -
people_count__lte
- lower threshold for the number of people. The event is generated if people are less than or equal to the specified value. Must be less thanpeople_count__gte
. people_count__gte
- upper threshold for the number of people. The event is generated if the number of people is greater than or equal to the specified value.
Note: At least one of the values must be set.
So this analytics now has the ability to check if the number of people in a video falls within the specified range of values.
- the
event_delay
parameter has been added to specify the delay (in seconds) before event registration. The default value is0
. This allows you to ignore temporary changes in the number of people in the frame that do not meet the specified conditions. The system starts counting only when the number of people matches the specified parameters (people_count__lte
/people_count__gte
). For example, ifpeople_count__gte
= 3 andevent_delay
= 30, the event will be registered only if there are at least 3 people in the frame for 30 seconds.
A new error with code 44016 and description "Unable to update analytic. 'people_count' analytic version is too low" was added to the "put analytic" request, which is returned when trying to update analytics with a version lower than the one already registered in Video Manager.
-
-
A new "delete analytics" request has been added to delete analytics according to the "account_id" filter.
-
The Video Agent service has been enabled for external mode operation.
External mode is intended for cases when it is necessary to launch the Video Agent service outside the main platform circuit - directly next to the video stream sources (cameras) in order to reduce video transmission delays and reduce the likelihood of data loss during network failures. In this mode, Video Agent interacts only through the API service.
To launch the Video Agent service in external mode, you must use the
--run-external
argument. Authorization is also required via one of the following methods: - token (recommended) - environment variableLUNA_API_TOKEN
; - login/password - variablesLUNA_API_USER
andLUNA_API_PASSWORD
(if there is a token, login/password are ignored).Example of a launch command:
docker run \ ... --env=LUNA_API_TOKEN="token" \ --env=EXTEND_CMD=--run-external \ --name=luna-video-agent \ ...
Note: The token used must be provided with a minimum set of permissions:
Permission name Permission description Rights event Rights to view events creation image Rights to view images creation video_stream Rights to view streams creation video_analytic Rights to view analytics creation, view, modification video_agent Rights to view agents creation, deletion Limitations when launch the Video Agent service in external mode: - the resource
/videosdk
is not available; - the API and Licenses services must be available and enabled.Since Video Agent in external mode can only interact with the API service, the following requests have been added:
- "post agent streams" - Get agents streams by agent ID and send information about streams processing.
- "post streams feedback" - Post information about streams processing.
- "create analytic" - Create analytic.
- "put analytic" - Update existing analytic. You should specify all the fields required for the stream in the request.
- "register agent" - Register agent.
- "remove agent" - Remove the agent by ID.
- "publish general event" - Publish events generated by the user.
Self-written agents also support this functionality. See the Video Manager developer guide for more details.
-
In the specification of the Video Manager service:
- a new "get stream agent" request has been added to retrieve detailed information about the video stream processing agent. The returned data includes: agent ID, status, number of active streams, creation time, and other parameters.
- a
host
field (the IP address of the server launching the agent) has been added to the "register agent" request for analytics registration in the Video Manager service.
-
Permissions set in token have been updated:
Permission name Permission description Rights video_analytic Rights to view analytics creation, view, modification, deletion video_agent Rights to view agents creation, deletion See "create token", "replace token", "get tokens", "get token".
-
Support for an alternative user-configurable database-level descriptor encryption approach has been added.
Now the user can automatically encrypt/decrypt descriptors in PostgreSQL using triggers that encrypt when inserting and updating records, and the
vlconvert
function for transparent decryption when reading data.This approach is intended for cases where the user requires an alternative to standard encryption and needs control at the database level.
See the "Descriptors encryption" section of the developer guide for more details.
-
Support for version 67 of the face biometric template extraction neural network model has been added.
For information about the supported neural network models for biometric template extraction in the current build of LUNA PLATFORM, see Prepare to change the neural network version.
-
The Python version has been upgraded to 3.13 in all service containers except Video Manager and Video Agent.
Support for older Python versions has been discontinued (Python 3.12 has been retained for Video Manager and Video Agent services).
-
The
start_platform.sh
deployment script has been enhanced with a new--gpu
argument to enable GPU support in Video Agent and Remote SDK services. Can be used either alone or in combination with the--common
and--extra
flags.For information about supported arguments in the
start_platform.sh
script, see Launching services. -
Functions for general events matching have been added to the LUNA Python Matcher client in Lambda.
See the "Events client" section of the developer manual for more details.
Fixed errors
-
Fixed an issue where date fields were not validated during matching.
Previously, when running "matching faces" and "human body matching" requests, an "Internal server error" with status code 500 could occur due to incorrect date format in filters (e.g. "202-08-11T09:11:41.674Z" instead of "2023-08-11T09:11:41.674Z").
-
Fixed error message when creating a garbage collecting task with an
event_descriptor
target for an incorrectdescriptor_type
.Previously, the message could be misleading because it indicated an unknown type
general
. Now, if thedescriptor_type
value is invalid, the system clearly indicates the valid options -face
orbody
. -
Reduced the final build size for a lambda that uses
poetry
as a dependency installer.