.. _configure-vms: Configure Video Recorder ====================================================== The FindFace core internal :ref:`architecture ` allows for embedding Video Recorder, an additional functionality that records, stores, and plays back video data from cameras. If Video Recorder is installed during FindFace Multi :ref:`automated deployment ` from the installer, then its tools are already available in FindFace Multi web interface. If you skipped this step during installation, first :ref:`deploy Video Recorder `, then enable and configure it by following this instruction. .. rubric:: In this section: .. contents:: :local: Enable Video Recorder ------------------------------ To enable Video Recorder, do the following: #. Enable the ``findface-video-worker`` service to transfer video chunks to the ``findface-video-storage`` service. .. important:: This setting makes the Video Recorder functionality available over :ref:`HTTP API `. It's also obligatory if you want to harness Video Recorder as part of the FindFace Multi :ref:`web interface `. Do the following: #. Open the ``/opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml`` configuration to enable ``findface-video-worker`` service that will supply Video Recorder with the video. .. code:: sudo vi /opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml #. Set ``enabled: true`` in the ``recorder`` section. .. code:: recorder: enabled: true ... #. Restart ``findface-multi-findface-video-worker-1`` container. .. code:: sudo docker restart findface-multi-findface-video-worker-1 #. Configure Video Recorder to work as part of FindFace Multi web interface. .. note:: Omit the following steps if you do not need the Video Recorder tools to appear in the FindFace Multi web interface. Do the following: #. Open the ``/opt/findface-multi/configs/findface-multi-legacy/ui-config.yaml`` configuration file. .. code:: sudo vi /opt/findface-multi/configs/findface-multi-legacy/ui-config.yaml #. Set ``enabled: true`` in the ``vms`` section. .. code:: vms: enabled: true #. Restart all FindFace Multi containers. .. code:: cd /opt/findface-multi/ sudo docker-compose restart In the ``/opt/findface-multi/configs/findface-multi-legacy/ui-config.yaml`` configuration file, you may configure the ``vms`` and the ``video_player`` parameters. The list of ``vms`` parameters available for configuration is as follows: +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ | Parameter | Description | +================================================+=============================================================================================================================+ | ``vms`` → ``enabled`` | If ``true``, adds the :guilabel:`Record video` checkbox to the :ref:`camera settings ` | | | and enables event viewing in the video player :ref:`timeline `. | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ The list of ``video_player`` parameters available for configuration is as follows: +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | Parameter | Description | +==================================================+====================================================================================================================+ | ``overlay`` → ``objects`` | Defines whether to display bbox and attributes with their values for the objects ``faces``, ``bodies``, ``cars``. | | | Set ``true`` or ``false`` to enable/disable bbox and attributes display for the relevant objects. | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``overlay`` → ``gdpr`` | Set ``true`` to enable blurring all unmatched objects displayed in the video player. | | | To fully comply with the personal data protection laws, follow :ref:`this guide `. | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``min_zoom`` | Defines the largest possible scale on the :ref:`video player timeline `, seconds per pixel. | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``max_zoom`` | Defines the smallest possible scale on the timeline, seconds per pixel. | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``events`` → | Set ``true`` to enable marking face events on the timeline. | | ``faces`` → ``enabled`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``events`` → | The maximum number of face events simultaneously marked on the timeline. If there are more face events than | | ``faces`` → ``limit`` | that, you will be asked to zoom in. | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``events`` → | Color of the matched face events. | | ``faces`` → ``matchedColor`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``events`` → | Color of the unmatched face events. | | ``faces`` → ``unmatchedColor`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``events`` → | Set ``true`` to enable marking body events on the timeline. | | ``bodies`` → ``enabled`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``events`` → | The maximum number of body events simultaneously marked on the timeline. If there are more body events than | | ``bodies`` → ``limit`` | that, you will be asked to zoom in. | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``events`` → | Color of the matched body events. | | ``bodies`` → ``matchedColor`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``events`` → | Color of the unmatched body events. | | ``bodies`` → ``unmatchedColor`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``events`` → | Set ``true`` to enable marking vehicle events on the timeline. | | ``cars`` → ``enabled`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``events`` → | The maximum number of vehicle events simultaneously marked on the timeline. | | ``cars`` → ``limit`` | If there are more vehicle events than that, you will be asked to zoom in. | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``events`` → | Color of the matched vehicle events. | | ``cars`` → ``matchedColor`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``events`` → | Color of the unmatched vehicle events. | | ``cars`` → ``unmatchedColor`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``episodes`` → | Set ``true`` to enable marking human episodes on the timeline. | | ``humans`` → ``enabled`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``episodes`` → | The maximum number of humans episodes simultaneously marked on the timeline. If there are more face episodes than | | ``humans`` → ``limit`` | that, you will be asked to zoom in. | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``episodes`` → | Color of the matched human episodes. | | ``humans`` → ``matchedColor`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``episodes`` → | Color of the unmatched human episodes. | | ``humans`` → ``unmatchedColor`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``episodes`` → | Set ``true`` to enable marking vehicle episodes on the timeline. | | ``cars`` → ``enabled`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``episodes`` → | The maximum number of vehicle episodes simultaneously marked on the timeline. | | ``cars`` → ``limit`` | If there are more vehicle episodes than that, you will be asked to zoom in. | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``episodes`` → | Color of the matched vehicle episodes. | | ``cars`` → ``matchedColor`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ | ``timeline`` → ``objects`` → ``episodes`` → | Color of the unmatched vehicle episodes. | | ``cars`` → ``unmatchedColor`` | | +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ .. code:: video_player: overlay: objects: faces: bbox: true info: true bodies: bbox: true info: true cars: bbox: true info: true gdpr: false timeline: min_zoom: 0.2 max_zoom: 200 objects: events: faces: enabled: true limit: 500 matchedColor: rgba(6,193,103,0.8) unmatchedColor: rgba(232,92,74,0.8) bodies: enabled: false limit: 500 matchedColor: rgba(6,193,103,0.8) unmatchedColor: rgba(232,92,74,0.8) cars: enabled: false limit: 500 matchedColor: rgba(6,193,103,0.8) unmatchedColor: rgba(232,92,74,0.8) episodes: humans: enabled: false limit: 500 matchedColor: rgba(6,193,103,0.8) unmatchedColor: rgba(232,92,74,0.8) cars: enabled: false limit: 500 matchedColor: rgba(6,193,103,0.8) unmatchedColor: rgba(232,92,74,0.8) vms: enabled: true Nuances of Disabling Video Recorder ---------------------------------------- If Video Recorder is running and recording video on selected cameras, and you need to disable it, be sure to disable video recording on the cameras first, before proceeding with the ``/opt/findface-multi/configs/findface-multi-legacy/ui-config.yaml`` and ``/opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml`` configuration files.