System Requirements
Stream runs on-premise on Windows, Linux, Mac, or Jetson devices. The specifics of the machine depend on the number of cameras you need to process.
Check the recommended hardware for Stream using the tool below. You can assess the recommended hardware based on your configuration. Please note that the score values and memory specifications should be considered exclusively for Stream usage, and resource utilization by other software is not taken into account.
Hardware Requirements
CPU
CPU usage depends on the number of vehicles detected. No GPU is required. Use the Hardware Recommendations for Stream tool to determine your required CPU Passmark score.
To find your CPU Passmark score, use Performance Test or search online (e.g., Intel i5-8250U Passmark → 5942).
RAM
RAM usage depends on video resolution and whether Vehicle Make Model Color (MMC) (and Orientation) detection is enabled:
Resolution | With MMC | Without MMC |
---|---|---|
1920×1080 | 480MB per camera | 530MB per camera |
1280×720 | 530MB per camera | 480MB per camera |
Storage
Stream itself has a small footprint. The main storage usage comes from captured JPG images and CSV files. A minimum of 0.5 GB of storage is sufficient.
Video Encoding and Processing Impact
When configuring cameras, the video encoding format significantly affects processing power:
- H265 offers better compression but requires more processing power.
- H264 is the recommended format for Stream, ensuring stable performance.
- Using H265 may increase hardware requirements and impact Stream HS (Health Score).
If performance issues arise with H265, consider reducing compression or switching to H264 for better efficiency.
Installation Prerequisites
Ensure your system meets these requirements:
-
Use an OS that supports Docker (Installation Guide).
- If your system does not support Docker Desktop, install Docker Toolbox.
-
CPU: Intel 3rd Gen or higher (AVX instruction support required).
-
GPU: Recent Nvidia GPU with compute capability 6.1+ and CUDA 9.0+ (Nvidia-docker setup).
-
VMware users: Disable EVC for compatibility.
-
Optimize camera settings for accuracy (Camera Setup Guide).
tipIf you are behind a firewall you might also need to whitelist these IP addresses
Supported Architectures
Stream runs on a variety of devices that support ARMv8 and x86 machines. Some examples below:
ARMv8 Devices
- Nvidia Jetson Nano, Nvidia Jetson Xavier NX
- Raspberry Pi 4, Banana Pi M4, Orange Pi
- RockPro64, Khadas VIM3, Odroid N2, Odroid XU4
- ASUS Tinker Board S, ASUS Tinker Board
x86 Devices
- LattePanda Alpha, LattePanda Delta
- UDOO Bolt V8, UP Squared
- ASUS PN40
Frame Processing (eFPS)
To optimize system resources, configure eFPS based on vehicle speed:
Vehicle Speed | Recommended eFPS |
---|---|
< 30 mph | 4-5 |
30-60 mph | 8-10 |
> 60 mph | 12 |
Formula: eFPS = Camera FPS / Sample Rate in Stream. Example: If the camera has 30 FPS and
sample=6
, then eFPS = 5.
Example Setups
- Nvidia Jetson Xavier AGX with GPU can support 3 Stream cameras with MMC.
- For 2 Stream cameras with MMC deployment for High Traffic, an Intel Core i3-4100M @ 2.5 GHz (Passmark 2440) with 1 GB RAM should be sufficient.
- For a 20 Stream camera deployment for highway monitoring with Vehicle MMC, you will want a machine with a 24000 Passmark Score, such as an Intel Core i7-11700K @ 3.60GHz.
- Raspberry Pi with 4 GB RAM can support 1 Stream camera with MMC at 1080p in High Traffic.
- Jetson Nano with 4 GB RAM can support 1 Stream camera. Nano with 8 GB can support 2-3 Stream cameras.
The examples above are based on cameras with 24 FPS and Stream container configured with sample=2
, resulting in Stream processing 12 frames per second as maximum.
Summary
- Use H264 for best performance. H265 requires more processing power.
- Ensure CPU meets Passmark requirements. Use the Hardware Recommendation tool.
- Allocate enough RAM based on video resolution and MMC usage.
- Configure eFPS correctly based on vehicle speed.
- Storage impact is minimal. Ensure space for images and logs.
- Check compatibility with Docker. Install the appropriate version for your OS.
This guide ensures that you can run Plate Recognizer Stream efficiently on your setup. Need further optimization? We recommend configuring your cameras according to the guidelines described in this article on best practices.