<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.staging.zoneminder.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Liderbug</id>
	<title>ZoneMinder Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.staging.zoneminder.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Liderbug"/>
	<link rel="alternate" type="text/html" href="http://wiki.staging.zoneminder.com/Special:Contributions/Liderbug"/>
	<updated>2026-04-19T20:33:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://wiki.staging.zoneminder.com/index.php?title=AxisMotionDetection&amp;diff=7244</id>
		<title>AxisMotionDetection</title>
		<link rel="alternate" type="text/html" href="http://wiki.staging.zoneminder.com/index.php?title=AxisMotionDetection&amp;diff=7244"/>
		<updated>2015-12-22T14:59:42Z</updated>

		<summary type="html">&lt;p&gt;Liderbug: /* == */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I had this performance problem while monitoring and event recording for 8-10 IP cameras using the ZM.&lt;br /&gt;
ZM is too good a software to abandon just for performance issues. So I decided I should pay more attention to the motion detection feature of the cameras I have and relieve the ZM server from the task of detecting motion.&lt;br /&gt;
I&amp;#039;ve finally managed to use the on-camera motion detection feature of Axis Cams and here are my notes:&lt;br /&gt;
&lt;br /&gt;
== Cameras ==&lt;br /&gt;
 &lt;br /&gt;
I&amp;#039;ve set my Axis camera as follows:&lt;br /&gt;
&lt;br /&gt;
[[Image:AxisMDetect1.png]]&lt;br /&gt;
[[Image:AxisMDetect2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The text &amp;quot;1|on 5|5|cause|text|showtext&amp;quot; means that&lt;br /&gt;
alarm will be triggered for the monitor which has ID=1,&lt;br /&gt;
alarm will set recording on&lt;br /&gt;
alarm will be cleared after 5 seconds.&lt;br /&gt;
The score of the alarm is 5 ( any score &amp;gt;0 is OK)&lt;br /&gt;
&amp;quot;text&amp;quot; and &amp;quot;showtext&amp;quot; are just explanatory notes.&lt;br /&gt;
&lt;br /&gt;
The ZM specs tells us that the format of the message can include a &amp;quot;duration&amp;quot; as long as the message is sent as:&lt;br /&gt;
&amp;quot;1|on+5|5|cause|text|showtext&amp;quot; but the problem is the Axis camera cannot or will not save the &amp;quot;+&amp;quot; sign which appears in the message. A CGI parameter conversion problem I presume...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[Update] The Axis M3203 with firmware 5.40.9.2 will save the &amp;quot;+&amp;quot; sign. My guess is that the new firmware has fixed this issue. Try updating your firmware before modifying the zmtrigger.pl file.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;ve taken care of this &amp;quot;+&amp;quot; problem with a small modification in zmtrigger.pl source (see below).&lt;br /&gt;
&lt;br /&gt;
Next, I specified the host IP address of the zm computer and its default zmtrigger port of 6802.&lt;br /&gt;
&lt;br /&gt;
[[Image:AxisMDetect3.png]]&lt;br /&gt;
[[Image:AxisMDetect4.png]]&lt;br /&gt;
&lt;br /&gt;
The second important setup is the &amp;quot;motion detection&amp;quot; setup on the Axis. I created a window which covers the area of interest; kept the object size as small as possible, pulled the history slider all the way back to zero and left the sensitivity slide somewhere past the %50 value.&lt;br /&gt;
&lt;br /&gt;
== ZM settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is no special setting for the ZM except that I&amp;#039;ve assigned the &amp;quot;Nodect&amp;quot; function to my camera monitor.&lt;br /&gt;
&lt;br /&gt;
[[Image:AxisMDetect5.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[Update]Try updating your firmware before modifying the zmtrigger.pl file.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, I modified the zmtrigger.pl file so that the first few lines of the&lt;br /&gt;
function handleMessage looks like this:&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
         sub handleMessage{&lt;br /&gt;
        my $connection = shift;&lt;br /&gt;
        my $message = shift;&lt;br /&gt;
        #&lt;br /&gt;
        #  CUA  - Axis camera send the message quoted with&amp;quot;&lt;br /&gt;
        #  CUA  - Also Axis camera cannot save the plus sign which&lt;br /&gt;
        #  CUA  - possibly exists in the 1|on+20|score|cause|text|showtext formatted msg&lt;br /&gt;
&lt;br /&gt;
        $message=~ s/^\&amp;quot;//g;&lt;br /&gt;
        $message=~ s/\&amp;quot;$//g;&lt;br /&gt;
        $message=~ s/on /on\+/;&lt;br /&gt;
&lt;br /&gt;
        #  CUA - end of modifications&lt;br /&gt;
&lt;br /&gt;
        my ( $id, $action, $score, $cause, $text, $showtext ) = split( /\|/, $message );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a few other modifications I made in the zmtrigger.pl file are commenting out some unused modules and pushes:&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
        use ZoneMinder::Trigger::Channel::Inet;&lt;br /&gt;
        #CUA use ZoneMinder::Trigger::Channel::Unix;&lt;br /&gt;
        #CUA use ZoneMinder::Trigger::Channel::Serial;&lt;br /&gt;
           use ZoneMinder::Trigger::Connection;&lt;br /&gt;
&lt;br /&gt;
         my @connections;&lt;br /&gt;
         push( @connections, ZoneMinder::Trigger::Connection-&amp;gt;new( name=&amp;gt;&amp;quot;Chan1&amp;quot;, channel=&amp;gt;ZoneMinder::Trigger::Channel::Inet-&amp;gt;new( port=&amp;gt;6802 ), mode=&amp;gt;&amp;quot;rw&amp;quot; ) );&lt;br /&gt;
         #CUA push( @connections, ZoneMinder::Trigger::Connection-&amp;gt;new( name=&amp;gt;&amp;quot;Chan2&amp;quot;, channel=&amp;gt;ZoneMinder::Trigger::Channel::Unix-&amp;gt;new( path=&amp;gt;&amp;#039;/tmp/test.sock&amp;#039; ),         mode=&amp;gt;&amp;quot;rw&amp;quot; ) );&lt;br /&gt;
        #push( @connections, ZoneMinder::Trigger::Connection-&amp;gt;new( name=&amp;gt;&amp;quot;Chan3&amp;quot;, channel=&amp;gt;ZoneMinder::Trigger::Channel::File-&amp;gt;new( path=&amp;gt;&amp;#039;/tmp/zmtrigger.out&amp;#039; ), mode=&amp;gt;&amp;quot;w&amp;quot; ) );&lt;br /&gt;
         #CUA push( @connections, ZoneMinder::Trigger::Connection-&amp;gt;new( name=&amp;gt;&amp;quot;Chan4&amp;quot;, channel=&amp;gt;ZoneMinder::Trigger::Channel::Serial-&amp;gt;new( path=&amp;gt;&amp;#039;/dev/ttyS0&amp;#039; ), mode=&amp;gt;&amp;quot;rw&amp;quot; ) );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
my modifs are marked with &amp;quot;# CUA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These three regular expressions remove the quotes sent by Axis which envelope the message string and insert a plus sign if the &amp;quot;on&amp;quot; command is followed by a space). These 3 statements convert an incoming message of the form&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
        &amp;quot;1|on 25|5|cause|text|showtext&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
        1|on+25|5|cause|text|showtext&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and of course, you shouln&amp;quot;t forget to restart zmtrigger.pl; or better still modify the zm startup script so that it starts zmtrigger.pl everytime zm is [re]started.&lt;br /&gt;
&lt;br /&gt;
Note: If you plan to use the zmxap interface (to connect ZoneMinder to MisterHouse using xAP), your cause must be &amp;quot;Motion&amp;quot; (without quotes), and your text must be a single word (no spaces); eg: LAWN.  In Misterhouse, the camera name will be the MONITOR name (eg: FRONT_DOOR), and the zone name will be the text (eg: LAWN).  If you don&amp;#039;t follow this convention then MisterHouse will not respond to the xAP event messages &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://www.learn-esm.co.uk/accommodation.php&amp;lt;span style=&amp;quot;color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;&amp;quot;&amp;gt;Intensive Driving Courses London&amp;lt;/span&amp;gt;] properly.&lt;br /&gt;
&lt;br /&gt;
I added the line &amp;#039;/usr/bin/zmtrigger.pl &amp;amp;&amp;quot; in the start section of&lt;br /&gt;
/etc/init.d/zoneminder and also added the line &amp;quot;pkill zmtrigger.pl&amp;quot; in the stop section.&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
        start() {&lt;br /&gt;
        echo -n &amp;quot;Starting $prog: &amp;quot;&lt;br /&gt;
        $command start&lt;br /&gt;
        # CUA&lt;br /&gt;
        /usr/bin/zmtrigger.pl &amp;amp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        [ $RETVAL = 0 ] &amp;amp;&amp;amp; echo success&lt;br /&gt;
        [ $RETVAL != 0 ] &amp;amp;&amp;amp; echo failure&lt;br /&gt;
        echo&lt;br /&gt;
        [ $RETVAL = 0 ] &amp;amp;&amp;amp; touch /var/lock/zm&lt;br /&gt;
        return $RETVAL&lt;br /&gt;
        }&lt;br /&gt;
        stop() {&lt;br /&gt;
        echo -n $&amp;quot;Stopping $prog: &amp;quot;&lt;br /&gt;
        #&lt;br /&gt;
        # Why is this status check being done?&lt;br /&gt;
        # as $command stop returns 1 if zoneminder&lt;br /&gt;
        # is stopped, which will result in&lt;br /&gt;
        # this returning 1, which will stuff&lt;br /&gt;
        # dpkg when it tries to stop zoneminder before&lt;br /&gt;
        # uninstalling . . .&lt;br /&gt;
        #&lt;br /&gt;
        # CUA&lt;br /&gt;
        pkill zmtrigger.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I just hope that this helps other people trying to implement the on-camera motion detection with ZM.&lt;br /&gt;
&lt;br /&gt;
Again; many thanks to those people who developed ZM at the first place and to those who helped it to become a perfect opensource project.&lt;br /&gt;
&lt;br /&gt;
[http://www.zoneminder.com/forums/viewtopic.php?t=10872 Original Thread]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DO NOT PM THESE USERS &amp;quot;&amp;quot;just post a question in the forum&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Copied By: KingOfKYA&lt;br /&gt;
&lt;br /&gt;
Created By: cayfer&lt;br /&gt;
&lt;br /&gt;
Edited / Updated By: TheForce&lt;/div&gt;</summary>
		<author><name>Liderbug</name></author>
	</entry>
	<entry>
		<id>http://wiki.staging.zoneminder.com/index.php?title=Hardware_Compatibility_List&amp;diff=7243</id>
		<title>Hardware Compatibility List</title>
		<link rel="alternate" type="text/html" href="http://wiki.staging.zoneminder.com/index.php?title=Hardware_Compatibility_List&amp;diff=7243"/>
		<updated>2015-12-22T14:58:02Z</updated>

		<summary type="html">&lt;p&gt;Liderbug: /* Remote USB using RasPi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zoneminder will work with almost any capture card that is supported by the linux kernel.  You may find additional details about supported hardware in the part of the forums.  Also if you find something in the forums that is  missing from the wiki ADD IT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Capture Cards ==&lt;br /&gt;
&lt;br /&gt;
[[Anykeeper]] &lt;br /&gt;
&lt;br /&gt;
[[Avermedia]]&lt;br /&gt;
&lt;br /&gt;
[[Camsecure PCI Express video capture]]&lt;br /&gt;
&lt;br /&gt;
[[Digiflower]]&lt;br /&gt;
&lt;br /&gt;
[[Geovision GV250 - bt878a chip]]&lt;br /&gt;
&lt;br /&gt;
[[Grandtec Grand X Guard]] &lt;br /&gt;
&lt;br /&gt;
[[Hauppauge]]&lt;br /&gt;
&lt;br /&gt;
[[Howell-Tempest  VC 878B-Q]]&lt;br /&gt;
&lt;br /&gt;
[[Ituner Spectra 8]]&lt;br /&gt;
&lt;br /&gt;
[[Kodicom 4400r]]&lt;br /&gt;
&lt;br /&gt;
[[Kodicom 8800]]&lt;br /&gt;
&lt;br /&gt;
[[Tungson TE-8008]]&lt;br /&gt;
&lt;br /&gt;
Leadtek WinFast VC 100 - the cheapest bt878 model with no tuner on it, just Com/Svideo in.&lt;br /&gt;
&lt;br /&gt;
[[LinkDelight CCTV H.264 4CH DVR Card]]&lt;br /&gt;
&lt;br /&gt;
[[Linux Media Labs LMLBT44]] &lt;br /&gt;
&lt;br /&gt;
[[Osprey 100]]&lt;br /&gt;
&lt;br /&gt;
[[Provideo PV- series (Bluecherry)]] &lt;br /&gt;
[[ Bluecherry - BC-H16480A]] &lt;br /&gt;
[[TView 95/99]]&lt;br /&gt;
&lt;br /&gt;
[[UDP Technology NCP3200v2]]&lt;br /&gt;
&lt;br /&gt;
[[Videocards with Philips saa7134 chipset]]&lt;br /&gt;
&lt;br /&gt;
[[WinFast TV2000 XP]]&lt;br /&gt;
&lt;br /&gt;
[[Rapid OS]]&lt;br /&gt;
&lt;br /&gt;
[[KesCom PG104]]&lt;br /&gt;
&lt;br /&gt;
[[IEI Technology Corp. IVC-268G-R20]]&lt;br /&gt;
&lt;br /&gt;
== bt8x8 Cards ==&lt;br /&gt;
A note on the bt8x8-based TV-tuner cards: these usually have beside the tuner input, also a Composite and an S-Video input. You can hook up 2 analog cameras to these, and access from ZoneMinder both of them as individual cameras, at max 15Fps. You don&amp;#039;t need two separate TV cards for two cameras!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Pico2000]] - 4 port card, one chip bt878, around 2 fps when using all channels&lt;br /&gt;
&lt;br /&gt;
[[Bt878_4chip_8inputs]] -4 chips bt878, 8 inputs, around 5 fps when using 2 inputs per chip&lt;br /&gt;
&lt;br /&gt;
[[:Image:Karta.jpg| bt878 8 chip 8 input]] - This card is supplied with D-sub to 8 BNC connector and uses the bt878 chip for each input allowing full frame rates and quality. See [[Kodicom 8800]] for more information.&lt;br /&gt;
&lt;br /&gt;
Geovision GV250 bt878a single chip 4 inputs - This capture Card is supplied with 4 video inputs but with NO audio channel&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Most other BTTV (bt878, bt848) cards, see /usr/src/linux/Documentation/video4linux/bttv/CARDLIST on your system for a list of some of them.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Analog Cameras ==&lt;br /&gt;
&lt;br /&gt;
Any regular composite or S-video camera connected via a supported capture card.  Some analog cameras feature camera control - ZM supports several of these camera&amp;#039;s Pan/Tilt/Zoom functions via serial port control, as well as camera Presets, Focus, Iris, etc.&lt;br /&gt;
*[[PicturetelControlScript | PictureTel PTZ2N]].&lt;br /&gt;
&lt;br /&gt;
== Network Cameras ==&lt;br /&gt;
For Network Cams to work they need to be able to generate a video stream without the requirement of activex controls. If the requirements state Internet Explorer is the only supported browser, then the camera may not work. The other option is to grab JPEG images (snapshots), if the camera supports that option, which will work but at a lower frame rate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Help us keep this list accurate.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The hardware compatibility list is maintained by you, the community. If you see something that is no longer up to date, please consider revising it. Naturally, be respectful with your edits. Those before you have put in a lot of effort into this documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Maintaining PTZ Control Scripts is particularly important.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
It is important to understand that many of the control scripts were written for older versions of ZoneMinder and may require changes to work with the most recent version. When reviewing control scripts, look at the date it was created (see the history tab at the top). If that date is not recent then the script may not work with the latest version. When in doubt, ask in the user forum.&lt;br /&gt;
&lt;br /&gt;
If you discover the control script in this WiKi has already been added to ZoneMinder, then please update the WiKi to reflect that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Consider adding your script to ZoneMinder.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you are willing to do the work, we will gladly add new control scripts to ZoneMinder, as long as they have been tested to work properly. This requires submitting a pull request on our github site with the control script and the necessary sql bits to make it show up in the console. Once the control script has been added to the source tree, it will be maintained by the developers and will (should?) always work for you. This is really the best option as it avoids the endless maintenance required to keep the WiKi up to date.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Full Compatibility &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[7Links]](TM Trade Mark)&lt;br /&gt;
&lt;br /&gt;
* [[A-mtk]]&lt;br /&gt;
&lt;br /&gt;
* [[Abus]]  some&lt;br /&gt;
&lt;br /&gt;
* [[Airlink 101]] some &lt;br /&gt;
&lt;br /&gt;
* [[AirLive AirCam OD325HD]]&lt;br /&gt;
&lt;br /&gt;
* [[Amovision AM-Q630M]]&lt;br /&gt;
&lt;br /&gt;
* [[Anran VGB101-IP]]&lt;br /&gt;
&lt;br /&gt;
* [[Apexis]] most if not all (only tested some)&lt;br /&gt;
&lt;br /&gt;
* [[ArecontVision]] (AV3130M, probably other too)&lt;br /&gt;
&lt;br /&gt;
* [[Astak Mole]] Some&lt;br /&gt;
&lt;br /&gt;
* [[Axis]] All&lt;br /&gt;
&lt;br /&gt;
* [[Brickcom]] These have been tested&lt;br /&gt;
&lt;br /&gt;
* [[B-QTECH]] H.264 Camera&lt;br /&gt;
&lt;br /&gt;
* [[BSTI]] Some&lt;br /&gt;
&lt;br /&gt;
* [[Cisco]] some&lt;br /&gt;
&lt;br /&gt;
* [[Dahua]] (IPC-HDB3200C, probably others)&lt;br /&gt;
&lt;br /&gt;
* [[D-Link]] Most&lt;br /&gt;
&lt;br /&gt;
* [[EasyN]] (Mini Speed Dome 1BF)&lt;br /&gt;
&lt;br /&gt;
* [[Edimax]] only tested some&lt;br /&gt;
* [[Escam]] - QD 300/900 and possibly other models&lt;br /&gt;
&lt;br /&gt;
* [[Foscam]] (FI8908W, FI8904W, possibly others)&lt;br /&gt;
&lt;br /&gt;
* [[Gadspot]] Most&lt;br /&gt;
&lt;br /&gt;
* [[Generic]] Only tested one &lt;br /&gt;
&lt;br /&gt;
* [[Geovision]] (GV-FE420, possibly others)&lt;br /&gt;
&lt;br /&gt;
* [[Grandstream]] Grandstream (GXV-3672-FHD &amp;amp; GXV-3672-FHD-36 &amp;amp; GXV3611_HD tested)&lt;br /&gt;
&lt;br /&gt;
* [[Hikvision]] Some&lt;br /&gt;
&lt;br /&gt;
* [[hootoo]] Some&lt;br /&gt;
&lt;br /&gt;
* [[Iguard]] IP390E&lt;br /&gt;
&lt;br /&gt;
* [[Instar]] (IN-2905, possibly others)&lt;br /&gt;
&lt;br /&gt;
* [[InternetEye]] M6840&lt;br /&gt;
&lt;br /&gt;
* [[Level One]] some&lt;br /&gt;
&lt;br /&gt;
* [[Linksys]] WVC-210 / WVC2300 / PVC2300 / WVC54GC&lt;br /&gt;
&lt;br /&gt;
* [[Loftek]] Sentinel PTZ&lt;br /&gt;
&lt;br /&gt;
* [[Maygion]] (IP-603, IP-604, possibly others)&lt;br /&gt;
&lt;br /&gt;
* [[Messoa]] (NCR870, probably others)&lt;br /&gt;
&lt;br /&gt;
* [[Rimax]] Some&lt;br /&gt;
&lt;br /&gt;
* [[Rovio]]&lt;br /&gt;
&lt;br /&gt;
* [[Sony]] Most&lt;br /&gt;
&lt;br /&gt;
* [[Swann]] Some&lt;br /&gt;
&lt;br /&gt;
* [[Swann SWADS-446CAM]] RTSP method&lt;br /&gt;
&lt;br /&gt;
* [[TP-LINK]] Some&lt;br /&gt;
&lt;br /&gt;
* [[Trendnet]] Most&lt;br /&gt;
&lt;br /&gt;
* [[Vstar T7833WIP HD Dome Network Camera]]&lt;br /&gt;
&lt;br /&gt;
* [[Wanscam]] FR4020A2 (Foscam clone)&lt;br /&gt;
&lt;br /&gt;
* [[x-vision]] Xvision cameras by y3k (some)&lt;br /&gt;
&lt;br /&gt;
* [[Y-Cam]] (Sharx Ip) Most&lt;br /&gt;
&lt;br /&gt;
* [[Zavio]] Some&lt;br /&gt;
&lt;br /&gt;
* [[Zecumate]] JPT3815W&lt;br /&gt;
&lt;br /&gt;
* [[ZoneWay ZW-NC863M-P Megapixel IP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remote systems, themselves running zoneminder, can be accessed as cameras using the Remote Path of &amp;#039;&amp;#039;&amp;#039;/cgi-bin/nph-zms?mode=single&amp;amp;monitor=1&amp;amp;scale=100&amp;amp;maxfps=5&amp;amp;buffer=1000&amp;#039;&amp;#039;&amp;#039; - where the monitor number is the correct camera on the remote system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Single Jpeg Only&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[Airlink 101]] some&lt;br /&gt;
&lt;br /&gt;
* [[JVC]] some&lt;br /&gt;
&lt;br /&gt;
* [[Panasonic]] some&lt;br /&gt;
&lt;br /&gt;
* [[PLANET]] some   &lt;br /&gt;
&lt;br /&gt;
*[[Toshiba]] some&lt;br /&gt;
&lt;br /&gt;
* [[Veo Observer IP NetCam]] most&lt;br /&gt;
&lt;br /&gt;
*[[Vivotek]] All&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mpeg(ver1.24.0 and up)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*[[ABS_MegaCam]]&lt;br /&gt;
&lt;br /&gt;
* [[Axis]] All&lt;br /&gt;
&lt;br /&gt;
* [[ ACTi]] All&lt;br /&gt;
&lt;br /&gt;
*[[Vivotek]] Most&lt;br /&gt;
&lt;br /&gt;
*[[Logitech 700 series]] some&lt;br /&gt;
&lt;br /&gt;
*[[Ubiqiti]] some&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Compatible with modifications&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*[[Aviosys]] some&lt;br /&gt;
&lt;br /&gt;
* [[Mobotix]]  all  &lt;br /&gt;
&lt;br /&gt;
* [[Conceptronic]]  some&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Compatible with problems&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
* [[Compro]] IP70. MPEG4 only, some reliability issues and general poor firmware quality.&lt;br /&gt;
&lt;br /&gt;
* [[Grandtec]] [[Grandtec_WLAN_Camera|WLAN Camera]] WiFi or III - acceptable indoor quality, no infrared-filter (better nightvision) cheap!&lt;br /&gt;
&lt;br /&gt;
* [[Intellinet]]  IPCamera with the new firmware.&lt;br /&gt;
&lt;br /&gt;
* Old Intellinet IPCamera (model MWNC-100) with this (http://www.zoneminder.com/forums/viewtopic.php?t=7500) protocol adapter. &lt;br /&gt;
&lt;br /&gt;
* OvisLink AirLive WL-5400CAM&lt;br /&gt;
&lt;br /&gt;
Useful link: Flash&amp;#039;s IP Camera Database, with Zoneminder compatibility guide:   http://digdilem.org/cameras&lt;br /&gt;
&lt;br /&gt;
== Network Digitizers ==&lt;br /&gt;
&lt;br /&gt;
Like Network Cameras, these devices produce a video stream - but they accept an analog video input from a camera or other video source.&lt;br /&gt;
&lt;br /&gt;
* [[Synectics E100]] encoder&lt;br /&gt;
*The [[IP9100 | Aviosys IP9100, Models A, B and Plus]] has four analog video inputs.  It produces a ZM compatible video stream from one of the inputs, which is selectable via an HTTP GET command.  There might even be a control script for ZM that lets you select the active video input using &amp;#039;&amp;#039;ZM&amp;#039;s Camera Control Presets!&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
With the yoics Aviosys 9100 firmware at http://www.yoics.com/?p=28, ZoneMinder can directly access all four ports via /usr/yoicsX.jpg as the remote host path, where X is 0 - 3.&lt;br /&gt;
&lt;br /&gt;
* [[Bosch VIP X1 Single-channel]] video encoder [http://products.boschsecuritysystems.eu/en/EMEA/products/bxp/SKU15449253232961378955-CATMda7ec5dc0edf5b1a0b8cb619e2e11308]&lt;br /&gt;
&lt;br /&gt;
* Video cameras &amp;amp; safes for antitheft purpose on the website http://www.infosafe.fr&lt;br /&gt;
&lt;br /&gt;
== USB Cameras ==&lt;br /&gt;
&lt;br /&gt;
*Just Zoom USB cam&lt;br /&gt;
&lt;br /&gt;
*Creative Webcam Pro, Webcam 3, LIVE! Cam OPTIA PRO (V4L2, Chan 0, PAL, YUYV)&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;Most&amp;#039;&amp;#039; UVCvideo cameras, including: Advent AWC213, Creative Labs VF0420, [[Logitech QuickCam Express]], QuickCam Pro 3000, [[QuickCam Pro 4000]],  QuickCam Communicate STX/Deluxe, [[Logitech Webcam Pro 9000]], and [[Webcam C250]]&lt;br /&gt;
&lt;br /&gt;
*[[Logitech HD C270]]&lt;br /&gt;
&lt;br /&gt;
*Logitech Quickcam Orbit/Sphere (experimental basic pan/tilt control has also published for testing and hacking [http://www.zoneminder.com/forums/viewtopic.php?t=9788])&lt;br /&gt;
&lt;br /&gt;
*[[Philips]] &lt;br /&gt;
&lt;br /&gt;
*Any OV511 based USB camera [http://alpha.dyndns.org/ov511/cameras.html]&lt;br /&gt;
&lt;br /&gt;
*Any CPIA based USB camera [http://webcam.sourceforge.net]&lt;br /&gt;
&lt;br /&gt;
*[[LabTec WebCam Pro]]&lt;br /&gt;
&lt;br /&gt;
*Confirmed basic functionality with Microsoft Lifecam VX 5000 using UVC Streaming method&lt;br /&gt;
&lt;br /&gt;
Note that most USB cameras that can use Video4Linux/V4L2, and so can be used by ZoneMinder.  Some have older chipsets and can be hard to find new.&lt;br /&gt;
&lt;br /&gt;
Note that PWC drivers are not included in the kernel. Some distribution&amp;#039;s add them in and other may not. Here are some relevant links:&lt;br /&gt;
* [http://www.smcc.demon.nl/webcam/ Old Maintainer]&lt;br /&gt;
* [http://www.saillard.org/linux/pwc/ Current PWC Maintainer]&lt;br /&gt;
&lt;br /&gt;
===Remote USB using RasPi===&lt;br /&gt;
&lt;br /&gt;
I have a SBC (RasPi) with a USB webcam, /dev/video0, 640x480, attached. &lt;br /&gt;
Script 1 is: &lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
  #!/bin/bash #!/bin/bash&lt;br /&gt;
  mkdir /run/shm/cam2&lt;br /&gt;
  cd /run/shm/cam2&lt;br /&gt;
  mplayer −quiet tv:// -vo jpeg &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
  mkdir /run/shm/cam2&lt;br /&gt;
  cd /run/shm/cam2&lt;br /&gt;
  rm *.jpg&lt;br /&gt;
  while [ 1 ]&lt;br /&gt;
  do&lt;br /&gt;
    f=`ls -t ????????.jpg 2&amp;gt; /dev/null | head -1` &lt;br /&gt;
    if [ $f ]&lt;br /&gt;
    then&lt;br /&gt;
      as=$(wc -c &amp;lt; &amp;quot;$f&amp;quot;)&lt;br /&gt;
      if [ $as -ge 1000 ]&lt;br /&gt;
      then&lt;br /&gt;
        mv $f mcam.jpg&lt;br /&gt;
      fi&lt;br /&gt;
    fi&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both scripts run in the background by root. The first script creates seq. jpg files. 00000001.jpg, 2.jpg, 3, 4... The second script finds a competed jpg and renames it mcam.jpg. Also required is &amp;quot;ln -s /run/shm/cam2/mcam.jpg /var/www/[html]/mcam.jpg. After that in Zoneminder create as a new camera: Remote, http, simple, 192.168.0.ip, /mcam.jpg, 640, 480. Run script 1 for a full minute to find out how many frames per second mplayer will produce and use that number (-1) for fps.&lt;br /&gt;
&lt;br /&gt;
Created By: liderbug&lt;br /&gt;
&lt;br /&gt;
== X10 Devices ==&lt;br /&gt;
The only device that really needs to be compatable with ZM is the Transceiver, all other x10 devices comunicate through that device.&lt;br /&gt;
*[[CM11]] Bi-Directional Transceiver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other X10 notes:&lt;br /&gt;
&lt;br /&gt;
[http://www.zoneminder.com/forums/viewtopic.php?t=6423&amp;amp;highlight=x10 Topic 6423]&lt;br /&gt;
&lt;br /&gt;
[http://www.zoneminder.com/forums/viewtopic.php?t=7082&amp;amp;highlight=x10 Topic 7082]&lt;br /&gt;
&lt;br /&gt;
== All other hardware as supported by Linux ==&lt;br /&gt;
To find out if your hardware is supported, check the [http://www.zoneminder.com/forums/viewforum.php?f=10 HCL]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Plug Computers ==&lt;br /&gt;
Guruplug Server Plus -&amp;gt; How to install Zoneminder&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi ==&lt;br /&gt;
&lt;br /&gt;
ZM 1.25 is already in Raspbian.  Newer development packages are available.&lt;br /&gt;
&lt;br /&gt;
You will want libjpeg-turbo from the following repository by adding to your /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
deb http://zarrenspry.info/repos/apt/raspbian testing main&lt;br /&gt;
deb-src http://zarrenspry.info/repos/apt/raspbian testing main&lt;br /&gt;
&lt;br /&gt;
Add gpg by&lt;br /&gt;
&lt;br /&gt;
wget -O - http://zarrenspry.info/zarrenspry.gpg.key|apt-key add -&lt;br /&gt;
&lt;br /&gt;
apt-get install libturbojpeg8 libturbojpeg8-dev&lt;br /&gt;
&lt;br /&gt;
If using the Pi camera, you will need to enable it in raspi-config as well as loading the v4l2 kernel module by adding the following to your /etc/modules.  You will also need to assign more than 128M to the GPU.&lt;br /&gt;
&lt;br /&gt;
bcm2835-v4l2&lt;br /&gt;
&lt;br /&gt;
Although the camera will can capture high res, you don&amp;#039;t have enough RAM currently to do so.  Especially if you have the early 256MB model.  So just stick to 640x480.  &lt;br /&gt;
&lt;br /&gt;
You should be able to get around 20fps, but if you do anything involving the CPU you will get underruns.&lt;/div&gt;</summary>
		<author><name>Liderbug</name></author>
	</entry>
	<entry>
		<id>http://wiki.staging.zoneminder.com/index.php?title=AxisMotionDetection&amp;diff=7242</id>
		<title>AxisMotionDetection</title>
		<link rel="alternate" type="text/html" href="http://wiki.staging.zoneminder.com/index.php?title=AxisMotionDetection&amp;diff=7242"/>
		<updated>2015-12-22T02:38:32Z</updated>

		<summary type="html">&lt;p&gt;Liderbug: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I had this performance problem while monitoring and event recording for 8-10 IP cameras using the ZM.&lt;br /&gt;
ZM is too good a software to abandon just for performance issues. So I decided I should pay more attention to the motion detection feature of the cameras I have and relieve the ZM server from the task of detecting motion.&lt;br /&gt;
I&amp;#039;ve finally managed to use the on-camera motion detection feature of Axis Cams and here are my notes:&lt;br /&gt;
&lt;br /&gt;
== Cameras ==&lt;br /&gt;
 &lt;br /&gt;
I&amp;#039;ve set my Axis camera as follows:&lt;br /&gt;
&lt;br /&gt;
[[Image:AxisMDetect1.png]]&lt;br /&gt;
[[Image:AxisMDetect2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The text &amp;quot;1|on 5|5|cause|text|showtext&amp;quot; means that&lt;br /&gt;
alarm will be triggered for the monitor which has ID=1,&lt;br /&gt;
alarm will set recording on&lt;br /&gt;
alarm will be cleared after 5 seconds.&lt;br /&gt;
The score of the alarm is 5 ( any score &amp;gt;0 is OK)&lt;br /&gt;
&amp;quot;text&amp;quot; and &amp;quot;showtext&amp;quot; are just explanatory notes.&lt;br /&gt;
&lt;br /&gt;
The ZM specs tells us that the format of the message can include a &amp;quot;duration&amp;quot; as long as the message is sent as:&lt;br /&gt;
&amp;quot;1|on+5|5|cause|text|showtext&amp;quot; but the problem is the Axis camera cannot or will not save the &amp;quot;+&amp;quot; sign which appears in the message. A CGI parameter conversion problem I presume...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[Update] The Axis M3203 with firmware 5.40.9.2 will save the &amp;quot;+&amp;quot; sign. My guess is that the new firmware has fixed this issue. Try updating your firmware before modifying the zmtrigger.pl file.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;ve taken care of this &amp;quot;+&amp;quot; problem with a small modification in zmtrigger.pl source (see below).&lt;br /&gt;
&lt;br /&gt;
Next, I specified the host IP address of the zm computer and its default zmtrigger port of 6802.&lt;br /&gt;
&lt;br /&gt;
[[Image:AxisMDetect3.png]]&lt;br /&gt;
[[Image:AxisMDetect4.png]]&lt;br /&gt;
&lt;br /&gt;
The second important setup is the &amp;quot;motion detection&amp;quot; setup on the Axis. I created a window which covers the area of interest; kept the object size as small as possible, pulled the history slider all the way back to zero and left the sensitivity slide somewhere past the %50 value.&lt;br /&gt;
&lt;br /&gt;
== ZM settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is no special setting for the ZM except that I&amp;#039;ve assigned the &amp;quot;Nodect&amp;quot; function to my camera monitor.&lt;br /&gt;
&lt;br /&gt;
[[Image:AxisMDetect5.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[Update]Try updating your firmware before modifying the zmtrigger.pl file.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, I modified the zmtrigger.pl file so that the first few lines of the&lt;br /&gt;
function handleMessage looks like this:&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
         sub handleMessage{&lt;br /&gt;
        my $connection = shift;&lt;br /&gt;
        my $message = shift;&lt;br /&gt;
        #&lt;br /&gt;
        #  CUA  - Axis camera send the message quoted with&amp;quot;&lt;br /&gt;
        #  CUA  - Also Axis camera cannot save the plus sign which&lt;br /&gt;
        #  CUA  - possibly exists in the 1|on+20|score|cause|text|showtext formatted msg&lt;br /&gt;
&lt;br /&gt;
        $message=~ s/^\&amp;quot;//g;&lt;br /&gt;
        $message=~ s/\&amp;quot;$//g;&lt;br /&gt;
        $message=~ s/on /on\+/;&lt;br /&gt;
&lt;br /&gt;
        #  CUA - end of modifications&lt;br /&gt;
&lt;br /&gt;
        my ( $id, $action, $score, $cause, $text, $showtext ) = split( /\|/, $message );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a few other modifications I made in the zmtrigger.pl file are commenting out some unused modules and pushes:&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
        use ZoneMinder::Trigger::Channel::Inet;&lt;br /&gt;
        #CUA use ZoneMinder::Trigger::Channel::Unix;&lt;br /&gt;
        #CUA use ZoneMinder::Trigger::Channel::Serial;&lt;br /&gt;
           use ZoneMinder::Trigger::Connection;&lt;br /&gt;
&lt;br /&gt;
         my @connections;&lt;br /&gt;
         push( @connections, ZoneMinder::Trigger::Connection-&amp;gt;new( name=&amp;gt;&amp;quot;Chan1&amp;quot;, channel=&amp;gt;ZoneMinder::Trigger::Channel::Inet-&amp;gt;new( port=&amp;gt;6802 ), mode=&amp;gt;&amp;quot;rw&amp;quot; ) );&lt;br /&gt;
         #CUA push( @connections, ZoneMinder::Trigger::Connection-&amp;gt;new( name=&amp;gt;&amp;quot;Chan2&amp;quot;, channel=&amp;gt;ZoneMinder::Trigger::Channel::Unix-&amp;gt;new( path=&amp;gt;&amp;#039;/tmp/test.sock&amp;#039; ),         mode=&amp;gt;&amp;quot;rw&amp;quot; ) );&lt;br /&gt;
        #push( @connections, ZoneMinder::Trigger::Connection-&amp;gt;new( name=&amp;gt;&amp;quot;Chan3&amp;quot;, channel=&amp;gt;ZoneMinder::Trigger::Channel::File-&amp;gt;new( path=&amp;gt;&amp;#039;/tmp/zmtrigger.out&amp;#039; ), mode=&amp;gt;&amp;quot;w&amp;quot; ) );&lt;br /&gt;
         #CUA push( @connections, ZoneMinder::Trigger::Connection-&amp;gt;new( name=&amp;gt;&amp;quot;Chan4&amp;quot;, channel=&amp;gt;ZoneMinder::Trigger::Channel::Serial-&amp;gt;new( path=&amp;gt;&amp;#039;/dev/ttyS0&amp;#039; ), mode=&amp;gt;&amp;quot;rw&amp;quot; ) );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
my modifs are marked with &amp;quot;# CUA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These three regular expressions remove the quotes sent by Axis which envelope the message string and insert a plus sign if the &amp;quot;on&amp;quot; command is followed by a space). These 3 statements convert an incoming message of the form&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
        &amp;quot;1|on 25|5|cause|text|showtext&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
        1|on+25|5|cause|text|showtext&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and of course, you shouln&amp;quot;t forget to restart zmtrigger.pl; or better still modify the zm startup script so that it starts zmtrigger.pl everytime zm is [re]started.&lt;br /&gt;
&lt;br /&gt;
Note: If you plan to use the zmxap interface (to connect ZoneMinder to MisterHouse using xAP), your cause must be &amp;quot;Motion&amp;quot; (without quotes), and your text must be a single word (no spaces); eg: LAWN.  In Misterhouse, the camera name will be the MONITOR name (eg: FRONT_DOOR), and the zone name will be the text (eg: LAWN).  If you don&amp;#039;t follow this convention then MisterHouse will not respond to the xAP event messages &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://www.learn-esm.co.uk/accommodation.php&amp;lt;span style=&amp;quot;color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;&amp;quot;&amp;gt;Intensive Driving Courses London&amp;lt;/span&amp;gt;] properly.&lt;br /&gt;
&lt;br /&gt;
I added the line &amp;#039;/usr/bin/zmtrigger.pl &amp;amp;&amp;quot; in the start section of&lt;br /&gt;
/etc/init.d/zoneminder and also added the line &amp;quot;pkill zmtrigger.pl&amp;quot; in the stop section.&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
        start() {&lt;br /&gt;
        echo -n &amp;quot;Starting $prog: &amp;quot;&lt;br /&gt;
        $command start&lt;br /&gt;
        # CUA&lt;br /&gt;
        /usr/bin/zmtrigger.pl &amp;amp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        [ $RETVAL = 0 ] &amp;amp;&amp;amp; echo success&lt;br /&gt;
        [ $RETVAL != 0 ] &amp;amp;&amp;amp; echo failure&lt;br /&gt;
        echo&lt;br /&gt;
        [ $RETVAL = 0 ] &amp;amp;&amp;amp; touch /var/lock/zm&lt;br /&gt;
        return $RETVAL&lt;br /&gt;
        }&lt;br /&gt;
        stop() {&lt;br /&gt;
        echo -n $&amp;quot;Stopping $prog: &amp;quot;&lt;br /&gt;
        #&lt;br /&gt;
        # Why is this status check being done?&lt;br /&gt;
        # as $command stop returns 1 if zoneminder&lt;br /&gt;
        # is stopped, which will result in&lt;br /&gt;
        # this returning 1, which will stuff&lt;br /&gt;
        # dpkg when it tries to stop zoneminder before&lt;br /&gt;
        # uninstalling . . .&lt;br /&gt;
        #&lt;br /&gt;
        # CUA&lt;br /&gt;
        pkill zmtrigger.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I just hope that this helps other people trying to implement the on-camera motion detection with ZM.&lt;br /&gt;
&lt;br /&gt;
Again; many thanks to those people who developed ZM at the first place and to those who helped it to become a perfect opensource project.&lt;br /&gt;
&lt;br /&gt;
[http://www.zoneminder.com/forums/viewtopic.php?t=10872 Original Thread]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DO NOT PM THESE USERS &amp;quot;&amp;quot;just post a question in the forum&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Copied By: KingOfKYA&lt;br /&gt;
&lt;br /&gt;
Created By: cayfer&lt;br /&gt;
&lt;br /&gt;
Edited / Updated By: TheForce&lt;br /&gt;
&lt;br /&gt;
========================================================================&lt;br /&gt;
&lt;br /&gt;
I have a SBC (RasPi) with a USB webcam, 640x480, attached.  Script 1 is:&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   mkdir /run/shm/cam2&lt;br /&gt;
   cd /run/shm/cam2&lt;br /&gt;
   mplayer −quiet tv:// -vo jpeg &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
Script 2 is:&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   mkdir /run/shm/cam2&lt;br /&gt;
   cd /run/shm/cam2&lt;br /&gt;
   rm *.jpg&lt;br /&gt;
   while [ 1 ]&lt;br /&gt;
   do&lt;br /&gt;
     f=`ls -t ????????.jpg 2&amp;gt; /dev/null | head -1` &lt;br /&gt;
     if [ $f ]&lt;br /&gt;
     then&lt;br /&gt;
       as=$(wc -c &amp;lt; &amp;quot;$f&amp;quot;)&lt;br /&gt;
       if [ $as -ge 1000 ]&lt;br /&gt;
       then&lt;br /&gt;
         mv $f mcam.jpg&lt;br /&gt;
       fi&lt;br /&gt;
     fi&lt;br /&gt;
   done&lt;br /&gt;
&lt;br /&gt;
Both scripts run in the background by root.  The first script creates seq. jpg files.  00000001.jpg, 2.jpg, 3, 4...  The second script finds a competed jpg and renames it mcam.jpg.&lt;br /&gt;
Also required is &amp;quot;ln -s /run/shm/cam2/mcam.jpg /var/www/[html]/mcam.jpg.  After that in Zoneminder  create as a new camera: Remote, http, simple, 192.168.0.ip, /mcam.jpg, 640, 480.  Run script 1 for a full minute to find out how many frames per second mplayer will produce and use that number (-1) for fps. &lt;br /&gt;
&lt;br /&gt;
Created By: liderbug&lt;/div&gt;</summary>
		<author><name>Liderbug</name></author>
	</entry>
</feed>