Page 1 of 1

New install Can't create frame capture images from video because there is no video file for this event then more problem

Posted: Wed Sep 16, 2020 2:49 pm
by mlw19mlw91
First I get the problem : "Can't create frame capture images from video because there is no video file for this event"

so I try very carefully to set my timezones assuming it could be a timezone mis match because my timezones were all wrong. That didn't fix it at all.

So now I stopped the services to be able to upgrade without an error

Code: Select all

sudo service apache2 stop
sudo service zoneminder stop
Then I run

Code: Select all

sudo apt full-upgrade
it updates from 1.34.10 to 1.34.16

during setup I did notice the following note:

Code: Select all

Current default time zone: 'America/New_York'
Local time is now:      Wed Sep 16 10:25:36 EDT 2020.
Universal Time is now:  Wed Sep 16 14:25:36 UTC 2020.
Run 'dpkg-reconfigure tzdata' if you wish to change it.
So I'm not sure if that indicates a time zone problem again after the update.

During install I get the following message:

Code: Select all

 php.ini: A new version (/usr/lib/php/7.3/php.ini-production) of         │
  │ configuration file /etc/php/7.3/apache2/php.ini is available, but the   │
  │ version installed currently has been locally modified.                  │
  │                                                                         │
  │ What do you want to do about modified configuration file php.ini?       │
  │                                                                         │
  │          install the package maintainer's version                       │
  │          keep the local version currently installed                     │
  │          show the differences between the versions                      │
  │          show a side-by-side difference between the versions            │
  │          start a new shell to examine the situation                     │
  │                                                                         │
  │                                                                         │
  │                                 <Ok>               
I am not sure what to do so first I view the side by side difference to copy it for future repair

Code: Select all

 Line by line differences between versions
  │ --- /etc/php/7.3/apache2/php.ini root.root 0644 2020-04-29 14:38:06
 │ +++ /usr/lib/php/7.3/php.ini-production root.root 0644 2020-07-05
 │ 02:46:45
 │ @@ -953,7 +954,6 @@
 │  ; Defines the default timezone used by the date functions
 │  ; http://php.net/date.timezone
 │  ;date.timezone =
 │ -date.timezone=Europe/London

 │                                                                           │
 │  ; http://php.net/date.default-latitude
 │  ;date.default_latitude = 31.7667
 │ @@ -1415,7 +1415,8 @@
 │  session.cookie_httponly =
 │
 │  ; Add SameSite attribute to cookie to help mitigate Cross-Site Request
 │ Forgery (CSRF/XSRF)
 │ -; Current valid values are "Lax" or "Strict"
 │ +; Current valid values are "Strict", "Lax" or "None". When using
 │ "None",
 │ +; make sure to include the quotes, as `none` is interpreted like
 │ `false` in ini files.
 │  ; https://tools.ietf.org/html/draft-west-first-party-cookies-07

 │  session.cookie_samesite =
 │
 │ @@ -1423,12 +1424,9 @@
 │  ; http://php.net/session.serialize-handler
 │  session.serialize_handler = php
 │
 │ -; Defines the probability that the 'garbage collection' process is
 │ started
 │ -; on every session initialization. The probability is calculated by
 │ using
 │ -; gc_probability/gc_divisor. Where session.gc_probability is the
 │ numerator
 │ -; and gc_divisor is the denominator in the equation. Setting this value

 │ to 1
 │ -; when the session.gc_divisor value is 100 will give you approximately
 │ a 1% chance
 │ -; the gc will run on any given request.
 │ +; Defines the probability that the 'garbage collection' process is
 │ started on every
 │ +; session initialization. The probability is calculated by using
 │ gc_probability/gc_divisor,
 │ +; e.g. 1/100 means there is a 1% chance that the GC process starts on
 │ each request.
 │  ; Default Value: 1
 │  ; Development Value: 1
 │  ; Production Value: 1

│ @@ -1436,13 +1434,9 @@
 │  session.gc_probability = 0
 │
 │  ; Defines the probability that the 'garbage collection' process is
 │ started on every
 │ -; session initialization. The probability is calculated by using the
 │ following equation:
 │ -; gc_probability/gc_divisor. Where session.gc_probability is the
 │ numerator and
 │ -; session.gc_divisor is the denominator in the equation. Setting this
 │ value to 100
 │ -; when the session.gc_probability value is 1 will give you
 │ approximately a 1% chance

│ -; the gc will run on any given request. Increasing this value to 1000
 │ will give you
 │ -; a 0.1% chance the gc will run on any given request. For high volume
 │ production servers,
 │ -; this is a more efficient approach.
 │ +; session initialization. The probability is calculated by using
 │ gc_probability/gc_divisor,
 │ +; e.g. 1/100 means there is a 1% chance that the GC process starts on
 │ each request.
 │ +; For high volume production servers, using a value of 1000 is a more
 │ efficient approach.
 │  ; Default Value: 100
 │  ; Development Value: 1000

│  ; Production Value: 1000
 │ @@ -1458,8 +1452,8 @@
 │  ; (see session.save_path above), then garbage collection does *not*
 │  ; happen automatically. You will need to do your own garbage
 │  ; collection through a shell script, cron entry, or some other method.
 │ -; For example, the following script would is the equivalent of
 │ -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
 │ +; For example, the following script is the equivalent of setting
 │ +; session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
 │  ; find /path/to/sessions -cmin +24 -type f | xargs rm
 │
 │  ; Check HTTP Referer to invalidate externally stored URLs containing
 │ ids.

I chose the following option:

"Install the package maintainer's version"

so it seems the new file has more info about the time zones, I decide to try the new one

For whatever reason the upgrade gets really hung up here:

Code: Select all

Setting up libapache2-mod-php7.3 (7.3.19-1~deb10u1) ...
root@raspberrypi:/#
Progress: [ 96%] 
I think it didn't update all the way because zoneminder was running in some way? I saw the following in the ZM logs:

Code: Select all

2020-09-16 10:36:31	zms_m1		19335	ERR	Unable to connect to zmc process for monitor 1	zms.cpp	257
2020-09-16 10:36:31	zms_m1		19335	ERR	Unable to connect to monitor id 1 for streaming	zm_stream.cpp	53
2020-09-16 10:36:31	zms_m1		19335	ERR	Got empty memory map file size 0, is the zmc process for this monitor running?	zm_monitor.cpp	578
I don't know why as it didn't happen last time. (my 2nd time trying this, maybe I hit a button?)

So I start it all again:

Code: Select all

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to cor                                       rect the problem.
I run the configure option and then zoneminder starts with the following issues:
same problem

so I'm going to do another full install, is there a way to fix these issues if I encounter them again?

Re: New install Can't create frame capture images from video because there is no video file for this event then more pro

Posted: Wed Sep 16, 2020 8:49 pm
by mlw19mlw91
ok after much trial and effort I got it to work again but not sure it had anything to do with my previous problem.

I reinstalled zone minder and I altered the default settings from my camera to h264 encode vs h264 passthrough.

I thought passthrough was better as it would use less cpu

In both cases I was able to download the video and view it on my PC but the zoneminder browser just didn't play any video when it was on the passthrough setting

Re: New install Can't create frame capture images from video because there is no video file for this event then more pro

Posted: Tue Oct 06, 2020 2:26 am
by burger
Install guides are here:
wiki.zoneminder.com/Debian
wiki.zoneminder.com/Ubuntu

These are tested and working.