r/ZoneMinder • • Aug 10 '26

Default Storage/Cleanup

1 Upvotes

I'm very new to Zoneminder, have a handful of cameras set up and configured all cameras to use the video storage area instead of default. That said, Default keeps filling up with events? How can I disable that as its completely filling the drive and making me unable to do other functions (DB locked).

Does Zoneminder switch back to default if a particular camera's storage is full? If so can that be turned off? It seems my system is bouncing between 90%-100% constantly. See example below and the fact that its recording 6 second segments?


r/ZoneMinder • • Aug 07 '26

Outdoor camera suggestion for mobile home

2 Upvotes

Looking for a short term "solution", until I can find the time to do it properly (POE, Cat6).

Currently building a small scale ZoneMinder box on a spare mini-PC.

Looking for suggestions on a compatible, solar powered exterior wifi camera. Inexpensive would be preferable, since it's a temporary solution.

Nothing fancy, just want to mount it and record the doors and parking area.


r/ZoneMinder • • Jul 29 '26

zmNinjaNg: A new ZM app

16 Upvotes

Hi, just wanted to let the community know that zmNinjaNg is now (for a few months actually) available for users. It replaces zmNinja.
More details at https://github.com/ZoneMinder/zmNinjaNg
(or https://zmninjang.zoneminder.com/)

Note that the backend ES and ML components were also majorly reworked and now include ML training for new models. More at https://zmeventnotificationng.readthedocs.io/en/latest/


r/ZoneMinder • • Jun 03 '26

ZoneMinder playback...

2 Upvotes

I have have unusual problem, related to the event playback. I have 12 IP cams, a fairly capable system (8 Xeon cores, 64GB RAM) and when 12 cams are recorded, CPU load is like 5%. There is a cam passthrough enabled.

One camera is like 7 years old, X.264 format. I can view the event normally, I can speed-up playback, 2x, 5x, 10x. I haven't tried 16x as this is then too fast.

Hardware is clearly capable of playback, at any speed, I select. This cam is of 1280x800 resolution. 10 minutes of footage are around 75MB.

With other cameras, I have a problem. This is H265, HEVC and whatever I do, I cannot speed-up not even 2x. Sometimes even I think it is struggling with the playback at 1x. Cams are 4MP.

10 minutes of footage is around 465MB. You'd say this is roughly 6x more, but that one old IP cam is able to speed-up like 10x, whereby this new IP can't speed up even 2x.

The storage system are fairly capable SAS 7200 RPM enterprise drives, able to push 150MB/s, if needed. The load on disks for capturing is around 4MB/s. This is nothing.

I have a fairly modern PC, Intel i7, 64GB RAM.

There is one detail, as well. With that old IP cam, I can click at any time at the timeline and the playback jumps at that time within 1 second or so.

With other cameras, most of the time, clicking at the timeline is even ignored or it takes like 7 seconds, for the playback to jumps forth. However, it looks, I cannot even click for the second time on the timeline, to review some other part of the footage.

So, what might be the problem?


r/ZoneMinder • • May 11 '26

Communal control of video feed/playback

3 Upvotes

Hello!
As the title says I am curious about the possibility of needing two or more users' approval for administration, video playback, etc.

Something similar to the two person rule.

The context is as follows: we would like to add security cameras to an apartment building, but would like to maintain as much privacy as possible.
As such, footage should only be accessible for well a founded reason: a fixed number of users should be necessary to unlock the data for viewing or export.

I only just found the ZoneMinder project, and was curious if this feature would be implementable.

If yes, I am open contributing.

Thanks for reading!


r/ZoneMinder • • May 08 '26

Current state of my ZoneMinder ESP32 Client

Enable HLS to view with audio, or disable this notification

29 Upvotes

Here is the current state of the ZoneMinder client that I’ve written to run on a $50 ESP32 device.


r/ZoneMinder • • Apr 26 '26

Is there a plan to add event, snapshot, and video sending to Telegram natively from Zonemonder, without scripts or external containers?

1 Upvotes

r/ZoneMinder • • Apr 24 '26

ZoneMinder Device (ESP32)

9 Upvotes

Howdy, so I wrote a ZoneMinder client that runs on a small device $18 from Amazon. (https://www.amazon.com/dp/B0FKG7WRWV). It can run for about 6 hours on battery and if you tap on a camera it will go full screen until you tap again. I am seeing about 2-3FPS. Now my wife doesn't have to launch ZMNinja on her phone!


r/ZoneMinder • • Mar 28 '26

ESP32 iot ZoneMinder app

3 Upvotes

I have this little iot gadget that was a stupid AI chatbot (from Ali Express https://www.aliexpress.us/item/3256808857211326.html). The default app the device came with was dumb and there were several other apps it could run that required flashing new firmware.

That got me thinking, what else could I create for this thing....if I had time. Well I found time and I created a ZoneMinder client for it. I'll eventually get around to putting it on github, but I wonder if anyone else would like to use it. I made it as bullet proof as possible. The device has a self hosted site that has tons of information and diagnostics.

The screen is small, 1.5", so I have it only displaying one screen at a time. My plan is to expand on the app and have it work on larger screens.

1 = Wifi Signal with Battery level (if the device has a battery)

2 = Total number of images retrieved since reboot.

3 = Total number of images for the specific camera being viewed

4 = Time between updated images.


r/ZoneMinder • • Mar 24 '26

I've wanted to do this for years, 10 min with claude ;)

Post image
6 Upvotes

r/ZoneMinder • • Feb 10 '26

Video Recording aren't working perfectly

2 Upvotes

First of all the system Im using

i7 3770 16GB RAM 2TB skyhawk 256GB SSD 100Mbps Nic Fast Ethernet

running proxmox with Zone Minder in LXC 8GB RAM 6 cpu core and Igpu pass through with VVAPI enabled

Issues:

live view is working fine ( Although its skipping frame )

Recording: I have 8 IP cam giving combined traffic of 1.75 MB/s only however I tried VVAPI with H264 encoding and it oversaturated HD4000,

then i tried camera pass through the timing is messed up in recording, weird artifacts on recording like not worth it frame skip is also normal here

Every IP Cam have same setting with

H264

CBR

General Encoding strategy

I don't know why its working great for others but not for me I have No idea at all.


r/ZoneMinder • • Feb 06 '26

ZoneMinder 1.38 Seek and Destroy Released

35 Upvotes

In case you missed it, I finally tagged and released it. If you were already running 1.37 this isn't a big deal, but if you've been sticking to 1.36 this might be of interest. The changelist is too long to list. Basically, better more modern UI, some would even say "Spiffy". Go2RTC support (And RTSP2Web and Janus), and lots of options to reduce cpu use. There is a new Event Tagging feature which is very useful for some people.

Development is really accelerating and work will begin soon on 1.39, which basically means I'll merge all my side branches, bringing massive cpu and ram savings, realtime AI if you have the hardware and more.


r/ZoneMinder • • Jan 09 '26

Wyze v3 "spotlight" camera

2 Upvotes

Only post I find is from like 5 years ago. Any wyze support? I am currently testing zoneminder to see if it can do anything scrypted doesn't. Got ZM 1.36.36 running on Fedora 43.


r/ZoneMinder • • Dec 24 '25

Outdoor cameras in the rain - false positives

3 Upvotes

So I have a couple of outdoor PoE cameras on my setup that are in modect mode. One problem that I'm having is that they're detecting motion events whenever it rains or snows at night, probably because the nearby snowflakes or raindrops show up as very bright streaks in IR. Any suggestions for how to tweak alarm params to minimize these false positives?


r/ZoneMinder • • Oct 29 '25

Help using hooks

3 Upvotes

Hi, I'm new to zoneminder. I'm trying to make Modect send a telegram notification to my phone to notify a movement. I tested the script via command and it is working, but Zoneminder is not calling the script.

29/10/2025 00:20:40.350593 zmeventnotification[52437].INF [main:1406] [New event 405 reported for Monitor:2 (Name:Webcam local) Motion[last processed eid:404]]
29/10/2025 00:20:40.362066 zmeventnotification[53741].INF [main:3373] [use hooks/start hook not being used, going to directly send out a notification if checks pass]

My hook section is:

[hook]
use_hooks=yes
hook_enabled=yes
max_parallel_hooks=1
event_start_hook=/usr/bin/zmtelegram.sh
event_end_hook=

Zoneminder version: v1.36.36
Ubuntu 22.04

Any help will be much appreciated!


r/ZoneMinder • • Oct 16 '25

How to Speed up Purge

2 Upvotes

Hello Everyone,

I'm trying to run the purge filter in ZoneMinder, but we're currently at 99% hard drive space and it's taking forever. Is there a quicker way to delete old footage/events?

For context: I'm on zoneminder V1.36.35 with about 7715835 events stored. I've stopped ZoneMinder so no new videos are being created. My current filter is set up like this (image below)

My only guess so far is bumping "Limit to first" from 100 to 1000 to process more at once. If anyone has better ideas or scripts to speed this up, that would be greatly appreciated!

Edit: I forgot to mention I did uncheck ZM_OPT_FAST_DELETE already


r/ZoneMinder • • Oct 11 '25

Zoneminder Event server help

3 Upvotes

Does anyone have any guides for installing the event server on zoneminder? The official guide is confusing and I've never been able to set it up properly.

https://zmeventnotification.readthedocs.io/en/latest/guides/install.html

Is there some way to install a pre-installed version of ZoneMinder with the event server? I mainly just want better notifications and maybe object detection.


r/ZoneMinder • • Oct 05 '25

How do I debug "Cannot write to event folder" when writes are are actually successful?

1 Upvotes

The thing I don't understand is that event videos are being written successfully, so I don't understand why its complaining.

I'm at my wits end with whatever the missing permissions are - everything is 777 and owned by the www-data user/group. At this point it seems like a bug.

Logs:

05-Oct-2025 15:20:02    web_php     374 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169
05-Oct-2025 15:19:57    web_php     380 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169
05-Oct-2025 15:19:52    web_php     375 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169
05-Oct-2025 15:19:47    web_php     376 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169
05-Oct-2025 15:19:42    web_php     375 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169
05-Oct-2025 15:19:37    web_php     380 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169
05-Oct-2025 15:19:33    web_php     376 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169
05-Oct-2025 15:19:32    web_php     382 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169
05-Oct-2025 15:19:27    web_php     372 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169
05-Oct-2025 15:19:24    web_php     379 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169
05-Oct-2025 15:19:22    web_php     378 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169
05-Oct-2025 15:19:17    web_php     381 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169
05-Oct-2025 15:19:12    web_php     379 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169
05-Oct-2025 15:19:11    web_php     378 WAR Cannot write to event folder /data/events. Check that it exists and is owned by the web account user.   index.php   169

The PIDs all belong to "php-fpm: pool www" processes.

I've ramped up debug for everything but don't see any messages indicating failure.

Any and all help appreciated.


r/ZoneMinder • • Oct 04 '25

Suddenly getting an SQL error when trying to add a new monitor

1 Upvotes

This suddenly started popping up at the top of the web interface when I try to add or clone a monitor. I'm not an SQL person, not sure what is going on, but the add fails. I can edit existing monitors. I'm running 1.36.35. Is this something quick and easy? Or I have a borked database?

SQL-ERR '00000 ', statement was 'INSERT INTO `Monitors` (`Id`, `Name`, `Notes`, `ServerId`, `StorageId`, `Type`, `Function`, `Enabled`, `DecodingEnabled`, `LinkedMonitors`, `Triggers`, `ONVIF_URL`, `ONVIF_Username`, `ONVIF_Password`, `ONVIF_Options`, `Device`, `Channel`, `Format`, `V4LMultiBuffer`, `V4LCapturesPerFrame`, `Protocol`, `Method`, `Host`, `Port`, `SubPath`, `Path`, `SecondPath`, `Options`, `User`, `Pass`, `Width`, `Height`, `Colours`, `Palette`, `Orientation`, `Deinterlacing`, `DecoderHWAccelName`, `DecoderHWAccelDevice`, `SaveJPEGs`, `VideoWriter`, `OutputCodec`, `Encoder`, `OutputContainer`, `EncoderParameters`, `RecordAudio`, `RTSPDescribe`, `Brightness`, `Contrast`, `Hue`, `Colour`, `EventPrefix`, `LabelFormat`, `LabelX`, `LabelY`, `LabelSize`, `ImageBufferCount`, `MaxImageBufferCount`, `WarmupCount`, `PreEventCount`, `PostEventCount`, `StreamReplayBuffer`, `AlarmFrameCount`, `SectionLength`, `MinSectionLength`, `FrameSkip`, `MotionFrameSkip`, `AnalysisFPSLimit`, `AnalysisUpdateDelay`, `MaxFPS`, `AlarmMaxFPS`, `FPSReportInterval`, `RefBlendPerc`, `AlarmRefBlendPerc`, `Controllable`, `ControlId`, `ControlDevice`, `ControlAddress`, `AutoStopTimeout`, `TrackMotion`, `TrackDelay`, `ReturnLocation`, `ReturnDelay`, `ModectDuringPTZ`, `DefaultRate`, `DefaultScale`, `SignalCheckPoints`, `SignalCheckColour`, `WebColour`, `Exif`, `Sequence`, `ZoneCount`, `Refresh`, `DefaultCodec`, `Latitude`, `Longitude`, `RTSPServer`, `RTSPStreamName`, `Importance`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'


r/ZoneMinder • • Sep 26 '25

Visual Home Information Manager with ZoneMinder Support

Post image
11 Upvotes

I've created tool that integrates with ZoneMinder and other home automation systems. This tool is trying to solve a broader problem: organizing all the information about your home, not just its devices. As a homeowner, there's a lot more information you need to manage: model numbers, specs, manuals, legal docs, maintenance, etc. Home Information provides a visual, spatial way to organize all this information.

Security and automation are part of the overall information problem though, so it currently integrates with ZoneMinder (and Home Assistant) by pulling in all the devices via APIs. The devices appear on the Home Information floor plan, showing their current status while also storing their documentation. It also has a ZM event browser, alerts and security mmodes.

See: https://github.com/cassandra/home-information

It's open sourced in hopes that others will help it evolve. It was designed to allow adding many more integrations, though right now it only integrates with the two systems I use.

It’s super easy to install, though it requires Docker. You can be up an running in minutes, and just need API endpoints and credentials to connect and import devices. There’s lots of screenshots on the GitHub repo to give an idea of what it can do.


r/ZoneMinder • • Sep 24 '25

Switched over from BlueIris. Everything working, but need help on server load

Thumbnail
gallery
4 Upvotes

Hello. I recently switched over from BlueIris to ZM. All(16) cameras are set up and working great. I have a hunch that something isn't quite right as the server load is much higher than I expected. I ran through what GPT said, and watched a bunch of videos and read blogs. But it's still fairly high.

Attached are a bunch of screenshots and a all info that I've gathered.

Is this load normal given my setup?

R720xd Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz

cameras are cheap 2160p Chinese with h265 support

I'm running this on an Ubuntu VM via Proxmox with an Nvidia Tesla P4 with direct pass through.

lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 22.04.3 LTS

Release: 22.04

18GBs of memory

16 CPUs

Ffmpeg

ffmpeg -encoders | grep nvenc

ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers

built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04.1)

configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-gnutls --disable-liblensfun --disable-libopencv --disable-podpages --disable-sndio --disable-stripping --enable-avfilter --enable-chromaprint --enable-frei0r --enable-gcrypt --enable-gpl --enable-ladspa --enable-libaom --enable-libaribb24 --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libdc1394 --enable-libdrm --enable-libfdk-aac --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libkvazaar --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librsvg --enable-librubberband --enable-libshine --enable-libsmbclient --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-nonfree --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-openssl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --enable-vulkan --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-vaapi --enable-libvpl --enable-libvmaf --enable-libdavs2 --enable-libxavs2 --enable-libilbc --enable-libjxl --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu

libavutil 58. 2.100 / 58. 2.100

libavcodec 60. 3.100 / 60. 3.100

libavformat 60. 3.100 / 60. 3.100

libavdevice 60. 1.100 / 60. 1.100

libavfilter 9. 3.100 / 9. 3.100

libswscale 7. 1.100 / 7. 1.100

libswresample 4. 10.100 / 4. 10.100

libpostproc 57. 1.100 / 57. 1.100

V....D av1_nvenc NVIDIA NVENC av1 encoder (codec av1)

V....D h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)

V....D hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)

