Send Motion-user mailing list submissions to
        motion-user@lists.sourceforge.net

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.sourceforge.net/lists/listinfo/motion-user
or, via email, send a message with subject or body 'help' to
        motion-user-requ...@lists.sourceforge.net

You can reach the person managing the list at
        motion-user-ow...@lists.sourceforge.net

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Motion-user digest..."


Today's Topics:

   1. Re: Piping? (Roger Heflin)
   2. Re: Piping? (Harlan Daneker)
   3. Re: Piping? (MrDave)


----------------------------------------------------------------------

Message: 1
Date: Sat, 3 Apr 2021 07:45:07 -0500
From: Roger Heflin <roger.hef...@gmail.com>
To: Motion discussion list <motion-user@lists.sourceforge.net>
Subject: Re: [Motion-user] Piping?
Message-ID:
        <caamcdecw0j3k1gkkr9iz_gvshicwdmmjod6rwm0mgj4csoe...@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"

In my experience motion uses a thread per camera by default.

type top and then hit "H" and it will show you the threads, my
processes show as mlX:<cameraname> so long as they are separate
listing in top then they are separate threads each capable of using a
cpu core.

With very many cameras running at 8fps CPU could be an issue on
slower/older machines.

I have a 2 core set-top type box running 4 x 2560x1920 cam and 2fps is
using about 40% of the entire machine (passmark: 1127/1626).   I use
JPEG images and not video because the framerate can be turned down a
lot further, and each image is a complete image, and my camera's RTSP
stream is UDP and 1 in 10k packets or so get lost causing false motion
detection.

The prior box I had was an even weaker set-top box and  for it to run
the framerates had to be even lower.

The passmark on your cpu is 1385/2208 (singlecore/wholemacine) and it
only has 2 actual cores, and 2 hyperthreads, so it is about 40% faster
than the machine I am referencing above.




On Sat, Apr 3, 2021 at 6:48 AM Rainer <feyerpictu...@gmail.com> wrote:
>
> Hi all,
>
> my question is about motion piping.
>
> I am using a Lenovo i5 4 core 650 CPU with 3.20 GHz x 4
>
> Currently using 3 cameras, all Hiks, 2 and 4 MP each. The cameras are
> using up 30-35% resources.
>
> I have altogether 10 cameras, but when I use all of them in motion (even
> without recording clips or pics) it chokes at 100% CPU use (all cores).
>
> As I am reading through the manpages again, i read a section on piping,
> apparently making use of the cores as motion only uses single core, is
> that correct?
> Does anyone have experience with piping, would it possibly reduce the
> CPU load?
> Rainer
>
>
>
> _______________________________________________
> Motion-user mailing list
> Motion-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/motion-user
> https://motion-project.github.io/
>
> Unsubscribe: https://lists.sourceforge.net/lists/options/motion-user



------------------------------

Message: 2
Date: Sat, 3 Apr 2021 09:46:56 -0400
From: Harlan Daneker <hdane...@gmail.com>
To: Motion discussion list <motion-user@lists.sourceforge.net>
Subject: Re: [Motion-user] Piping?
Message-ID:
        <cac1wkitxhycg-pqm9eoz7vfkic3bjpw98b3eztyqotjvj3j...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

I'm just going to tell you what I did then you can see if it works for you.

Installed  x264
movie_output off
movie_extpipe_use on
movie_extpipe x264 - --input-res %wx%h --fps %fps --bitrate 2000 --preset
ultrafast --quiet -o %f.mp4

On Sat, Apr 3, 2021 at 8:46 AM Roger Heflin <roger.hef...@gmail.com> wrote:

> In my experience motion uses a thread per camera by default.
>
> type top and then hit "H" and it will show you the threads, my
> processes show as mlX:<cameraname> so long as they are separate
> listing in top then they are separate threads each capable of using a
> cpu core.
>
> With very many cameras running at 8fps CPU could be an issue on
> slower/older machines.
>
> I have a 2 core set-top type box running 4 x 2560x1920 cam and 2fps is
> using about 40% of the entire machine (passmark: 1127/1626).   I use
> JPEG images and not video because the framerate can be turned down a
> lot further, and each image is a complete image, and my camera's RTSP
> stream is UDP and 1 in 10k packets or so get lost causing false motion
> detection.
>
> The prior box I had was an even weaker set-top box and  for it to run
> the framerates had to be even lower.
>
> The passmark on your cpu is 1385/2208 (singlecore/wholemacine) and it
> only has 2 actual cores, and 2 hyperthreads, so it is about 40% faster
> than the machine I am referencing above.
>
>
>
>
> On Sat, Apr 3, 2021 at 6:48 AM Rainer <feyerpictu...@gmail.com> wrote:
> >
> > Hi all,
> >
> > my question is about motion piping.
> >
> > I am using a Lenovo i5 4 core 650 CPU with 3.20 GHz x 4
> >
> > Currently using 3 cameras, all Hiks, 2 and 4 MP each. The cameras are
> > using up 30-35% resources.
> >
> > I have altogether 10 cameras, but when I use all of them in motion (even
> > without recording clips or pics) it chokes at 100% CPU use (all cores).
> >
> > As I am reading through the manpages again, i read a section on piping,
> > apparently making use of the cores as motion only uses single core, is
> > that correct?
> > Does anyone have experience with piping, would it possibly reduce the
> > CPU load?
> > Rainer
> >
> >
> >
> > _______________________________________________
> > Motion-user mailing list
> > Motion-user@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/motion-user
> > https://motion-project.github.io/
> >
> > Unsubscribe: https://lists.sourceforge.net/lists/options/motion-user
>
>
> _______________________________________________
> Motion-user mailing list
> Motion-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/motion-user
> https://motion-project.github.io/
>
> Unsubscribe: https://lists.sourceforge.net/lists/options/motion-user
>
-------------- next part --------------
An HTML attachment was scrubbed...

------------------------------

Message: 3
Date: Sat, 3 Apr 2021 11:06:55 -0600
From: MrDave <motionmrd...@gmail.com>
To: motion-user@lists.sourceforge.net
Subject: Re: [Motion-user] Piping?
Message-ID: <7eb4ccb8-6034-cc69-925b-632a780d0...@gmail.com>
Content-Type: text/plain; charset="utf-8"; Format="flowed"

I am guessing that the piping section that references a single thread is 
somewhere in the use_ext_pipe part of the guide.

What this section is referring to is that creation of the movies and 
motion detection are on the same thread.? Offloading the movie creation 
to another thread could possibly help but I'd be skeptical that is would 
resolve this issue.

For the set up that you referenced, I would guess that Motion started 
25+ threads and reviewing htop you'll probably see that thread names 
that have a "nc" in them are consuming all the resources.? "nc" refers 
to network camera and those threads are doing the capturing and decoding 
of the images from the camera. The thread names that are doing the 
motion detection and writing of the movies/pictures have a "ml" in the 
name.? (motion loop)

There are a couple of things to consider when looking at addressing cpu 
usage.

1.? Decoding H264/H265 images uses _significantly_ more CPU than the 
motion detection and is directly proportional to the size of the image.

