Here are some things I've learned recently with zm in commercial settings:
If you are setting up mobile phones with ZMNinja, and the wifi is the same WAN IP as the camera system, setup a VPS with a http/https proxy and point zmninja at the proxy. The proxy can be as simple as:
[pre]sudo iptables-legacy -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j
DNAT --to-destination <officeip>:80
sudo iptables-legacy -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j
DNAT --to-destination <officeip>:443
sudo iptables-legacy -t nat -A POSTROUTING -j MASQUERADE[/pre]
Note that you might want to set nonstandard ports. If you don't do the above, customers will try to use their phones at the business to watch cameras, but they will have to go off wifi / to the cell network, and for the average user, it's too difficult. KISS not only in code and architecture but also user experience. So make sure the customer has a simple and easy experience. (and to the developers: a proxy might be a good option for ZM SaaS. low cost, easy to deploy, and makes certain functions easier to use).
Run 2k cameras at least. People expect high res.
The more you overbuild the cpu, the faster you can go. You want more cores.
Passthrough on hi res stream (see the dummies guide). Preview low res stream live, expand / open window to hi res stream, ideally (a custom javascript webpage could do this).
Use zmninja + the website. Offer customers both apps. There are also some other apps available. (e.g. possibly zmsquarer).
In most cases, you should replace coax cams with ethernet. You can use coax to ethernet adapters if you have to. These are the MoCa adapters. There are some by Altronix, and also some cheap overseas ones, depending on budget.
Consider zmes to avoid false positives.
Finally, see the script I made to get a daily summary of all modect events. viewtopic.php?p=135958#p135958
General Tips for Business Deployments
General Tips for Business Deployments
Last edited by burger on Wed Mar 26, 2025 11:46 am, edited 2 times in total.
fastest way to test streams:
ffmpeg -i rtsp://<user>:<pass>@<ipaddress>:554/path ./output.mp4 (if terminal only)
ffplay rtsp://<user>:<pass>@<ipaddress>:554/path (gui)
find paths on ispydb or in zm hcl
If you are new to security software, read:
https://wiki.zoneminder.com/Dummies_Guide
ffmpeg -i rtsp://<user>:<pass>@<ipaddress>:554/path ./output.mp4 (if terminal only)
ffplay rtsp://<user>:<pass>@<ipaddress>:554/path (gui)
find paths on ispydb or in zm hcl
If you are new to security software, read:
https://wiki.zoneminder.com/Dummies_Guide
Re: General Tips for Business Deployments
For me, your tips on setting up a proxy for mobile access, using high-resolution cameras, and offering an app to customers are especially helpful.