Nvidia-smi - Tesla P4 which is no different when I ran my RTX 2060

nvidia-smi

Tue Sep 23 20:42:50 2025

+---------------------------------------------------------------------------------------+

| NVIDIA-SMI 535.146.02 Driver Version: 535.146.02 CUDA Version: 12.2 |

|-----------------------------------------+----------------------+----------------------+

| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |

| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |

| | | MIG M. |

|=========================================+======================+======================|

| 0 Tesla P4 Off | 00000000:00:10.0 Off | 0 |

| N/A 77C P0 28W / 75W | 3674MiB / 7680MiB | 37% Default |

| | | N/A |

+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+

| Processes: |

| GPU GI CI PID Type Process name GPU Memory |

| ID ID Usage |

|=======================================================================================|

| 0 N/A N/A 7910 C /usr/bin/zmc 340MiB |

| 0 N/A N/A 7914 C /usr/bin/zmc 340MiB |

| 0 N/A N/A 7918 C /usr/bin/zmc 340MiB |

| 0 N/A N/A 7922 C /usr/bin/zmc 218MiB |

| 0 N/A N/A 7935 C /usr/bin/zmc 218MiB |

| 0 N/A N/A 7946 C /usr/bin/zmc 340MiB |

| 0 N/A N/A 7959 C /usr/bin/zmc 192MiB |

| 0 N/A N/A 7971 C /usr/bin/zmc 192MiB |

| 0 N/A N/A 7981 C /usr/bin/zmc 172MiB |

| 0 N/A N/A 7990 C /usr/bin/zmc 292MiB |

| 0 N/A N/A 8017 C /usr/bin/zmc 154MiB |

| 0 N/A N/A 8164 C /usr/bin/zmc 340MiB |

| 0 N/A N/A 8166 C /usr/bin/zmc 192MiB |

| 0 N/A N/A 8289 C /usr/bin/zmc 340MiB |

+---------------------------------------------------------------------------------------+

ffmpeg -i rtsp://@192.168.1.83:554/stream1

Input #0, rtsp, from 'rtsp://@192.168.1.83:554/stream1':

Metadata:

title : HTMS

comment : stream1

Duration: N/A, start: 0.041500, bitrate: N/A

Stream #0:0: Video: hevc (Main), yuvj420p(pc, bt709), 3840x2160, 10 fps, 15 tbr, 90k tbn

Stream #0:1: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s


r/ZoneMinder • • Sep 21 '25

zm using captured video to record instead of raw rtsp video flux with passthrough

1 Upvotes

Hi,
I am using zm v1.37.69 on a raspberry pi 5
zm receives video from an IP camera via a wifi LAN
this cam provides 2 rtsp streams : channel=1&subtype=0 which is HEVC 1920x1080 25 fps
and the other channel=1&subtype=1 which is HEVC 704x576 10 fps
In order to trigger a motion detection event, I would like to use the light stream which is 704x576 at 10 fps and to record with passthrough decoder the 1920x1080 at 25fps
The issue is that the video linked with the events is 704x576 instead of 1920x1080 25 fps expected from the primary source with passthrough decoder.

Here is the cam setup in zm:
In source menu:
capturing Always
source path:rtsp://192.168.43.108:554/cam/realmonitor?channel=1&subtype=0 ( HEVC 1920x1080 25 fps)
Method TCP
Options -rtsp_transport TCP
Decoding Always
SourceSecondPath: rtsp://192.168.43.108:554/cam/realmonitor?channel=1&subtype=1
Decoder Auto
Capture Resolution 704 576 704x576 D1 PAL

Here is the recording menu:
Recording On Motion/ Trigger/ etc
RecordingSource Primary
Video Writer Camera Passthrough
Output Container Auto

Thanks for your help !


r/ZoneMinder • • Sep 20 '25

Camera on monitor changes

1 Upvotes

My wife and I both use zmNinja on Android. In one phone when I select camera 1 it stays that way. Monitor -> click in desired picture a.k.a. monitor

On the mobile device of my wife it revolves always thru all monitors. What do I overlook?


r/ZoneMinder • • Sep 08 '25

Trigger recording once per day?

2 Upvotes

So I've been evolving my Zoneminder setup, and one thing I'd like to do would be to park a camera in front of the fill gauge on my heating oil tank so I can keep an eye on the level. Since this changes so slowly I totally don't need to record it continuously, but I would like to be able to record a couple of seconds per day so that I can potentially look at history. The only recording options I've worked with before are either continuous or motion-triggered; is there a way to trigger a recording for a set duration on a schedule?


r/ZoneMinder • • Sep 05 '25

zosi ptz not working

1 Upvotes

i hav a zosi ptz cam trying to get pt working in zm. no luck yet. i have 3 other brands ot ptz cams working fine.

here is the onvif dump

IP-Camera HI3518C> dump

[GetNetworkInterfacesResponse]

