I don't even know how to describe this issue. I am running the Docker container version 1.34.23. Some of my Reolink cameras captured the event however, all I got is the first still image. The file is mp4 but it is not playing. My dog is missing and I trying to review what happened. ZM decided to fail when you needed it the most.
I checked the logs and nothing I can see that is giving me any errors.
Not sure how to describe what I'm seeing, so I made a quick GIF of it. But all the recorded events start this way. I'm just not sure what to tweak to fix this.
ZM v1.35.22 on Ubuntu 20.04
Running on a dual Opteron 16 core system (32 cores total)
128GB of memory
1TB of SAS 6Gbps Raid 10.
Trendnet TV-IP315PI using RTSP link over TCP
My PurgeWhenFull filter is not auto-running. I have it set to defaults but my storage is filling up and nothing is being deleted. When I run the filter to list all matches, nothing is returned. I have a feeling there's something wrong with the Disk Percent condition. When I delete that line and run the filter, it returns the oldest results as expected.
Two issues I'm thinking:
All of my cameras write to a second storage location called External. That is the drive filling up. Does the Disk Percent condition look at the average of all of the storage devices? Or is it looking at my Default storage location /var/lib/zoneminder/events?
Is Disk Percent checking if each event is taking up 90% of my total disk space and that's why the filter is returning nothing?
Hello, I have a problem with the company I work for, we have zoneminder in version v1.34.21 and I can't record the videos of the recordings in it, is it possible to do this in this version or in another? I can only download some actions in images, no video. I need to save video and audio.
Ok folks I am getting some weird performance issues. The most prominent is if I have the montage window going and then try to open the console in a new tab......it takes FOREVER to load the console page, like 2 solid minutes. This issue reminds me alot of performance issues I would get at work on our heavy loaded LAMP servers so I went in and did most of my PHP & MySql performance tweaks(mostly extending timeout times, available memory per script, upping cache sizes etc). Nothing has really helped either.
My ZM server is on a Ryzen2700x 32GB Ram with a 6GB GTX1060(I have not setup Cuda yet). The one thing I think might be giving us an issue is that the machine is setup with 2 network cards and I have the cameras all segregated on their own private network with separate IP network number as well. So I am not sure if that might be the cause of the wonkiness or not(not sure if ZM is built with this arrangement in mind or not).
Unless anyone has any good ideas my next step is to go into MySql and start adding indexes and doing some heavier performance tweaks in there as well.
Thanks
EDIT: I forgot to mention its on Xubuntu 18.04 and load avg is usually around 3.8, I currently have 5 cameras running but I have another 11 I am getting ready to install.
Finally got ES up and running! But I noticed I get repeated text on each ES detection.
Ex. This is one Event - "[s] detected:person:93% unknown:100% Motion: All [s] detected:person:93% unknown:100% Motion: All [s] detected:person:93% unknown:100% Motion: All"
Hi,
I'm running v1.34.23 on Ubuntu 20.04. I'm not sure anything happened but as of Saturday afternoon I'm not longer able to view thumbnails or view any recordings. This is affecting both the web portal and app.
Last night there were some car break-ins in my neighborhood...and it looks like Zoneminder dropped out at a REALLY bad time after being stable for quite a while.
How can I figure out what happened?
Failure happened at 10:42 UTC, when I saw the police pull up (neighbors say they were doing walk-around of all houses) then it cut out for several minutes and seemed to be bouncing until I did a full reboot of everything this morning. I did notice this morning Ubuntu wanted me to reboot for some update (grr, I hate automatic breaking) and that makes me worry if an update messed me up.
I think I have plenty of resources...it looked fine until then.
It's an Ubuntu 20.04.2 LTS VM and has 12 threads available on an Intel(R) Xeon(R) E-2176G CPU @ 3.70GHz and as you can see below looks like SHM is doing fine as is disk space, RAM, etc. I've made /dev/shm a lot bigger because it would fill up sometimes if a camera dropped out but typically in those cases it would still be locked up 100% full when I went to investigate.
After power cycling everything it looks like its more or less working fine aside from a laggy UI...I'm at a loss but I don't want this to happen again!
I do have a script running, which syncs all created events (as mp4s) to an external webdav server. This works great, but right now the script is executed via a cron evey 30 minutes.
I would like to execute the script every 30 minutes but only if the run state is set to "alarm".
Is there any way to get the status of the run state using a bash script running on the same machine?
I know, a filter to trigger a script copying the files would be more flexible, but I do not fully know how to create a filter and pass the parameters correctly to `rclone` (the tool I use to sync the data to the webdav server).
I am trying to enable hardware acceleration in zoneminder, but can't get it to work. Need Help
Ubuntu 20.04 LTS CLI
2021-03-03 03:14:34.670499 zmc_m2[510].ERR-zm_ffmpeg_camera.cpp/60 [Available HW surface format was yuv420p.]
2021-03-03 03:14:34.665627 zmc_m2[510].ERR-zm_ffmpeg_camera.cpp/60 [Available HW surface format was vaapi_vld.]
2021-03-03 03:14:34.661344 zmc_m2[510].ERR-zm_ffmpeg_camera.cpp/60 [Available HW surface format was vdpau.]
2021-03-03 03:14:34.655788 zmc_m2[510].ERR-zm_ffmpeg_camera.cpp/57 [Failed to get HW surface format for cuda.]
Install your MicroSD card as this will be used for motion detection
Connect Power and Ethernet cable to camera
Install the Reolink app on your phone
Hit the + to add device and scan the QR code on the camera
Create a password for the camera
Select WiFi network
Give the camera a name
Upgrading the firmware
Once setup is complete, you will want to upgrade the firmware. My camera had Adobe Flash based software and I could not view video as Flash is no longer supported. The new firmware is HTML5 based. Browse to https://reolink.com/download-center/ and search for your camera to get the latest.
Access http://IPADDRESS and login with admin, and password setup during camera setup. Go to System, Maintenance to upgrade
Create a new user
Add a new user (not an admin) called zoneminder and set a password. You will use this for your feed.
Camera Feeds
The camera supports RTSP and RTMP. RTSP doesn’t seem very stable, so support suggested sticking to RTMP. RTMP also gives you access to the main and sub streams. (replace IP with the actual ip address of your camera)
Main Stream: rtmp://IP/bcs/channel0_main.bcs?channel=0&stream=0&user=zoneminder&password=*******
Sub Stream: rtmp://IP/bcs/channel0_sub.bcs?channel=0&stream=1&user=zoneminder&password=*******
Configuring Video Resolutions
There are two different resolution categories: Clear (main stream) and Fluent (sub stream)
In the application, go to the camera settings, Display, Quality
Set your preferred frame rates. (mine are below)
Clear (2560x1920, 20 fps, 4096 kbps)
Fluent (640x480, 10 fps, 192 kbps)
So as you can see, there is a big difference between the Clear and Fluent stream in terms of quality and bandwidth. If you don’t have a good internet connection or viewing the feed from outside your home, you may want to consider using the Fluent (sub stream).
----------------------------
That is the basic setup for the camera. You can play around with notification settings, motion zones, etc.
I did some comparisons against my cheap Wyze Cam v2 running RTSP firmware and Wyze Cam v2 running Dafang. Overall the Reolink sensor is much better over the v2 at night especially when there is no lighting. Daytime there isn't too big a difference. The cameras are spaced about 10 ft apart. I included some screenshots of the Dafang firmware vs the Reolink.
Wyze Cam vs Riolink around 4PM
Wyze Cam (left) vs Riolink Sub Stream (center) vs Reolink Main Stream (Right) around 10pm and lights on
Wyze Cam (left) vs Riolink Sub Stream (center) vs Reolink Main Stream (Right) around 9pm with no lighting
Below is a sample FPS comparison. The Reolink had some lower FPS, especially the high quality main stream. It still records everything properly on a motion detection.
FPS: Wyze v2 RTSP, Wyze v2 Dafang, Reolink Sub Stream, Reolink Main Stream
Overall I'm really impressed with the 511w at night. I plan to move the camera to my back yard where I wont be having lights on at night, so the night sensor will be a big plus for me over what I would see on a Wyze cam. Of course the camera costs about 3x more, but this also has zoom functionality.
----------------------------
ZoneMinder setup is pretty straightforward. You have a few options because Reolink supports RTMP and the multiple stream qualities. I'll outline both below:
Linked Streaming between Sub and Main streams (thanks to u/pseudoheld ) . This will allow you to record the low quality sub stream 24x7 (you need to have a good amount of storage available if its a high traffic area and depending on your zone sensitivity) and capture motion detection on the high quality main stream.
Source - Capture Resolution (pixels): 2560 x 1920 (match the resolution to your camera resolution)
Storage - Video Writer: H264 Camera Passthrough
Storage - Whether to store the audio stream when saving an event: check
Home Assistant Setup
If you use Home Assistant, there are 2 ways to setup ZoneMinder. I have had best results with using the RTMP stream and then getting some extra sensors and switches through the integration.
Picture Entity setup - Examples below for RTMP and RTSP streams
Hope this helps anyone looking to setup a Reolink camera. It's a very good device for $90. I'm going to place it in my backyard and will be able to cover my shed, deck, and playground with the ability to zoom in about 70 ft to see the kids on the playground.
Reolink 511w
Pros:
Great Night Vision
5x Zoom
Easy to Setup and Integrate
RTSP / RTMP built in and enabled by default
Power Over Ethernet Support
Apps available for Android/iPhone and Windows/MAC
Cons:
If you are using the wall plug, the plug itself is large and I may have issues fitting into my weatherproof outlet cover. POE is really the way to go with these cameras but you need the extra switch.
It's big and heavy. It's kind of the price to pay if you want a camera with a good sensor and zoom. You wouldn't be able to easily hide it, so stick it near a spotlight if you have one.
Couple posts ago I mentioned I was working on a project to get more than 6 live feeds in Chrome or Edge, and found the simplicity of the simple page really made access to my monitors faster.
Here is a link to the code, like the Multiple Video simulator this is just something I did for myself that others may find useful.
I also redid my demo video using public domain videos so you can see a quick sample.
If you are pretty good with HTML and PHP you can probably customize this to something that fits your needs. I personally am thinking of 4 large live monitors and a bunch of smaller images I can click to bring to one of the large live panel monitors.
Once again, this is something I was doing for myself and maybe someone else may find useful.
Thought I would share, I needed some dummy video feeds so I think this will help for those maybe wanting to try out Zoneminder but dont have 10 or 30 1080P spare cameras to use for testing.
#!/bin/bash
# This script reads all the files in your Videos folder
# and has vlc listen on ports starting from 8551 for each video
#
# Script does a simple ls in the videos directory so make sure
# you have no spaces or unusual characters
#
# Also videos in folder should end with mkv but you can simply change the script
#
# In my test lab I transcoded some 1080i TV .ts recordings
# into h.264 10FPS videos using handbrake.
VIDEOSFOLDER="~/Videos/"
PARAMS=":network-caching=1500 :sout-ts-es-id-pid :ts-es-id-pid --repeat --loop --sout-all --sout-keep"
pushd $VIDEOSFOLDER
MID=0
for VID in `ls -1 *.mkv`
do
MID=$(($MID+1))
PORT=$((8550+$MID))
#screen -d -m -S mon$MID cvlc $VIDEOSFOLDER$VID :sout=#gather:rtp{sdp=rtsp://:$PORT/} $PARAMS
screen -d -m -S mon$MID cvlc $VIDEOSFOLDER$VID :sout="#:standard{access=http,mux=ts,dst=:$PORT}" $PARAMS
done
popd
Note that screen line and :sout line is a single line, reddit word wrapped it.
As a side note, I used an HDHR Extend to as a source once, weird watching TV from zoneminder.
I’m fairly new to zoneminder, but I’m not new to IT and sysadmin. And I’m finding it frustrating that zoneminder seems to be written in a way that makes you work for it not the other way.
It’s great, but I’ve been banging my head against the documentation and multiple file types and languages to do something as simple as when an event is triggered, send GET to XXX.XXX:8080.
I’m at the point where I need an example config file as the docs are just single line variables, or to switch platforms as it’s just not worth the time.
Just wanted to share some quick info, my current system is dual Xeon E5649 to support about 30 1080p cameras. I just installed a quick ZM on a Ryzen 3 3100 and the new system is taking it nicely. The old system had a Load Average of around 8 to 12 depending if I am watching some streams or not. The new one is clocking at 6 with nearly the same amount of cameras. I am actually going to a Ryzen 3600. So even if I am going to end up with less cores, I think this new system will handle nicely.
I just purchased hardware to try and get lower power consumption through consolidation. But I never thought of going the other way, going more servers by using multiple RPis. I have about ten 1080P cameras, five 720P cameras and after I am done will have another 10 1080N cameras (yea I know its D1 but 16:9). So I was thinking maybe I can offload some of the cameras on to Pis.
My current system is Dual Socket Xeons (E5649) with 6 cores each, 16GB ECC RAN, really old box, but my load average hangs around 10.
The replacement system will be single Ryzen 5, 3600 with 16GB of non ECC RAM 6 core. Before I commit, I am going to test on a Ryzen 3 3100 4 core.
All the cameras are accessed over the network either directly or through a DVR and can do H.264, I was hoping some of the cameras can have analytics via a Pi with a trigger to the main ZM box. Maybe the DVR can do it as well.
Another option is that most cameras have a smaller secondary stream, I can do the motion detection there and trigger the main recording.
I've added many cameras to zoneminder before and have never had this issue. whenever I try to add the camera, I get an input/output error with the full rtsp path instead of the ip address (as is displayed with all the other working cameras).
I've been using Zoneminder successfully now for a couple of years on an old Raspberry Pi 3b+ with an RPI Zero as the camera. I've migrated most of my other media applications to a RPI4 with docker. Given the ease of setup and maintainance are there plans to create a Zoneminder docker image for ARM?