FaceStream v.5.1.0#
Changes
-
The principle of creating streams was changed. Previously, settings for streams were specified in the "input.json" configuration file or in the "FS_CONFIG" section of the Configurator. Now the settings for streams are set in the body of the JSON format and sent using an HTTP request to the LUNA Streams service (see the "create stream" request in the "StreamsReferenceManual.html" document of the distribution).
After sending an HTTP request with the given parameters to the LUNA Streams service, the parameters are added to the LUNA Streams database under the unique identifier "stream_id". Depending on the number of available streams in the license (this information comes from the LUNA Licenses service), the stream parameters enters the internal queue, where it is in the "pending" status until FaceStream takes them from the queue for further processing (see the detailed description of the service in the "Interaction of FaceStream with LUNA Streams" in the administrator manual).
Licensing changes:
The service can process a certain number of streams simultaneously. The number of such streams is set in the LUNA PLATFORM 5 license key parameter, which determines the streams number for LUNA Streams operation. Thus, starting from version 5.1.0, FaceStream is licensed using the LUNA PLATFORM 5 key.
To launch LUNA Streams and FaceStream, you need at least three additional LUNA PLATFORM components:
- LUNA Licenses service. This service is used to license the LUNA Streams service.
- LUNA Configurator service. LUNA Streams settings are stored in this service in the same way as "FACE_STREAM_CONFIG" and "TRACK_ENGINE_CONFIG" settings for FaceStream. If you do not need to use LUNA Configurator, you can launch LUNA Streams using configuration files, but these steps are not described in the installation manual.
- PostgreSQL container. In this container, a LUNA Streams database is created, in which the stream parameters specified earlier in the JSON body are stored (see the description of the database in the "LUNA Streams database description" section of the administrator manual). Optionally, you can use an Oracle database. Its use is not described in the documentation.
The InfluxDB OSS 2 container is also launched by default. Using the Influx database, LUNA PLATFORM services are monitored. If necessary, monitoring can be disabled.
If the LUNA PLATFORM components are not launched and the LUNA PLATFORM license is not activated, then the following steps should be performed before launching FaceStream:
- License should be activated.
- Required components should be launched.
- LUNA Streams and FaceStream settings should be uploaded to LUNA Configurator.
- LUNA Streams database should be created and initialized.
If the LUNA PLATFORM components are launched and the LUNA PLATFORM license is activated, then the following steps should be performed before launching:
- LUNA Streams and FaceStream settings should be uploaded to LUNA Configurator.
- You should make sure that the license contains a parameter that determines the number of streams to be processed by the LUNA Streams service and specify the address of the server launched the LUNA Licenses service in the LUNA Configurator service (if the LUNA Licenses service is not on the server launched LUNA Streams).
- LUNA Streams database should be created and initialized.
For a description of how to perform these steps, see the FaceStream installation manual.
-
The ability to deploy FaceStream using a Docker Compose script was added. The script enables you to automatically launch and configure LUNA Streams and FaceStream. Before running the script, the following steps should be performed:
- License should be activated.
- Required components should be launched.
- LUNA Streams and FaceStream settings should be uploaded to LUNA Configurator.
- LUNA Streams database should be created and initialized.
-
Description of errors returned by the LUNA Streams and LUNA Licenses services, as well as general errors that may occur when interacting with the LUNA PLATFORM, was to the documentation.
-
The "lunastreams" section was added to the FaceStream settings ("FACE_STREAM_CONFIG" section of the LUNA Configurator service), enabling you to specify the address of the LUNA Streams service used ("origin" parameter), its API version ("api_version" parameter) and the upper bound on the number of FS streams (" max_number_streams"). If LUNA Streams service is launched on another server, then you should specify the current address of the service before launching FaceStream. See the FaceStream administrator manual for details.
-
The names and structure of streams management settings was reworked. All settings are now divided into logical blocks. The following settings was renamed:
- input, luna_account_id > account_id
- input, transport > data, type
- input, url > data, reference
- output, image_store_url > event_handler, frame_store
The method of passing data to generate an event was reworked. Previously, to generate a LUNA PLATFORM event, the "output" > "url" parameter was used, in which, when working with faces, it was necessary to specify the address to the "/events" resource in the format
http://<luna_adress>:<port>/6/handlers/<handler_id>/events
, where<handler_id>
is the LP handler identifier. When working with bodies, separate parameters "luna_human_handler_id" and "luna_dynamic_human_handler_id" were used, and the "url" field was filled in the formathttp://<luna_adress>:<port>/6/
. Now the handler ID is set in the "event_handler" > "bestshot_handler"/"detection_handler" > "handler_id" group, where "bestshot_handler" is a static handler for a face or body, "detection_handler" is a dynamic "handler_id" LUNA PLATFORM for working with bodies (ex. "luna_dynamic_human_handler_id"). The LUNA API service address and API version are now set separately. Below is an example of passing data to generate an event when static and dynamic handlers are set for the body."event_handler": { "origin": "http://127.0.0.1:5000", "api_version": 6, "bestshot_handler": { "handler_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b" }, "detection_handler": { "handler_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6" } }
If it is necessary to process a face, then "handler_id" should be set with parameters for processing a face in the "bestshot_handler" group, and the "detection_handler" group is optional.
See the FaceStream administrator manual for details on stream management settings.
-
Support for normal FaceStream launch mode was dropped. Now you can launch FaceStream only in server mode.
-
Information on launching FaceStream in server mode with configuration files was moved to the administrator manual (see "Use FaceStream with configuration files" section).
-
The default logging parameters was changed in the FaceStream settings, in the "Logging" section:
-
The "severity" parameter is now equal to "1". This means that only system warnings will be displayed in the logs.
- The "mode" parameter is now equal to "l2c". This means that logs will be output only to the console.