Part 1: General Remarks
CamSurveillance needs for the working with
the network cameras their IP addresses. From these IP address
the program receives the current camera picture. The picture
receiving is done by a separate started thread. If a picture
was correct received and the motion detection is activated,
then a further thread is started for comparing the pictures
and determine the difference. If the receiving intervall is
shorter than the motion detecting intervall, the receiving
intervall is reduced to the motion detecting intervall while
motion detection is running. This is necessary, because the
program needs a new picture before it can start the difference
checking. So if the receiving and testing intervalls are very
short, there are always 2 threads per camera running. Remember
this if your PC is using a lot of % CPU for the CamSurveillance.
If you are receiving more pictures as your
camera is able to generate ( the receiving intervall is 1
sec, but your camera captures pictures only every 3 sec )
you receive often the same picture twice. So it makes no sense
to receive more pictures as there are new ones available.
The needed picture format is JPG. So please
adjust the camera that it generates only JPG pictures. The
resolution is not important, but remember if the program receives
a picture which has 640x480 pixels, it must transfer much
more pixels as if the picture would have only 320x240 pixels.
And the program has to test 4 times the amount of pixels while
the intern difference test.
The program can display the video in the
video window in different formats. 24 bit color ( only if
a colored picture was received ), 8 bit greyscale, 4 bit greyscale,
1 bit greyscale. The intern picture format is always after
receiving 24 bit. So it costs no performance to display the
video in 24 bit. The reduction into 8,4,1 bit greyscale costs
a little bit CPU and is only important for viewing the video
in the testing format. While motion detection is running the
program can change the received picture format from 24 bit
( which is the default format after receiving ) into 8,4,1
bit greyscale before the intern testing routine starts. The
reduction into greyscale costs a little bit CPU, but the testing
routine works 3 times faster as if you use 24 bit for the
intern format. If you have an up to date CPU it makes no noticeable
difference which format you use. The main reason for using
a greyscale format for the intern testing routine is, to reduce
the influence of brightness in the video picture on the result
of the picture difference testing. Try the different intern
picture formats and see how the picture differences changes.
All digital cameras generates different
pictures from the same situation also if there are no changes.
If you algin your camera to view on a wall where nothing is
moving and let the motion detection run, you get little picture
differences, because the generated pictures are different.
This happens on the way from the analog world into the digital
picture from your camera. To see these differences ( not only
these, but all differences ) you can select in the program
to show you the different pixels in the video window. This
is a good way to see how good or bad your camera works. To
reduce this differences which are in reality not existing,
you have to adjust the pixel difference value. Try the different
intern picture formats with different pixel difference values
to find the best solution for your camera and situation.