Package Details: zoneminder 1.36.35-1

Git Clone URL: https://aur.archlinux.org/zoneminder.git (read-only, click to copy)
Package Base: zoneminder
Description: A full-featured, open source, state-of-the-art video surveillance software system
Upstream URL: https://zoneminder.com/
Keywords: camera cctv monitor record security surveillance video zoneminder
Licenses: GPL-2.0-only
Submitter: None
Maintainer: Nocifer
Last Packager: Nocifer
Votes: 72
Popularity: 0.36
First Submitted: 2008-03-21 00:09 (UTC)
Last Updated: 2024-10-22 17:14 (UTC)

Dependencies (45)

Sources (8)

Latest Comments

« First ‹ Previous 1 .. 24 25 26 27 28 29 30 31 32 33 34 .. 63 Next › Last »

Nocifer commented on 2018-10-02 22:32 (UTC)

Yeah, I wasn't expecting you to find anything in those logs, as I said the stream working through VLC means Nginx is serving it properly... But the same can be said about ffmpeg: if it's streaming the video and you can see it properly through VLC, then it means it too is doing its job.

So the problem must lie elsewhere, which is baffling to say the least, because with the same setup everything here is working properly. The almost certain facts are that it can't be Nginx (because the video is being served correctly), it shouldn't be ffmpeg (because the video is being streamed correctly and you can see it through VLC) and I'm also confident that it's not fcgiwrap (those errors you see in its service log are coming from ZM, and they conveniently serve as indirect proof that fcgiwrap is working properly).

So, this leaves us with either something to do with ZM itself or with something specific in how your Arch is set up that prevents ZM from working correctly.

I agree it'd be best if we continued this conversation either at the ZM forum or at its GitHub's issue tracker, because there is a much higher chance there that people more experienced than us (not to mention the developers themselves) can look into the problem and give us their input on the matter, but first I have to ask you once more: if you take that link of your camera's stream, the one that VLC streams correctly but ZM won't, and paste it in your browser's address bar, where does it get you? Does it show anything? Does it give you a 403/404/502? Does it produce any error at all, and if it does, what kind of error?

whata-mess commented on 2018-10-02 21:11 (UTC)

Nothing in nginx error logs, zoneminder happily saying its streaming away but nothing in the monitor window.

I am certain this ffmpeg related, libVLC doesn't work it just errors out. I tried pretty much every combination in the source type but the only one it is happy to say i is capturing is ffmpeg, but no image.

Date/Time Component Server PID Level Message File Line 2018-10-02 22:10:43 zmc_m1 23530 INF Monitor-1: images:10800 - Capturing at 7.69 fps, capturing bandwidth 249291bytes/sec zm_monitor.cpp 2473 2018-10-02 22:10:32 zmfilter_1 17864 INF Checking filter PurgeWhenFull delete returned 0 events zmfilter.pl 2018-10-02 22:10:32 zmfilter_2 17873 INF Checking filter Update DiskSpace update disk space returned 0 events zmfilter.pl 2018-10-02 22:10:30 zmc_m1 23530 INF Monitor-1: images:10700 - Capturing at 8.33 fps, capturing bandwidth 270951bytes/sec zm_monitor.cpp 2473 2018-10-02 22:10:18 zmc_m1 23530 INF Monitor-1: images:10600 - Capturing at 7.69 fps, capturing bandwidth 243518bytes/sec zm_monitor.cpp 2473 2018-10-02 22:10:05 zmc_m1 23530 INF Monitor-1: images:10500 - Capturing at 8.33 fps, capturing bandwidth 279327bytes/sec zm_monitor.cpp 2473 2018-10-02 22:09:53 zmc_m1 23530 INF Monitor-1: images:10400 - Capturing at 7.69 fps, capturing bandwidth 249141bytes/sec zm_monitor.cpp 2473 2018-10-02 22:09:40 zmc_m1 23530 INF Monitor-1: images:10300 - Capturing at 8.33 fps, capturing bandwidth 266619bytes/sec zm_monitor.cpp 2473 2018-10-02 22:09:32 zmfilter_2 17873 INF Checking filter Update DiskSpace update disk space returned 0 events zmfilter.pl 2018-10-02 22:09:32 zmfilter_1 17864 INF

whata-mess commented on 2018-10-02 21:03 (UTC)

Yep removed zoneminder and db from mariadb, then new install.

I found this in the fcgiwrap service status but VLC and chrome still stream it, but I dont know where to go from here github?:-

● fcgiwrap.service - Simple CGI Server Loaded: loaded (/usr/lib/systemd/system/fcgiwrap.service; indirect; vendor preset: disabled) Active: active (running) since Tue 2018-10-02 17:42:32 BST; 4h 15min ago Main PID: 3062 (fcgiwrap) Tasks: 1 (limit: 4915) Memory: 3.8M CGroup: /system.slice/fcgiwrap.service └─3062 /usr/sbin/fcgiwrap

Oct 02 20:05:05 arch zms_m1[12583]: WAR [zms_m1] [no last_frame_sent. Shouldn't happen. frame_mod was (1) frame_count (0) ] Oct 02 20:05:14 arch zms_m1[12583]: ERR [zms_m1] [Terminating, last frame sent time 10.361727 secs more than maximum of 10.000000] Oct 02 20:05:34 arch zms_m1[12615]: WAR [zms_m1] [no last_frame_sent. Shouldn't happen. frame_mod was (1) frame_count (0) ] Oct 02 20:05:45 arch zms_m1[12661]: WAR [zms_m1] [no last_frame_sent. Shouldn't happen. frame_mod was (1) frame_count (0) ] Oct 02 20:05:55 arch zms_m1[12661]: ERR [zms_m1] [Terminating, last frame sent time 10.323312 secs more than maximum of 10.000000] Oct 02 20:06:15 arch zms_m1[12697]: WAR [zms_m1] [no last_frame_sent. Shouldn't happen. frame_mod was (1) frame_count (0) ] Oct 02 20:06:24 arch zms_m1[12697]: ERR [zms_m1] [Terminating, last frame sent time 10.069053 secs more than maximum of 10.000000] Oct 02 20:50:25 arch zms_m1[14958]: ERR [zms_m1] [Terminating, last frame sent time 10.008379 secs more than maximum of 10.000000] Oct 02 21:51:42 arch zms_m1[23849]: WAR [zms_m1] [Unable to send stream frame: Broken pipe] Oct 02 21:51:50 arch zms_m1[23899]: WAR [zms_m1] [Unable to send stream frame: Broken pipe]

Nocifer commented on 2018-10-02 20:16 (UTC) (edited on 2018-10-02 20:22 (UTC) by Nocifer)

It may have been working last week, but you weren't using this new version of ZoneMinder, right? ;)

It's almost certainly not an Nginx issue, if it were I would also be seeing the error in my setup. For clarity's sake, here is your camera's link that you posted at the ZM forum:

http://localhost:8095/cgi-bin/nph-zms?mode=jpeg&monitor=1&maxfps=25&size=100&buffer=1000

And here's my own camera's link, with settings similar to yours, and which is working flawlessly with the exact same Nginx configuration:

http://localhost:8095/cgi-bin/nph-zms?scale=100&width=640px&height=480px&mode=jpeg&maxfps=30&monitor=1&connkey=352566&rand=1538510382

As you see they're practically the same as far as Nginx is concerned, their only difference is the options passed to the Perl interpreter (that "cgi-bin" you see there). But to make sure, you could always check Nginx's logs and see what you'll find there. They're both in /var/log/zoneminder.

As for why I prefer Nginx, I prefer it because it is a much faster and lighter piece of software, not to mention more modular and much easier to configure and tailor to one's needs, compared to Apache which not only is it bloated as hell and monolithic in its architecture, but it's also ancient in its way of doing things and more often than not stands in the way instead of Just Working™. Hmmm, now that I think about it it's a bit like ZoneMinder in that regard... But there's a difference between the two: ZoneMinder is actively developed and slowly being brought to modern standards, whereas Apache has more or less been left to stale these past few years while Nginx has been steadily taking over its place.

EDIT: Just to clarify - we are talking about a completely fresh install, right? Not an upgrade over an already running older version?

EDIT 2: Also, to clarify further, if this link can be streamed by VLC then it's 100% certain it's not an Nginx issue, since the stream is obviously being served properly. Are you telling me that if you open that link of yours in a browser, it shows a blank page?

whata-mess commented on 2018-10-02 18:08 (UTC) (edited on 2018-10-02 18:10 (UTC) by whata-mess)

@Nocifer this was working up until last week.

I agree its a setup issue, can I ask why you have this using Nginx and not Apache?