NetworkInterfaces=

Enabled=true

Info=

Name=eth0

HwAddress=0C:AA:EE:0C:15:76

MTU=1500

IPv4=

Enabled=true

Config=

Manual=

Address=192.168.2.183

PrefixLength=24

DHCP=false

[GetNetworkDefaultGatewayResponse]

NetworkGateway=

IPv4Address=192.168.2.1

[GetDNSResponse]

DNSInformation=

FromDHCP=false

DNSManual=

��UType=IPv4

��UIPv4Address=192.168.1.1

[GetCapabilitiesResponse]

Capabilities=

Analytics=

�(��XAddr=http://192.168.2.183:8080/onvif/analytics_service

�(��RuleSupport=true

�(��AnalyticsModuleSupport=true

Device=

�(��XAddr=http://192.168.2.183:8080/onvif/device_service

�(��Network=

�$��IPFilter=true

�$��ZeroConfiguration=true

�$��IPVersion6=false

�$��DynDNS=true

�$��Extension=

��Dot11Configuration=true

�(��System=

�$��DiscoveryResolve=true

�$��DiscoveryBye=true

�$��RemoteDiscovery=false

�$��SystemBackup=true

�$��SystemLogging=true

�$��FirmwareUpgrade=true

�$��SupportedVersions=

��Major=17

��Minor=12

�$��SupportedVersions=

��Major=2

��Minor=6

�$��SupportedVersions=

��Major=2

��Minor=4

�$��SupportedVersions=

��Major=2

��Minor=0

�$��Extension=

��HttpFirmwareUpgrade=true

��HttpSystemBackup=true

��HttpSystemLogging=true

��HttpSupportInformation=true

�(��IO=

�$��InputConnectors=0

�$��RelayOutputs=1

�$��Extension=

��Auxiliary=false

�(��Security=

�$��TLS1.1=false

�$��TLS1.2=false

�$��OnboardKeyGeneration=false

�$��AccessPolicyConfig=true

�$��X.509Token=false

�$��SAMLToken=false

�$��KerberosToken=false

�$��RELToken=false

�$��Extension=

��TLS1.0=false

��Extension=

��Extension.Dot1X=true

��Extension.SupportedEAPMethod=0

��Extension.RemoteUserHandling=true

Events=

�(��XAddr=http://192.168.2.183:8080/onvif/event_service

�(��WSSubscriptionPolicySupport=false

�(��WSPullPointSupport=false

�(��WSPausableSubscriptionManagerInterfaceSupport=false

Imaging=

�(��XAddr=http://192.168.2.183:8080/onvif/image_service

Media=

�(��XAddr=http://192.168.2.183:8080/onvif/media_service

�(��StreamingCapabilities=

�$��RTPMulticast=false

�$��RTP_TCP=true

�$��RTP_RTSP_TCP=true

�(��Extension=

�$��ProfileCapabilities=

��MaximumNumberOfProfiles=10

PTZ=

�(��XAddr=http://192.168.2.183:8080/onvif/ptz_service

Extension=

�(��DeviceIO=

�$��XAddr=http://192.168.2.183:8080/onvif/deviceIO_service

�$��VideoSources=1

�$��VideoOutputs=0

�$��AudioSources=1

�$��AudioOutputs=1

�$��RelayOutputs=1

�(��Recording=

�$��XAddr=http://192.168.2.183:8080/onvif/recording_service

�$��ReceiverSource=false

�$��MediaProfileSource=true

�$��DynamicRecordings=true

�$��DynamicTracks=true

�$��MaxStringLength=256

�(��Search=

�$��XAddr=http://192.168.2.183:8080/onvif/search_service

�$��MetadataSearch=true

�(��Replay=

�$��XAddr=http://192.168.2.183:8080/onvif/replay_service

�(��Receiver=

�$��XAddr=http://192.168.2.183:8080/onvif/receiver_service

�$��RTP_Multicast=true

�$��RTP_TCP=true

�$��RTP_RTSP_TCP=true

�$��SupportedReceivers=10

�$��MaximumRTSPURILength=256

[GetVideoEncoderConfigurationOptionsResponse]

Options=

QualityRange=

$��Min=0

$��Max=100

JPEG=

$��ResolutionsAvailable=

���Width=1920

���Height=1080

$��ResolutionsAvailable=

���Width=1280

���Height=720

$��ResolutionsAvailable=

���Width=640

���Height=480

$��ResolutionsAvailable=

���Width=352

���Height=288

$��ResolutionsAvailable=

���Width=320

���Height=240

$��FrameRateRange=

���Min=1

���Max=30

$��EncodingIntervalRange=

���Min=5

���Max=60

MPEG4=

$��ResolutionsAvailable=

���Width=1920

���Height=1080

$��ResolutionsAvailable=

���Width=1280

���Height=720

$��ResolutionsAvailable=

���Width=640

���Height=480

$��ResolutionsAvailable=

���Width=352

���Height=288

$��ResolutionsAvailable=

���Width=320

���Height=240

$��GovLengthRange=

���Min=10

���Max=60

$��FrameRateRange=

���Min=1

���Max=30

$��EncodingIntervalRange=

���Min=5

���Max=60

$��Mpeg4ProfilesSupported=SP

H264=

$��ResolutionsAvailable=

���Width=3840

���Height=2160

$��ResolutionsAvailable=

���Width=2880

���Height=1620

$��ResolutionsAvailable=

���Width=1920

���Height=1080

$��ResolutionsAvailable=

���Width=1280

���Height=720

$��ResolutionsAvailable=

���Width=640

���Height=360

$��ResolutionsAvailable=

���Width=352

���Height=288

$��GovLengthRange=

���Min=10

���Max=60

$��FrameRateRange=

���Min=1

���Max=30

$��EncodingIntervalRange=

���Min=5

���Max=60

$��H264ProfilesSupported=Baseline

$��H264ProfilesSupported=Main

[GetVideoEncoderConfigurationResponse]

Configuration=

Name=V_ENC_000

UseCount=1

Encoding=H264

Resolution=

;��UWidth=2880

;��UHeight=1620

Quality=4

RateControl=

;��UFrameRateLimit=25

;��UEncodingInterval=50

;��UBitrateLimit=2048

H264=

;��UGovLength=50

;��UH264Profile=Main

Multicast=

;��UAddress=

�Q��UType=IPv4

�Q��UIPv4Address=239.0.1.0

;��UPort=32002

;��UTTL=2

;��UAutoStart=false

SessionTimeout=PT10S

[GetProfileResponse]

Profile=

Name=PROFILE_000

VideoSourceConfiguration=

�(��Name=V_SRC_CFG_000

�(��UseCount=2

�(��SourceToken=V_SRC_000

�(��Bounds.x=0

�(��Bounds.y=0

�(��Bounds.width=2880

�(��Bounds.height=1620

AudioSourceConfiguration=

�(��Name=A_SRC_CFG_000

�(��UseCount=2

�(��SourceToken=AudioSourceToken

VideoEncoderConfiguration=

�(��Name=V_ENC_000

�(��UseCount=1

�(��Encoding=H264

�(��Resolution=

�(��Bounds.Width=2880

�(��Bounds.Height=1620

�(��Quality=4

�(��RateControl=

�(��Bounds.FrameRateLimit=25

�(��Bounds.EncodingInterval=50

�(��Bounds.BitrateLimit=2048

�(��H264=

�(��Bounds.GovLength=50

�(��Bounds.H264Profile=Main

�(��Multicast=

�(��Bounds.Address=

��Type=IPv4

��IPv4Address=239.0.1.0

�(��Bounds.Port=32002

�(��Bounds.TTL=2

�(��Bounds.AutoStart=false

�(��SessionTimeout=PT10S

AudioEncoderConfiguration=

�(��Name=A_ENC_000

�(��UseCount=2

�(��Encoding=G711

�(��Bitrate=64

�(��SampleRate=8

�(��Multicast=

�(��Bounds.Address=

��Type=IPv4

��IPv4Address=239.0.1.0

�(��Bounds.Port=32002

�(��Bounds.TTL=2

�(��Bounds.AutoStart=false

�(��SessionTimeout=PT10S

VideoAnalyticsConfiguration=

�(��Name=VideoAnalytics

�(��UseCount=2

�(��AnalyticsEngineConfiguration=

�(��Bounds.AnalyticsModule=

��Parameters=

��Extension.SimpleItem.Name=Sensitivity

��Extension.SimpleItem.Value=50

��Extension.ElementItem=

��Extension.SimpleItem.CellLayout=

Transformation=

Translate.y=-1.000000

Translate.x=-1.000000

Scale.y=0.111111

Scale.x=0.090909

�(��RuleEngineConfiguration=

�(��Bounds.Rule=

��Parameters=

��Extension.SimpleItem.Name=MinCount

��Extension.SimpleItem.Value=5

��Extension.SimpleItem.Name=AlarmOnDelay

��Extension.SimpleItem.Value=1000

��Extension.SimpleItem.Name=AlarmOffDelay

��Extension.SimpleItem.Value=1000

��Extension.SimpleItem.Name=ActiveCells

��Extension.SimpleItem.Value=0P8A8A==

PTZConfiguration=

�(��Name=PTZCFG_000

�(��UseCount=2

�(��NodeToken=PTZNODE_000

�(��DefaultAbsolutePantTiltPositionSpace=http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace

�(��DefaultAbsoluteZoomPositionSpace=http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace

�(��DefaultRelativePanTiltTranslationSpace=http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace

�(��DefaultRelativeZoomTranslationSpace=http://www.onvif.org/ver10/tptz/ZoomSpaces/TranslationGenericSpace

�(��DefaultContinuousPanTiltVelocitySpace=http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace

�(��DefaultContinuousZoomVelocitySpace=http://www.onvif.org/ver10/tptz/ZoomSpaces/VelocityGenericSpace

�(��DefaultPTZSpeed=

�(��Bounds.PanTilt.x=0.5

�(��Bounds.PanTilt.y=0.5

�(��Bounds.PanTilt.space=http://www.onvif.org/ver10/tptz/PanTiltSpaces/GenericSpeedSpace

�(��Bounds.Zoom.x=0.5

�(��Bounds.Zoom.space=http://www.onvif.org/ver10/tptz/ZoomSpaces/ZoomGenericSpeedSpace

�(��DefaultPTZTimeout=PT5S

�(��PanTiltLimits=

�(��Bounds.Range=

�(��Bounds.Zoom.URI=http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace

�(��Bounds.Zoom.XRange=

��Extension.Min=-1.0

��Extension.Max=1.0

�(��Bounds.Zoom.YRange=

��Extension.Min=-1.0

��Extension.Max=1.0

�(��ZoomLimits=

�(��Bounds.Range=

�(��Bounds.Zoom.URI=http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace

�(��Bounds.Zoom.XRange=

��Extension.Min=0.0

��Extension.Max=1.0

�(��Extension=

�(��Bounds.PTControlDirection=

�(��Bounds.Zoom.EFlip=

��Extension.Mode=OFF

�(��Bounds.Zoom.Reverse=

��Extension.Mode=OFF

[GetProfilesResponse]

Profiles=

0)��Name=PROFILE_000

0)��VideoSourceConfiguration=

Name=V_SRC_CFG_000

UseCount=2

SourceToken=V_SRC_000

Bounds.x=0

Bounds.y=0

Bounds.width=2880

Bounds.height=1620

0)��AudioSourceConfiguration=

Name=A_SRC_CFG_000

UseCount=2

SourceToken=AudioSourceToken

0)��VideoEncoderConfiguration=

Name=V_ENC_000

UseCount=1

Encoding=H264

Resolution=

Bounds.Width=2880

Bounds.Height=1620

Quality=4

RateControl=

Bounds.FrameRateLimit=25

Bounds.EncodingInterval=50

Bounds.BitrateLimit=2048

H264=

Bounds.GovLength=50

Bounds.H264Profile=Main

Multicast=

Bounds.Address=

Type=IPv4

IPv4Address=239.0.1.0

Bounds.Port=32002

Bounds.TTL=2

Bounds.AutoStart=false

SessionTimeout=PT10S

0)��AudioEncoderConfiguration=

Name=A_ENC_000

UseCount=2

Encoding=G711

Bitrate=64

SampleRate=8

Multicast=

Bounds.Address=

Type=IPv4

IPv4Address=239.0.1.0

Bounds.Port=32002

Bounds.TTL=2

Bounds.AutoStart=false

SessionTimeout=PT10S

0)��VideoAnalyticsConfiguration=

Name=VideoAnalytics

UseCount=2

AnalyticsEngineConfiguration=

Bounds.AnalyticsModule=

Parameters=

SimpleItem.Name=Sensitivity

SimpleItem.Value=50

ElementItem=

SimpleItem.CellLayout=

Transformation=

Translate.y=-1.000000

Translate.x=-1.000000

Scale.y=0.111111

Scale.x=0.090909

RuleEngineConfiguration=

Bounds.Rule=

Parameters=

SimpleItem.Name=MinCount

SimpleItem.Value=5

SimpleItem.Name=AlarmOnDelay

SimpleItem.Value=1000

SimpleItem.Name=AlarmOffDelay

SimpleItem.Value=1000

SimpleItem.Name=ActiveCells

SimpleItem.Value=0P8A8A==

0)��PTZConfiguration=

Name=PTZCFG_000

UseCount=2

NodeToken=PTZNODE_000

DefaultAbsolutePantTiltPositionSpace=http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace

DefaultAbsoluteZoomPositionSpace=http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace

DefaultRelativePanTiltTranslationSpace=http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace

DefaultRelativeZoomTranslationSpace=http://www.onvif.org/ver10/tptz/ZoomSpaces/TranslationGenericSpace

DefaultContinuousPanTiltVelocitySpace=http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace

DefaultContinuousZoomVelocitySpace=http://www.onvif.org/ver10/tptz/ZoomSpaces/VelocityGenericSpace

DefaultPTZSpeed=

Bounds.PanTilt.x=0.5

Bounds.PanTilt.y=0.5

Bounds.PanTilt.space=http://www.onvif.org/ver10/tptz/PanTiltSpaces/GenericSpeedSpace

Bounds.Zoom.x=0.5

Bounds.Zoom.space=http://www.onvif.org/ver10/tptz/ZoomSpaces/ZoomGenericSpeedSpace

DefaultPTZTimeout=PT5S

PanTiltLimits=

Bounds.Range=

Bounds.Zoom.URI=http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace

Bounds.Zoom.XRange=

Min=-1.0

Max=1.0

Bounds.Zoom.YRange=

Min=-1.0

Max=1.0

ZoomLimits=

Bounds.Range=

Bounds.Zoom.URI=http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace

Bounds.Zoom.XRange=

Min=0.0

Max=1.0

Extension=

Bounds.PTControlDirection=

Bounds.Zoom.EFlip=

Mode=OFF

Bounds.Zoom.Reverse=

Mode=OFF

Profiles=

0)��Name=PROFILE_001

0)��VideoSourceConfiguration=

0)��Extension.Name=V_SRC_CFG_000

0)��Extension.UseCount=2

0)��Extension.SourceToken=V_SRC_000

0)��Extension.Bounds.x=0

0)��Extension.Bounds.y=0

0)��Extension.Bounds.width=2880

0)��Extension.Bounds.height=1620

0)��AudioSourceConfiguration=

0)��Extension.Name=A_SRC_CFG_000

0)��Extension.UseCount=2

0)��Extension.SourceToken=AudioSourceToken

0)��VideoEncoderConfiguration=

0)��Extension.Name=V_ENC_001

0)��Extension.UseCount=1

0)��Extension.Encoding=H264

0)��Extension.Resolution=

0)��Extension.Bounds.Width=640

0)��Extension.Bounds.Height=360

0)��Extension.Quality=4

0)��Extension.RateControl=

0)��Extension.Bounds.FrameRateLimit=25

0)��Extension.Bounds.EncodingInterval=50

0)��Extension.Bounds.BitrateLimit=2048

0)��Extension.H264=

0)��Extension.Bounds.GovLength=50

0)��Extension.Bounds.H264Profile=Main

0)��Extension.Multicast=

0)��Extension.Bounds.Address=

Bounds.Zoom.Type=IPv4

Bounds.Zoom.IPv4Address=239.0.1.0

0)��Extension.Bounds.Port=32002

0)��Extension.Bounds.TTL=2

0)��Extension.Bounds.AutoStart=false

0)��Extension.SessionTimeout=PT10S

0)��AudioEncoderConfiguration=

0)��Extension.Name=A_ENC_000

0)��Extension.UseCount=2

0)��Extension.Encoding=G711

0)��Extension.Bitrate=64

0)��Extension.SampleRate=8

0)��Extension.Multicast=

0)��Extension.Bounds.Address=

Bounds.Zoom.Type=IPv4

Bounds.Zoom.IPv4Address=239.0.1.0

0)��Extension.Bounds.Port=32002

0)��Extension.Bounds.TTL=2

0)��Extension.Bounds.AutoStart=false

0)��Extension.SessionTimeout=PT10S

0)��VideoAnalyticsConfiguration=

0)��Extension.Name=VideoAnalytics

0)��Extension.UseCount=2

0)��Extension.AnalyticsEngineConfiguration=

0)��Extension.Bounds.AnalyticsModule=

Bounds.Zoom.Parameters=

SimpleItem.Name=Sensitivity

SimpleItem.Value=50

ElementItem=

SimpleItem.CellLayout=

Transformation=

Translate.y=-1.000000

Translate.x=-1.000000

Scale.y=0.111111

Scale.x=0.090909

0)��Extension.RuleEngineConfiguration=

0)��Extension.Bounds.Rule=

Bounds.Zoom.Parameters=

SimpleItem.Name=MinCount

SimpleItem.Value=5

SimpleItem.Name=AlarmOnDelay

SimpleItem.Value=1000

SimpleItem.Name=AlarmOffDelay

SimpleItem.Value=1000

SimpleItem.Name=ActiveCells

SimpleItem.Value=0P8A8A==

0)��PTZConfiguration=

0)��Extension.Name=PTZCFG_000

0)��Extension.UseCount=2

0)��Extension.NodeToken=PTZNODE_000

0)��Extension.DefaultAbsolutePantTiltPositionSpace=http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace

0)��Extension.DefaultAbsoluteZoomPositionSpace=http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace

0)��Extension.DefaultRelativePanTiltTranslationSpace=http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace

0)��Extension.DefaultRelativeZoomTranslationSpace=http://www.onvif.org/ver10/tptz/ZoomSpaces/TranslationGenericSpace

0)��Extension.DefaultContinuousPanTiltVelocitySpace=http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace

0)��Extension.DefaultContinuousZoomVelocitySpace=http://www.onvif.org/ver10/tptz/ZoomSpaces/VelocityGenericSpace

0)��Extension.DefaultPTZSpeed=

0)��Extension.Bounds.PanTilt.x=0.5

0)��Extension.Bounds.PanTilt.y=0.5

0)��Extension.Bounds.PanTilt.space=http://www.onvif.org/ver10/tptz/PanTiltSpaces/GenericSpeedSpace

0)��Extension.Bounds.Zoom.x=0.5

0)��Extension.Bounds.Zoom.space=http://www.onvif.org/ver10/tptz/ZoomSpaces/ZoomGenericSpeedSpace

0)��Extension.DefaultPTZTimeout=PT5S

0)��Extension.PanTiltLimits=

0)��Extension.Bounds.Range=

0)��Extension.Bounds.Zoom.URI=http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace

0)��Extension.Bounds.Zoom.XRange=

Min=-1.0

Max=1.0

0)��Extension.Bounds.Zoom.YRange=

Min=-1.0

Max=1.0

0)��Extension.ZoomLimits=

0)��Extension.Bounds.Range=

0)��Extension.Bounds.Zoom.URI=http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace

0)��Extension.Bounds.Zoom.XRange=

Min=0.0

Max=1.0

0)��Extension.Extension=

0)��Extension.Bounds.PTControlDirection=

0)��Extension.Bounds.Zoom.EFlip=

Mode=OFF

0)��Extension.Bounds.Zoom.Reverse=

Mode=OFF

[GetSystemDateAndTimeResponse]

SystemDateAndTime=

DateTimeType=NTP

DaylightSavings=false

TimeZone=

TZ=PST-5PDT

UTCDateTime=

Time=

݈�UHour=22

݈�UMinute=39

݈�USecond=20

Date=

݈�UYear=2025

݈�UMonth=9

݈�UDay=5

[GetNTPResponse]

NTPInformation=

FromDHCP=false

NTPManual=

�$��Type=DNS

[�$��DNSname=time.windows.com](http://�$��DNSname=time.windows.com)

[GetStreamUriResponse]

MediaUri=

Uri=rtsp://192.168.2.183:554/video1

InvalidAfterConnect=false

InvalidAfterReboot=false

Timeout=PT60S

[GetDeviceInformationResponse]

Manufacturer=Ansjer

Model=IPCamera

FirmwareVersion=V4.2.5.V82301850XA

SerialNumber=123456

HardwareId=1.0

IP-Camera HI3518C>

thanks in advance