From: Mike W. <kno...@gm...> - 2013-12-26 21:07:32
|
I'm not trying to discredit you here, but I would be sure to check for the specific hardware. I would also look at options and usability; one of the available software solutions may just work better for you specifically. For me, motion used about 20% less CPU for my situation. I am unsure if it is the mmx optimizations or if it is just my high resolution of 1920x1080. If I needed something like facial recognition I would need to use an opencv-based solution, but for me and my needs I am happy with motion. This could be just momentum. > On Dec 26, 2013, at 3:47 PM, Steve Goldsmith <sg...@gm...> wrote: > > You may want to take a look at https://github.com/sgjava/byoc and https://github.com/sgjava/cvp. I'm running two cameras based on the above software. One camera is 1280x960 @ 8 FPS and averages 60% CPU doing motion capture and encoding (the camera returns RAW images, so GStreamer encodes them to JPEG). One core handles motion detection and capture to MJPEG. The other core (Gearman worker process) handles XVID encoding. The other camera is 1280x720 @ 10 FPS and uses about 40% of the total CPU (frames are encoded as JPEG by the camera). This is based on RK3066 dual core @ 1 GHz each core. You can increase CPU frequency, but you will encounter heating problems. I've tested 1.6 GHz using a small USB fan for cooling it. > > Any ways, Motion has performance issues because it decodes each frame for motion detection. CVP motion detection uses a sampler at 3 or 4 FPS, thus no unnecessary decoding. If you save the file to MJPEG it includes timestamps, so you can actually play it back at variable speed. I sample the FPS every few seconds though to use a fixed time which is required by most codecs. This takes almost no additional overhead since the frames are not decoded/encoded (like Motion). Once the MJPEG is finished writing you can convert it to XVID or some other compressed format beforing sending it over the network. > > The bottom line is CVP is optimized and Motion is not. > >> On Thu, Dec 26, 2013 at 3:17 PM, tosiara <to...@gm...> wrote: >> Performance reasons. I use dual core ARM stick and only motion detection itself uses 40-80 %%. When it comes to mpeg4 encoding cpu usage is 100% and i get only 2-3fps of video (720p). Capturing directly from camera gives me 8-10 fps using mencoder. >> >> That's why I want to offload encoding to another thread or process, the second cpu core does nothing and remains 0%. >> >> Actually I'm using 3.2.12 version and not sure if it contains the patch for external pipe. Will try to build current trunk and see if I manage to pipe video >> > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > _______________________________________________ > Motion-user mailing list > Mot...@li... > https://lists.sourceforge.net/lists/listinfo/motion-user > http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome |