I've been using ZM since July 2020 when my sister-in-law gave me an old HP desktop with a Core i7-860, 4 cores, 8 threads at 2.8-3.46 GHz (Circa 2009).
I love ZM.
Shortly thereafter I bought zmNinja-pro App for my iPhone, and I'll admit it took me awhile to figure out ES and get my dynamic-IP service a SSL certificate.
ZM+ES is even more fantastic.
A couple months ago I trash-picked a Dell desktop with a Core i7-3770, 4-cores, 8 threads at 3.4-3.9 GHz (Circa 2012) and since it's quite a bit faster, thought I'd give hooks+MLAPI a try. I'll be honest, this took me months on and off to figure out.
ZM+ES+hooks+MLAPI is epic.
https://imgur.com/gallery/s8z7QiJ
I've now gone one further and purchased myself an $8/year domain name (nothing catchy). I use subdomains for my home services and a NGINX reverse proxy to send it to the right box. e.g.:
homeassistant.example.ca
cctv.example.ca (for ZM)
www. example.ca
In my excitement, I set-up the biggest CPU load at the time (ZM) on the newer, faster, trash-picked Dell.
My setup currently has the 2012 machine doing ZM+ES on ubuntu server at about a 75% system load. It can't really manage to do this AND object detection, despite only using about 15% (on average) from the older 2009 HP.
The older 2009 machine is now doing NGINX, SQUID, OpenVPN (all Dockerized) and MLAPI (not Dockerized, couldn't figure it out) at about a 15% system load.
I'm just learning as I go, and could use a few tips from the more experienced.
1. why do the event bounding boxes sometimes not get put around the object when the object is moving? Processing lag?
2. what cheap used GPU offers worthwhile decent compatible acceleration? The two I have are junk. An nVidia Geforce GTX 260 and an ATI Radeon HD 7350. The Google Coral TPU's are backordered like 80 weeks now in Canada.
3. I can't seem to start
Code: Select all
python3 ./mlapi.py -c mlapiconfig.ini
as me. I can only fire it with sudo or after running sudo -i. But more to the point, I thought systemctl processes ran as root anyway. Anyway, that's my problem, I can run it manually, but I can't get the
to run. I get the following error:
Code: Select all
Traceback (most recent call last):
File "./mlapi.py", line 3, in <module>
from flask import Flask, send_file, request, jsonify, render_template
File "/home/me/.local/lib/python3.8/site-packages/flask/__init__.py", line 14, in <module>
from jinja2 import escape
File "/usr/lib/python3/dist-packages/jinja2/__init__.py", line 33, in <module>
from jinja2.environment import Environment, Template
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 15, in <module>
from jinja2 import nodes
File "/usr/lib/python3/dist-packages/jinja2/nodes.py", line 23, in <module>
from jinja2.utils import Markup
File "/usr/lib/python3/dist-packages/jinja2/utils.py", line 656, in <module>
from markupsafe import Markup, escape, soft_unicode
ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/home/noah/.local/lib/python3.8/site-packages/markupsafe/__init__.py)
I'm running the right version of everything in the requirements.txt file. I'm thinking it's a permissions issue, or install location. I probably installed everything under sudo -i instead of issuing individual sudo commands. Is that a problem? It does work. It just won't run automatically.
4. My detection times are understandably slow without GPU or TPU acceleration. What are people's best strategies to speed things up? I'm thinking disable face-detection for now, along with dialing-in motion events and probably also detection area. I increased the allowed CPU count, but the utilization didn't increase, I can't figure out why.
I'm well appreciative of any guidance or tips you can offer.
Thanks!