User Manual for End Users and System Administrators
The application automatically starts every time the sever is on. If not, launch the application from command line. The system will initialize and connect to your configured video source. If this is your first time running the application, you'll see a settings window where you can configure all your options.
The main window consists of several key areas:
The central area shows the processed video feed with:
Below the video, you'll see status information:
The right panel shows:
The first and most important setup is configuring your video source. Click the Settings button to open the configuration window. — see Fig.1 AC Interface (10).
Select the type of video source from the dropdown menu — see Fig.3 Input Stream (1):
A secondary video source that can be used to have an alternative view of the scenery — see Fig.4 Companion. When a new event is registered by the main camera, a frame is saved from the companion one along the one with the detection. The companion stream uses the same configuration options as the main stream: type, address, authentication, ports, SSL, and resolution. Configure it independently based on your second camera's capabilities.
Counting zones are the areas where objects are detected and counted. Each zone is defined as a quadrilateral (four-sided polygon) on the video image.
Each zone displays — see Fig.2 Counting zones:
These settings control how the application detects and counts objects. Access them in Settings → Engine Working Mode and External Trigger
Choose how the detection engine should operate — see Fig.6 Engine working mode (1) :
| Mode | Description | Use Case |
|---|---|---|
| Continuous | Always processes video frames and counts objects | 24/7 monitoring, constant traffic areas |
| Started by Trigger, Ended After Time Period | Starts counting when triggered, stops after a set time | Less processing |
| Started by Trigger, Ended After Level Change | Starts counting when triggered, stops when trigger resets | Gate-triggered counting, door counters |
Applies additional image processing to improve detection and recognition accuracy. Enable this if objects are often missed or misidentified — see Fig.6 Engine working mode (4) . This setting adjusts detection accuracy across a range from Low to Ultra. Higher precision levels deliver significantly better results, though they do require more processing power. In most cases, a Normal setting will be sufficient — however, the smaller the objects appear in the video stream, the higher the accuracy needs to be, so High or even Ultra may be necessary.
| Level | Description | CPU Impact |
|---|---|---|
| Low | Minimal processing, fastest performance | Very Low |
| Medium | Balanced processing for moderate accuracy | Low |
| Normal | Standard processing for good accuracy | Medium |
| High | Aggressive processing for high accuracy | High |
| Ultra | Maximum processing for best accuracy | Very High |
| Insane | The top level of AI analysis | To use only in extreme situations |
Select the algorithm used for image analysis — see Fig.6 Engine working mode (5) :
Select what types of objects to detect and count — see Fig.6 Engine working mode (3) :
| Type | Description |
|---|---|
| People, People (fast) | Human detection only |
| Vehicles, Vehicles (fast) | Car, Truck, Bus, Semi-truck, Vans, SUV/pick-up, Motorcycle, Tram, other |
| People heads | Detect people heads |
| Boats | Jet-ski, Inflatable, Dinghy, Sailboat, Motor-yacht, Passenger-ship, Catamaran, other |
| Custom | Used in tailored projects when AI training is done for specific client's products/ objects |
The fast option reffers to a Metrici setting where a smaller DNN is used for faster processing when objects are bigger in the frame.
An external trigger allows you to start/stop counting based on external hardware signals, useful for integration with access control systems or sensors — see Fig.6 Engine working mode (2). If you don't have any external triggers leave it to None.
| Trigger Type | Description |
|---|---|
| None | No external trigger, continuous operation |
| Barionet 50 I1-I4 | Barionet 50 controller inputs 1-4 (hardware I/O device) |
| Metrici Virtual | Software trigger from Metrici system |
How many seconds the engine analyzes the frames after the trigger is received. — see Fig.7 Seconds Delay.
The Barionet 50 is a hardware I/O controller that provides digital inputs. Connect your trigger source (sensor, button, relay) to one of the four inputs:
When configured, the system can send commands to open barriers based on counting events, object recognition, or external triggers. This enables automated access control systems.
Enter the HTTP URL triggered when a new event is registered - the count in the area changes. This is typically a command sent to a controller or automation system — see Fig.6 Engine working mode (6):
Enter the HTTP URL that triggers the stop of the process opened by the previous signal, like closing the barrier, a door, turning a light off etc — see Fig.6 Engine working mode (7):
Sets how long (in seconds) the signal stays ON before automatically closing — see Fig.6 Engine working & External trigger (8):
This setting can be set in .ini file rtsp_stream_latency = :
Set the buffering delay for RTSP streams. Higher values (500-2000ms) provide smoother video but increase delay between actual events and system response. For real-time counting, use lower values (100-300ms). By default the settings are set to (100-300ms).
This setting can be set in .ini file rtsp_stream_protocols= :
Choose which RTSP protocols to attempt. Using UDP is faster but may have issues through firewalls. TCP is more reliable but slightly slower. You can enable both to let the system try UDP first, then fall back to TCP if needed. The default RTSP protocol that is set is TCP.
Enable a live video stream that can be viewed in web browsers or other applications.
Check this box to enable live view streaming. When enabled, the processed video with overlays is made available for viewing — see Fig.8 Live View (1).
The local URL where the live stream is published. Default: http://localhost/io/ac/live_view.php
— see Fig.8 Live View (2).
To view the live stream, open a web browser and navigate to this URL. The stream will display the same view as the application main window.
The application can send counting events to a remote server for recording.
The web address where counting events are sent. Format: http://localhost/io/ac/new_counting_zone_event.php — see Fig.9 Reporting (1)
When an object enters or exits a counting zone, the application sends an HTTP POST request with event data.
An identifier sent with each event to help the server categorize or route the data. Leave as 0 if not used by your server.
This setting can be found in .ini file "reporting_check_action_id = 0" .
The authkey and ID provide authentication for external server communications — see Fig.9 Reporting (2). These credentials are obtained from the Metrici web interface where you configure your AC cameras into the location.
Sets a time delay (in seconds) between a detection event and the moment the counter is updated. This prevents false positives caused by brief, unintended triggers — for example, an object partially crossing a line and immediately moving back — see Fig.9 Reporting (3).
An optional second URL where the same event data is sent (this URL can be set in .ini file). Use this for:
The application accepts several command line parameters for advanced configuration:
| Option | Description |
|---|---|
-nogui |
Run without graphical interface (headless mode) |
-app_id N |
Set application ID (uses config file N.ini). Default is 0. |
-app_name "Name" |
Set custom application name for display |
-detection_threads N |
Number of processing threads (1-8). Default is 1. |
-disable_gpu |
Disable GPU acceleration even if available |
-use_gpu N |
Force use of specific GPU device ID |
-log_level N |
Logging detail level: 0=None, 1=Low, 2=Medium, 3=High |
-v |
Display version information and exit |
# Run headless with application ID 5
./metrici-ac -nogui -app_id 5
# Run with 4 processing threads and high logging
./metrici-ac -detection_threads 4 -log_level 3
# Run with custom application name
./metrici-ac -app_name "Main Entrance Counter" -app_id 1
# Check version
./metrici-ac -v
# Run with GPU disabled (use CPU only)
./metrici-ac -disable_gpu
Symptoms: Connection status shows "Disconnected", stream never connects
Solutions:
Symptoms: Video shows but no objects are highlighted or counted
Solutions:
Symptoms: Count increases when nothing is there, or counts objects in wrong areas
Solutions:
When troubleshooting, enable detailed logging to capture issues:
# Run with high logging level
./metrici-ac -log_level 3
Log files contain detailed information about:
If you continue to experience issues:
-log_level 3)All settings are stored in configuration files (X.ini where X is the app ID). Here's a complete reference:
[General]
# Video Source Settings
input_stream_type=2 # 0=None, 1=HTTP MJPEG, 2=RTSP H.264, etc.
input_stream_address=192.168.1.100 # Camera IP or URL
input_stream_tcp_port=554 # RTSP:554, HTTP:80
input_stream_use_ssl=0 # 0=No, 1=Yes
input_stream_username=admin # Camera login username
input_stream_password=password # Camera login password
input_stream_fps_limit=0 # 0=Unlimited
# Companion Stream (Optional)
companion_stream_type=0
companion_stream_address=
companion_stream_tcp_port=80
companion_stream_use_ssl=0
companion_stream_username=
companion_stream_password=
# RTSP Settings
rtsp_stream_latency=2000 # Milliseconds (500-5000)
rtsp_stream_protocols=tcp # tcp or udp
# Reporting Settings
reporting_url=http://localhost/io/ac/new_counting_zone_event.php #Default
reporting_duplicate_url= # Optional backup server
reporting_check_action_id=0
reporting_check_action_authkey= # Authentication key
# Live View Settings
live_view_active=1 # 0=Off, 1=On
live_view_url=http://localhost/io/ac/live_view.php #Default
# Engine Settings
external_trigger_type=0 # 0=None, 1-4=Barionet inputs, 5=Virtual
external_trigger_seconds=1 # Trigger debounce time
engine_working_mode=0 # 0=Continuous, 1=Time-triggered, 2=Level-triggered
recognition_enhancement=3 # 0=Low to 4=Ultra
image_analysis_mode=0 # 0=Standard, 1=Enhanced, 2=Deep Learning
objects_type=2 # 0=People, 1=Vehicles, 2=Both
counter_change_delay=2 # Seconds
# Barrier Control
open_barrier_url=
close_barrier_url=
open_close_barrier_delay=5 # Seconds
# Counting Zones (Auto-generated, do not edit manually)
counting_zones_list="1,0.1,0.1,0.9,0.1,0.9,0.9,0.1,0.9;"
| Term | Definition |
|---|---|
| RTSP | Real-Time Streaming Protocol - standard for streaming video over IP networks |
| H.264/H.265 | Video compression standards (also called AVC and HEVC) |
| MJPEG | Motion JPEG - format that sends individual JPEG images in sequence |
| FPS | Frames Per Second - rate at which video frames are captured/displayed |
| OpenCL | Open Computing Language - allows software to use GPU for processing |
| Latency | Delay between video capture and display |
| Authentication Key | Security code meant to facilitate communication between detection engines and database |
For additional help, please contact Metrici technical support team at support@metrici.ro.
Version: Metrici Area Counter v2.0