ZM 1.36.10 - Raspberry Pi 4 8 GB - Ubuntu 20.04 - USB Hard Disk
Posted: Thu Nov 11, 2021 5:51 pm
I did a fresh install of Zoneminder 1.36.10 on a Raspberry Pi 4 to take advantage of the ability to disable decoding of my cameras' 5MP and 8MP video streams and link them to the VGA streams for motion detection. My previous Zoneminder 1.34.x installation had CPU bottlenecks, and 1.36.10 freed up a lot of clock cycles to devote to higher frame rate and resolution motion detection.
For background, this is the CPU utilization for the system, a low resolution motion detection (Monitor 3, 4 fps, 1024 kbps VBR) and the linked 5MP video (Monitor 4, 8 fps, 6144 kbps)
Zoneminder 1.34, 2 5MP cameras
The decoding of the 5MP video kept a CPU near maximum and the server was limited to two 5MP cameras (a second server was dedicated to the 8MP camera). I tried to upgrade from 1.34.x to 1.36.10, but there was very high CPU iowait time that I could not diagnose; I then opted to apt purge, delete the old videos and drop the database for a fresh install. The results were worth the work.
The new installation:
Cameras
2 x Amcrest IP5M-1173E POE
2 streams at 640x480 (8 fps,1024 kbps VBR) and 2592x1944 (15 fps, 10240 kbps VBR)
1 x Amcrest IP8M-2493E POE
2 streams at 704x480 (8 fps, 1024 kbps VBR) and 3840x2160 (15 fps, 10240 kbps VBR)
Raspberry Pi Server
Canakit Raspberry Pi 8 GB
CanaKit Premium White Case (High Gloss)
Set of 3 Aluminum Heat Sinks
CanaKit Fan
1 TB Hard Disk in USB3 HD Enclosure
Software
Ubuntu 20.04 32-bit OS
Raspberry Pi OS Zoneminder was not able to recognize camera streams greater than 1080p
Zoneminder 1.36.10 installed from Launchpad repository
So far all is reasonably good, although I did notice some problems with the saved high resolution video. I'll look into that later.
As for performance, the overall CPU utilzation -- even at much higher frame and data rates -- is low and I have much lower CPU iowait utilization than in the past. As I am limited to three attachments, I post the current performance monitoring graphs in replies to this post.
For background, this is the CPU utilization for the system, a low resolution motion detection (Monitor 3, 4 fps, 1024 kbps VBR) and the linked 5MP video (Monitor 4, 8 fps, 6144 kbps)
Zoneminder 1.34, 2 5MP cameras
The decoding of the 5MP video kept a CPU near maximum and the server was limited to two 5MP cameras (a second server was dedicated to the 8MP camera). I tried to upgrade from 1.34.x to 1.36.10, but there was very high CPU iowait time that I could not diagnose; I then opted to apt purge, delete the old videos and drop the database for a fresh install. The results were worth the work.
The new installation:
Cameras
2 x Amcrest IP5M-1173E POE
2 streams at 640x480 (8 fps,1024 kbps VBR) and 2592x1944 (15 fps, 10240 kbps VBR)
1 x Amcrest IP8M-2493E POE
2 streams at 704x480 (8 fps, 1024 kbps VBR) and 3840x2160 (15 fps, 10240 kbps VBR)
Raspberry Pi Server
Canakit Raspberry Pi 8 GB
CanaKit Premium White Case (High Gloss)
Set of 3 Aluminum Heat Sinks
CanaKit Fan
1 TB Hard Disk in USB3 HD Enclosure
Software
Ubuntu 20.04 32-bit OS
Raspberry Pi OS Zoneminder was not able to recognize camera streams greater than 1080p
Zoneminder 1.36.10 installed from Launchpad repository
So far all is reasonably good, although I did notice some problems with the saved high resolution video. I'll look into that later.
As for performance, the overall CPU utilzation -- even at much higher frame and data rates -- is low and I have much lower CPU iowait utilization than in the past. As I am limited to three attachments, I post the current performance monitoring graphs in replies to this post.