2.? The settings of the camera (which Motion can't control) can have a 
large impact on CPU usage of Motion.? If you set the framerate in Motion 
to be 4 and the camera is sending images at 30 fps, you may have the 
impression that Motion is only running at 4 fps.? That is inaccurate.? 
The _motion detection _thread runs at 4 fps.? The capturing and decoding 
thread (i.e. the "nc" thread that consumes all the CPU) still runs at 30 
fps because it must be in-sync or very close to the camera fps.? In 
Motion version 4.3.2, an explicit parameter was added to allow for 
changing the speed of this thread but it is still best to revise the 
parameter in the camera.? Changing that parameter to make Motion only 
capture and decode at 4fps when the camera is still at 30fps will result 
in the camera disconnecting constantly and decoding errors.

3.? Revising the I-Frame interval for the camera can help. I-Frames 
allow the decoder to skip steps since it provides full images.

4.? Using the pass-through/highres options is the developer recommended 
method for multiple cameras.? This method sets the secondary network 
camera stream as the primary in Motion to do the decoding and detection 
(e.g. 352x288 at 5fps).? Then the primary stream of the camera(e.g. 
2592x1944 at 30fps) is used as the high resolution in Motion.? When 
motion is detected on the smaller image stream, it triggers recording on 
the larger stream.? Since there isn't any decoding or encoding on the 
larger image stream, the CPU use is minimal.? It is not perfect for all 
situations but should be considered.

5.? Resizing the image will use more resources than doing motion on the 
original image.? I have seen that some users will have the camera send 
the image at 2592x1944 and then have motion resize it to 352x288 so that 
the motion detection is only being performed on the 352x288 image.? This 
trade-off will rarely result in lower CPU.? Using the example above, the 
resizing is done on the 30fps thread versus the motion detection is on 
the 4fps thread.

6.? Use the pass-through without highres.? This could be needed if the 
camera only has one stream or if the user needs to have the live motion 
stream at full resolution.? In this situation, the decoding of the image 
still occurs but when motion is detected, movies are written directly to 
the file without the need to re-encode the images.

7.? If any of the camera streams provide images in mjpg rather than 
H264/H265 use those to avoid the CPU cost of H264/H265.

8.? If you want to compile from the Motion source code, there is a new 
option in there to use HW decoding if you have VAAPI.


On 4/3/2021 7:46 AM, Harlan Daneker wrote:
> I'm just going to tell you what I did then you can see if it works for 
> you.
>
> Installed? x264
> movie_output off
> movie_extpipe_use on
> movie_extpipe x264 - --input-res %wx%h --fps %fps --bitrate 2000 
> --preset ultrafast --quiet -o %f.mp4
>
> On Sat, Apr 3, 2021 at 8:46 AM Roger Heflin <roger.hef...@gmail.com 
> <mailto:roger.hef...@gmail.com>> wrote:
>
>     In my experience motion uses a thread per camera by default.
>
>     type top and then hit "H" and it will show you the threads, my
>     processes show as mlX:<cameraname> so long as they are separate
>     listing in top then they are separate threads each capable of using a
>     cpu core.
>
>     With very many cameras running at 8fps CPU could be an issue on
>     slower/older machines.
>
>     I have a 2 core set-top type box running 4 x 2560x1920 cam and 2fps is
>     using about 40% of the entire machine (passmark: 1127/1626). ?I use
>     JPEG images and not video because the framerate can be turned down a
>     lot further, and each image is a complete image, and my camera's RTSP
>     stream is UDP and 1 in 10k packets or so get lost causing false motion
>     detection.
>
>     The prior box I had was an even weaker set-top box and? for it to run
>     the framerates had to be even lower.
>
>     The passmark on your cpu is 1385/2208 (singlecore/wholemacine) and it
>     only has 2 actual cores, and 2 hyperthreads, so it is about 40% faster
>     than the machine I am referencing above.
>
>
>
>
>     On Sat, Apr 3, 2021 at 6:48 AM Rainer <feyerpictu...@gmail.com
>     <mailto:feyerpictu...@gmail.com>> wrote:
>     >
>     > Hi all,
>     >
>     > my question is about motion piping.
>     >
>     > I am using a Lenovo i5 4 core 650 CPU with 3.20 GHz x 4
>     >
>     > Currently using 3 cameras, all Hiks, 2 and 4 MP each. The
>     cameras are
>     > using up 30-35% resources.
>     >
>     > I have altogether 10 cameras, but when I use all of them in
>     motion (even
>     > without recording clips or pics) it chokes at 100% CPU use (all
>     cores).
>     >
>     > As I am reading through the manpages again, i read a section on
>     piping,
>     > apparently making use of the cores as motion only uses single
>     core, is
>     > that correct?
>     > Does anyone have experience with piping, would it possibly
>     reduce the
>     > CPU load?
>     > Rainer
>     >
>     >
>     >
>     > _______________________________________________
>     > Motion-user mailing list
>     > Motion-user@lists.sourceforge.net
>     <mailto:Motion-user@lists.sourceforge.net>
>     > https://lists.sourceforge.net/lists/listinfo/motion-user
>     <https://lists.sourceforge.net/lists/listinfo/motion-user>
>     > https://motion-project.github.io/
>     <https://motion-project.github.io/>
>     >
>     > Unsubscribe:
>     https://lists.sourceforge.net/lists/options/motion-user
>     <https://lists.sourceforge.net/lists/options/motion-user>
>
>
>     _______________________________________________
>     Motion-user mailing list
>     Motion-user@lists.sourceforge.net
>     <mailto:Motion-user@lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/motion-user
>     <https://lists.sourceforge.net/lists/listinfo/motion-user>
>     https://motion-project.github.io/ <https://motion-project.github.io/>
>
>     Unsubscribe:
>     https://lists.sourceforge.net/lists/options/motion-user
>     <https://lists.sourceforge.net/lists/options/motion-user>
>
>
>
> _______________________________________________
> Motion-user mailing list
> Motion-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/motion-user
> https://motion-project.github.io/
>
> Unsubscribe: https://lists.sourceforge.net/lists/options/motion-user
-------------- next part --------------
An HTML attachment was scrubbed...

------------------------------



------------------------------

Subject: Digest Footer

_______________________________________________
Motion-user mailing list
Motion-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/motion-user


------------------------------

End of Motion-user Digest, Vol 178, Issue 2
*******************************************

Reply via email to