Monitor surveillance cameras
|This page was written by Pluto and imported with their permission when LinuxMCE branched off in February, 2007. In general any information should apply to LinuxMCE. However, this page should be edited to reflect changes to LinuxMCE and remove old references to Pluto.|
How to set it up--part 1, adding the device
There are three types of cameras you can use:
1. Cameras you connect directly to a PC, such as webcam's, analog cameras connected to a video capture card, and USB cameras
2. IP Based cameras you connect to the home network
3. Proprietary, stand alone camera systems which have their own master controller or interface which the cameras are connected to.
#3 requires a custom LinuxMCE device. In LinuxMCEAdmin choose Wizard, Devices, Interfaces and add the interface device, then add the cameras in Wizard, Devices, Surveillance cameras.
#1 also requires an interface device. LinuxMCE includes the device "Motion Wrapper", which is a wrapper for the open source project 'motion', and will be the interface device. In LinuxMCEAdmin choose Wizard, Devices, Interfaces and add the device "Motion Wrapper" which is in the category "Surveillance Video Interfaces". Then in LinuxMCE Admin go to Wizard, Devices, Surveillance Cameras and for each camera, both analog cameras you connect to a capture board, as well as USB cams and web cams, add a device "Generic Camera" which you will find in the category "Peripherals", "Surveillance Cameras", and choose the motion wrapper as the "Controlled Via" device. For each camera you will need to specify a number in the parameter "Port/Channel Number". If you have only 1 camera, it's easy; put a 1. If you have several cameras connected to a single multi-port capture card, the number for each camera should correspond to the port number on the card. However, if you have a mixture it may require some experimenting to see which camera gets mapped to which port. For example, if you have two 4-port capture cards, and you call the 8 cameras "Cams 1-8", and 1 USB camera, which you call "Living Room cam" cam, there will be a total of 9 cameras. The order is determined by the drivers. Normally USB cameras come first. So try giving the USB camera "Living Room cam" a port 1, and then the 4 cameras on the first capture card port #2-5, and the 4 cameras on the second capture card #6-9. Later when you are viewing the cameras if you find the port numbers are incorrect you may need to re-arrange them. If, for example, you go to view the camera you called "Living Room Cam" and see that it is really showing you another camera, go back and change the port parameter until each camera is correct.
#2, IP cameras, are the best. They are the simplest and often have the most features, such as pan, tilt and zoom. They do not require an interface device. Most are also plug and play. Try just plugging the camera. If you see a message on all the Orbiters that your camera was detected, that's all there was to it. If not, then in LinuxMCE Admin go to "Wizard", "Devices", "Surveillance Cameras" and add the camera from the category "Peripherals", "Surveillance Cameras" and make the Controlled Via device be the Core. If your model is not shown, you will have 2 choices. One is to create a GSD device for it. This will give you full control over all the cameras features, but requires some technical skills. The second possibility is to add the "Motion Wrapper" interface, and add the camera as a "Generic Camera" as described in the prior paragraph. The only difference is that you will put the IP address of the camera in the IP box. Then the Motion Wrapper knows it's an IP camera. Note that even if your model is specifically listed and you don't use the Generic Camera device, you can still choose Motion Wrapper as the "Controlled Via" if you want Motion Wrapper to monitor the camera.
How to set it up--part 2, adding the security device mapping
In LinuxMCE Admin choose Wizard, Security, Security-Video Links. Here is a matrix of all your security sensors and intercoms on the left, and all the cameras across the top. Check the boxes to indicate which cameras can view which security devices. If, for example, someone rings the "Front Door intercom", or the "Kitchen smoke detector" is triggered, then when LinuxMCE tries to contact you it will automatically send you video from all the cameras you checked off as corresponding to that sensor. The rules for who to notify are specified in Wizard, Security, Cell Phone Notifications.
How to set it up--part 3, adding the scenario
You probably will want to add some buttons on the Orbiters to quickly view certain cameras. In LinuxMCE Admin choose Wizard, Security, Scenarios. For each room you can add a shortcut to view a particular camera by checking the camera, or a shortcut to view 4 cameras at once by click 'Add new quad view scenario'.
How to use it
From any Orbiter touch the button for the scenario you created. Notifications of alerts is automatic.
The Motion Wrapper device is very simple. It simply scans all the child devices, which are assumed to be cameras, and puts them all in the motion config. If the camera has an ip address, it's assumed to be an IP camera. If not, then it is /dev/video[port] where port is the parameter specified for the camera. The Orbiters and the Security Plugin send a "Get Video Frame" command when they need to view the camera. If the camera uses the device template "Generic Camera", then when an Orbiter or the Security Plugin sends the command it will go to Motion Wrapper, since Generic Camera does not implement DCE. Motion Wrapper just sends a signal to motion and returns the frame. If the camera does not use the template Generic Camera, but rather uses a device template that does Implement DCE, such as "Panasonic IP Camera", then this means a separate device will be spawned for this camera, and that device will handle the "Get Video Frame" itself since it implements DCE. It won't use motion. If the "Controlled Via" is the Motion Wrapper then motion will still monitor it, since when motion starts it writes all child devices into motion's configuration file.