SmartFace Platform provides information about events recognized in the incoming video streams and uploaded files. This information is provided in the form of notifications available through GraphQL and ZeroMQ and is also stored in the database.
You receive several types of notifications from SmartFace Platform. These notifications are sent continuously for every event that occurs.
SmartFace Platform sends most notifications when information about an event (for example, face detection) has been stored in a database. However, SmartFace Platform also sends direct notifications, which are sent immediately without waiting for the event to be stored in the database.
The notifications provided to you for events recognized in video streams or uploaded files are triggered in two different situations. The first group of notifications is sent directly after an event happens – these notifications are only triggered for the matching event. The second group of notifications is sent after information about the event has been stored in the database. The following figure displays the main types of notifications.
Writing the information about the recognized events in the database may take a different time, which can cause notifications to be published in a different order than the original sequence of recognized events. This may particularly apply for notifications about matching as these notifications aren’t triggered when information is written into the database, but directly after the matching result is available.
There are several types of notifications SmartFace Platform provides to you. These types are called topics. You can subscribe to topics listed in the following two tables.
Direct Notifications consist of all data captured by the camera or edge stream. These notifications are immediately sent upon data availability, even before the event is saved to the database.
They are transmitted regardless of the set save strategies. Even if the saving strategy into the database is turned off, these notifications will still be sent.
Direct notifications can be received through both GraphQL and ZeroMQ channels.
|GraphQL name||Description||Contained information|
|FaceProcessed||The detected face from the processed input.||It contains information about face, frame, match and spoofcheck.|
|PedestrianProcessed||The detected pedestrian from the processed input.||It contains information about: pedestrian and frame.|
|ObjectProcessed||The detected object from the processed input.||It contains information about: object and frame.|
Notifications sent when the event is stored in the database:
|GraphQL name||ZeroMQ name||Trigger|
|faceCreated||faces.insert||The detected face has been saved into the database. Some properties haven't been extracted yet.|
|faceExtracted||faces.extracted||Face properties (such as age, gender and presence of a face mask) were extracted and updated in the database.|
|matchResultInsert||matchResults.match.insert||The detected face from the processed input was matched with a watchlist member and this information has been saved into the database.|
|trackletCompleted||tracklets.completed||The tracked face or pedestrian has been lost from tracking and this information has been updated in the database.|
|heartbeat||The notification is triggered automatically every second and contains a time stamp (current UTC). The notification can be used as an indication that communication is online.|
|videoRecordNotification StateChanged||videoRecords.update||The notification is used when SmartFace Platform is processing uploaded video files. The state of the video file is changed.
|progressMessage||grouping_progress.info||Frames uploaded to RecordGrouping are being processed.ProgressStatus:|
|pedestrianInserted||pedestrians.insert||The detected pedestrian was saved into the database.|
|ObjectInsert||objects.insert||The detected object was saved into the database.|
Notifications from SmartFace Platform can be read using GraphQL API, typically available on port 8097, at HTTP endpoint http://<your_server_name>:8097/graphql.
GraphQL schema can be downloaded through the URL:
For more information about GraphQL language, follow this link
SmartFace Platform is publishing the notifications also through ZeroMQ messaging library. ZeroMQ uses sockets for communication, thus the host and a port needs to be specified. SmartFace Platform uses by default TCP port 2406.