From: William M. B. <wb...@mm...> - 2005-07-31 01:27:38
|
After spending quite a bit of time looking at the existing code which handles network cameras, I (reluctantly) came to a decision that the code really needed to be completely re-written. I decided to take on that task, and have made a very considerable amount of progress with it. At this time, I have been running my new code using a variety of cameras from URL's obtained through the help of Google :-) (I have no network camera of my own). The code is behaving quite well, including recovery from 99% of all errors encountered, and a gentle closedown, with appropriate messages, for the remaining 1%. For load testing, I have been running with a total of 10 (simultaneous) cameras - 5 running streaming MJPEG, 4 running single-frame capture JPEG, and 1 CCTV camera on a local bttv interface. I have my motion configuration set with a framerate of 10 (but remember, for the remote webcams this just means I'll take data as fast as they will supply it), and output_normal and output_motion both off, since I'm only interested in the camera-handling. With motion's webcam monitoring of the 10 channels, using a dual-Opteron system with lots of memory, this takes between 25 - 45% of the total CPU of the system). I am now at a point where it would be *very* useful to have some other people try out the code. If any users are brave enough to do this, I have prepared a "beta-release" of the motion source modules which I have changed. The release is available from anonymous FTP at bbsf.bbrack.org - filename netcam2-b1.0.tgz. To try it out, create a directory containing motion-3.2.2_snap7, and unpack the release within that directory (that will overwrite the old modules with the changed ones). *Delete* the motion Makefile, then configure and install as usual. Most of the changed code is within the new modules netcam2.c, netcam_jpeg.c and netcam2.h. There are "a lot" of comments which should explain what I (think I) am doing. Since this is a "beta" release, it would not be surprising if something doesn't work right - but at this point in my testing, I'm not aware of any problems. Please let me know any results (both positive and negative), and particularly let me know of any improvements which need to be included. Enjoy! Bill |