Nocifer commented on 2018-10-02 17:02 (UTC) (edited on 2018-10-02 17:59 (UTC) by Nocifer)

Well, this smells like bad configuration to me, since everything here on my end works almost flawlessly so far (minus some minor buggy hiccups that's upstream's job to fix).

I googled "Unable to send packet at frame resource temporarily unavailable" and what do you know, this turned up:

https://forums.zoneminder.com/viewtopic.php?f=37&t=27065

Someone had the exact same error as you back in March and they fixed it by changing their configuration. Your case might be slightly different than theirs but still, I'm willing to bet there is a 99% chance it's a configuration issue. Did you configure your cameras by following a guide or all by yourself? If the latter, then maybe you should try to find a guide :P

FYI, most IP cameras need to have those FPS limits empty or set to 0 in order to work, ZoneMinder even warns the user when trying to tweak that setting.

whata-mess commented on 2018-10-02 16:45 (UTC)

Did not fix, it same issue will not display monitor of camera, I have the following errors now. Vlc still streams zms.

zmc_m1      2925    INF Monitor-1: images:1600 - Capturing at 12.50 fps, capturing bandwidth 456609bytes/sec    zm_monitor.cpp  2473

2018-10-02 17:42:45 zmc_m1 2925 ERR Unable to send packet at frame 1551: Resource temporarily unavailable, continuing zm_ffmpeg_camera.cpp 240 2018-10-02 17:42:45 zmc_m1 2925 ERR Unable to send packet at frame 1551: Resource temporarily unavailable, continuing zm_ffmpeg_camera.cpp 240 2018-10-02 17:42:42 zmc_m1 2925 ERR Unable to send packet at frame 1528: Resource temporarily unavailable, continuing zm_ffmpeg_camera.cpp 240 2018-10-02 17:42:42 zmc_m1 2925 ERR Unable to send packet at frame 1528: Resource temporarily unavailable, continuing zm_ffmpeg_camera.cpp 240 2018-10-02 17:42:40 zmc_m1 2925 INF Monitor-1: images:1500 - Capturing at 14.29 fps, capturing bandwidth 522278bytes/sec zm_monitor.cpp 2473 2018-10-02 17:42:39 zms_m1 3063 WAR Unable to send stream frame: Broken pipe zm_monitorstream.cpp 410 2018-10-02 17:42:33 zmc_m1 2925 INF Monitor-1: images:1400 - Capturing at 12.50 fps, capturing bandwidth 451363bytes/sec

Nocifer commented on 2018-10-02 14:34 (UTC) (edited on 2021-05-18 22:26 (UTC) by Nocifer)

Unpinning this because back when I first adopted this package, in the 1.32.x days, a new release usually meant quite a few changes in the PKGBUILD and so this changelog was (hopefully) useful for people to stay informed; but nowadays it's more or less useless and it probably comes across as obnoxious.


Any and all feedback will be much appreciated. Thanks!


CHANGELOG

Update: 1.32.3-1 -> 1.34.0-1

THIS UPDATE CAN BREAK EXISTING SETUPS. For more info check the pinned comment above or the notes in the PKGBUILD.

  • Removed hard dependency on Apache, Nginx and MariaDB.
  • Moved install logic to a separate script (zmsetup.sh) that can be run manually by the user.
  • ZoneMinder's webroot moved from /srv/zoneminder to /usr/share/webapps/zoneminder, as per web application standards.
  • Fixes:
    • Changed /var/log/zoneminder permissions from 775 to 755, now logrotate should stop complaining.
    • Changed supported architectures to 'any' for ARM compatibility; if any issues arise, please let me know.
    • Added pod2man as an optional dependency, to support building the package in Docker.

Update: 1.32.2-3 -> 1.32.3-1

  • Changed Nginx's configuration so that now it listens on all interfaces instead of only on localhost. This fixes remote access and also prevents some potential conflicts with other conf files that may be present.
  • Added proper support for multiserver setups in the install script during updates: now it will properly check whether we're running a local database server or not and will run the updater accordingly. Also added a new function for updating the PTZ control presets.
  • Enabled PHP's disabled-by-default semaphore support. This fixes issues like camera playback controls not working and camera device info (e.g. current state, fps, zoom level, et al) not being shown.
  • Gave 'zmuser' some new privileges on database 'zm' that are needed to perform the 1.32.3 update.

Update: 1.32.2-2 -> 1.32.2-3

  • Added spawn-fcgi & multiwatch as dependencies. Now fcgiwrap will spawn in multiple instances, so ZoneMinder will be able to utilize more than one CGI threads at the same time and thus show concurrent camera streams, which solves issues like having no image while editing zones, etc. The default number of instances is 10, which should be enough for 2 or 3 cameras, but you can of course edit the provided service file and change the number as you see fit. Big thanks to @chapatt for bringing this to my attention!

Update: 1.32.2-1 -> 1.32.2-2

  • Included a /zm/ link inside the /www/ folder that points back to /www/. This fixes pretty much every instance of sloppy hardcoded links within ZM's codebase. Big thanks to @Kubax for the idea!

Update: 1.32.1-3 -> 1.32.2-1

NOTE: There's a bunch of small-ish errors in ZM's operation due to some parts of it having the localhost/zm/ link hardcoded and thus breaking when ZM is run from anywhere else, e.g. localhost:8095. I'm in the process of locating these errors and either reporting them upstream or fixing them myself, but I can't know for sure when or even if they'll be fixed. Big thanks to @Kubax for reporting this.

  • Changed temp folder location: /var/lib/zoneminder/temp -> /var/tmp/zoneminder
  • Fixed /api/app/tmp to correctly point to the temp folder
  • Overhauled how the install script makes the choice between Nginx and Apache, as follows:
    • If Nginx is installed and active, regardless of whether Apache is also installed or active or both, we choose Nginx.
    • If Nginx is installed but inactive, and Apache is not installed, we choose Nginx.
    • If Nginx is installed but inactive, and Apache is installed, we choose Apache.
    • If Nginx is not installed, and Apache is installed, we choose Apache.
    • If neither of them is installed, we simply inform the user about it and do nothing.

It's a fairly simple script and I have tested it as much as I can, but things usually find a way to break apart after introducing such... uhm... breaking changes. If things do break for you, please blame me and not the script itself; and also report here what exactly is broken so I can fix it ;)

Update: 1.32.1-2 -> 1.32.1-3

  • MariaDB no longer required (for use with remote databases)
  • Apache added as an optional dependency and preferred over Nginx if both are installed

Update: 1.32.1-1 -> 1.32.1-2

  • Fixed update process (it erroneously required zoneminder.service to be active while updating its database, when it should rather be the opposite)
  • Fixed desktop launcher
  • Added logrotate support
  • Removed 'perl-module-load-conditional' from dependencies as it is already included in core Perl package
  • Other minor fixes (e.g. the license file was being installed in the wrong place)

whata-mess commented on 2018-10-02 13:46 (UTC)

@Nocifer Hey I am the Onion on the Zoneminder forum as you know reinstalling the lib fixed the dev/shm error.

But I still cant see any stream on the monitor in Zonmeinder the ffmeg fix did not help.

I can see the stream from ZMS in VLC but nothing in Zoneminder.

Did you have to change the nginx config file or the zoneminder file in /etc/nginx/sites-enabled?

Nocifer commented on 2018-10-01 12:10 (UTC) (edited on 2018-10-01 13:19 (UTC) by Nocifer)

Turns out it is indeed a bug due to the new ffmpeg (oh what a surprise). The good news is, it's already been fixed upstream and will be included in the upcoming 1.32.1 maintenance release. See here:

https://github.com/ZoneMinder/zoneminder/issues/2184

I already tested it and it works perfectly, no more weird errors and the camera tracks, monitors and records properly.

@whata-mess, would you be willing to try the fix and verify it works for you? I could provide this as a patch in the PKGBUILD but it's a really trivial change, so the fastest way would be for you to do it on your own with a text editor as described in the link above. But if you're not comfortable with editing files tell me and I'll provide a new PKGBUILD.

As for that "something more reliable" you've been asking for: no, as far as I know ZoneMinder is the solution for CCTV on Linux. Why do you think we've all been clamoring and begging for an update for so long? :P

EDIT: Note that this is basically a somewhat hacky workaround and not a proper fix on ZoneMinder's side, so things are still not perfect yet. For example, when adding a brand new camera I got that same error again but only once, then everything worked smoothly with no more errors. So don't be alarmed if you see it just that one time, it's probably during camera initialization that ZoneMinder goes bonkers because the real cause of the bug still exists somewhere in there.