for version 4.2.9
Written by Ben Bird - Ben Software Ltd
SecuritySpy is CCTV video surveillance software for the Mac.
With features such as motion detection, email and iPhone alerts, ONVIF support and Pan/Tilt/Zoom control, SecuritySpy will enable you to set up a comprehensive and effective CCTV system for your business or home quickly and easily.
SecuritySpy can turn any Mac into a video surveillance station (for example, with multiple large screens in a security control room). It it also ideal for autonomous remote operation, as it has a fully-featured secure web interface that allows you to access and control your surveillance system from over the Internet or over a local network. And, as Mac software, it is as elegant and easy to use as you would expect, with a carefully-designed user interface.
If you are building a video surveillance system from scratch, all you need is SecuritySpy, a Mac, and some IP cameras. If you have an existing system using analog cameras, SecuritySpy can use these alongside more modern IP cameras, allowing you to transition to a state-of-the-art digital system.
SecuritySpy's flexibility will allow you to set up a system that is tailored for your individual needs, whether you want a single camera or a hundred.
This manual describes how to use the SecuritySpy software itself. For information about how to choose, install and set up the hardware of your CCTV system, see the SecuritySpy Installation Manual.
The main features of SecuritySpy are:
Initially, SecuritySpy will detect and display all local (USB, Thunderbolt and built-in) devices connected to your Mac. If you are using IP cameras, you can add them in the Preferences window.
SecuritySpy's main All Cameras window shows live video streams from all configured cameras in a grid view. You can also create group windows that contain particular groups of cameras — useful in larger installations to organise cameras into logical collections.
In addition, each camera can be displayed in its own individual video window. You can open individual camera video windows from the Window menu, or by double-clicking on a camera's live image in the main video window or group window, or by double-clicking on a camera name in the Camera Info window. All video windows can be resized to any shape and size by dragging any side of the window.
SecuritySpy offers digital Pan/Tilt/Zoom control for any camera in any video window: hold the Command key (⌘) on your keyboard and scroll up or down on your mouse or trackpad (on a trackpad, use the two-finger gesture to scroll). Once zoomed in, release the Command key and scroll in any direction to pan around the image. This is useful for high-resolution cameras that supply more detail than can be displayed in video windows.
Recording and Actions
In order to record video from a camera or for events to be triggered, it must be armed, and there are three modes that can be armed independently:
Camera modes are armed and disarmed based on schedules, which define time periods throughout the week when a camera should be armed or disarmed. You can set up your own schedules, or use the built-in ones, which are:
Additionally, it is sometimes useful to temporarily override schedules. For example, if you are getting lots of notifications due to some unusual activity in a particular camera, you can use a schedule override to disarm Actions mode for one hour to temporarily stop the notifications.
This can be best understood by the following diagram that shows the relationship between schedules, schedule overrides, and arming/disarming of camera modes:
To set a schedule or override for a particular camera, right-click on its video image (or on its name or status in the Camera Info window) to get a pop-up menu that allows you to do this, or use the Control menu at the top of the screen.
Camera Info Window
This window is available by selecting Camera Info from the Window menu:
The Camera Info window shows a wealth of information about the operation of each camera:
To choose which columns to display, click on the header bar to get a pop-up menu that allows you to turn on or off each of the above items.
Full Screen Mode
Enter full screen mode using the option in the Window menu, or by pressing Command-F on the keyboard. Each monitor attached to your computer becomes an independent full-screen display for whichever cameras you choose. The first time you enter full screen mode, SecuritySpy will add all available cameras to the full screen view; to change this, right-click (control-click) anywhere on a screen and a menu will pop up that allows you to configure which cameras to display on that screen.
When SecuritySpy encounters an error, it reports the error in its log file and continues to run. For example, such errors may include problems with video input devices, FTP upload errors, or errors sending emails. If you encounter any sort of problem while using SecuritySpy, you should check the log to find out more information about what happened. To open the log file, select Open Log from the File menu.
The Preferences window contains all settings for the software, and is split into the following sections:
Note that changes to Preferences are not applied immediately as you interact with the controls in this window, because this could interrupt recordings that are currently taking place. Instead, use the Save option in the File menu (Command-S on the keyboard), or click the "Apply Preferences" button in the top right corner of the window, to apply any changes you make.
This section contains general-purpose settings to configure the software, as follows:
Delete old files by age
When enabled, captured files older than the number of days you specify will be deleted automatically. There is a separate setting for the startup (system) volume vs. other volumes.
Delete old files by disk space
When enabled, old captured files will be deleted when disk space drops below the level you specify. This should not be set too low, as disks tend to slow down significantly as they run out of space; a value of around 2% of the disk's capacity is generally a good setting to use (e.g. 20 GB for a 1 TB drive). If the computer is being used for other applications besides SecuritySpy, more free space should be left on the startup (system) volume, hence there is a separate setting for the startup volume vs. other volumes.
Display - Show camera information in video windows
This option controls whether camera information such as the camera name, armed modes and recording status is displayed at the top of each camera image in video windows (but not in captured footage).
Display - Make video windows float over other applications
When enabled, all of SecuritySpy's video windows (the All Cameras window, group windows and individual-camera video windows) will appear over the windows of other applications, even when SecuritySpy is in the background.
Performance - Display cameras at half frame rate in video windows
When enabled, all cameras will display at half frame rate in all video windows. If you have many cameras and/or many video windows open at once, enabling this option may result in lower CPU usage (how much lower depends on the resolution and frame rate of your cameras, and the speed of your computer's graphics hardware). This option affects display only; it doesn't affect video capture.
Performance - Perform motion detection only when required
When enabled, motion detection will only be performed when it is required for triggering motion capture or actions, which will result in lower CPU usage when it is not required for these purposes.
Performance - Decompress incoming video frames only when required
By default, SecuritySpy will decompress all incoming video frames, whether or not each one is actually required. The advantage in doing so is that frames are then available at all times, so if video from a camera is suddenly required after a period of not being required (e.g. a video window is opened after previously being closed), then a video frame will be available immediately; otherwise there may be a significant delay until decompression can resume and the next frame is available.
To avoid a long delay, make sure the camera's key frame rate is not set too high (this is the frequency of self-contained key frames in the compressed video stream, and can be referred to by the following names by various manufacturers: I-frame interval, I-frame rate, GOV length, Intra frame period). A good setting is around twice the frame rate of the stream, which will result in a maximum delay of two seconds (e.g. if the camera is streaming video at 10fps, then set the key frame rate to 20).
Enabling this option could result in significantly lower CPU usage, especially if the features that require decompression are used infrequently. Such features include motion detection, display in video windows, delivery via the web interface, and recording to disk where SecuritySpy is performing recompression of the video stream.
Maintenance - Restart automatically after a crash
Every effort is made to ensure that SecuritySpy is as stable as possible, however since it relies on other software components written by other parties (such as system software and driver software for video input devices), stability cannot be guaranteed. Therefore it is possible, although unlikely, for SecuritySpy to crash ("unexpectedly quit"), and if the computer may be left unattended for long periods of time, this is a potential problem.
When this option is enabled, an tiny background application is launched that monitors SecuritySpy and restarts it if it crashes. This application runs invisibly and uses almost no system resources. If SecuritySpy crashes while video is being captured, at most only a few minutes of video will be lost.
Maintenance - Allow automatic computer sleep
The computer must be awake for SecuritySpy to operate, so if you want continuous operation you should leave this option turned off. Use this option if you would like the computer to sleep automatically when it is not being used (as per the settings in the Energy Saver system preference).
Maintenance - Dismiss alert messages after 1 minute
If this option is on, all alert messages (such as error messages) will be closed after 1 minute. This option should be enabled if the computer is to be left unattended.
Maintenance - Automatically check for software updates upon launch
If an update is available you will be offered the option to install it; updates are never installed automatically without your permission.
Maintenance - Display pop-up window for major errors
Use this option to have a window appear on the screen to inform you of any major errors (these include problems preventing SecuritySpy from obtaining video streams, or recording problems).
Maintenance - Send diagnostic information back to developer
If this option is on, SecuritySpy will send information back to us, the developers of the software, once per day, in order to help us diagnose problems and improve the software. This includes system setup information, error reports and performance data. This data is sent over an encrypted connection, and we will never share this data with third parties.
Maintenance - Send anonymous images back to developer
If this option is on, SecuritySpy will send images back to us when motion is detected. By analysing and categorising these images, we can use them to improve SecuritySpy's motion-detection features. The images are scaled down to a small size and are sent infrequently over an encrypted connection, so the transmission is secure and uses very little bandwidth. Apart from the content of the images themselves, no identifying data is sent along with these images.
Audio - Set computer to full volume before playing sounds
When enabled, the computer's main speaker volume will be automatically set to maximum before playing sounds, and then set back to its original volume after the sound has played.
Audio - Hiss reduction
When enabled, low-level audio will be silenced, eliminating hiss and background noise from microphones. This is useful for applications such as baby monitoring, where you may be listening to the audio at night, or when multiple cameras are playing audio at the same time.
Audio - Mute incoming audio when sending audio to a camera
For cameras that support two-way audio, this option controls whether the incoming audio from that camera is muted whenever you are sending audio to that camera. This prevents a feedback situation where audio can pass from the Mac's microphone to the camera's speaker, to the camera's microphone, to the Mac's speaker and back to the Mac's microphone in an infinite loop.
Audio - Two-way audio source and volume
This defines an audio input source connected to your Mac that is to be used for computer-to-camera audio transmission. Use the round control knob on the right to adjust the audio volume.
Email error reports
Use this option to have error reports sent to an email address whenever any problem occurs. You can enter multiple email addresses, each separated by a comma. You also have the option of receiving warning messages - these are advisory messages that inform you of potential problems such as high memory or CPU usage.
In all cases, all errors are written to a log file, which you can access from the File menu in SecuritySpy.
Email daily statistics
When this option is used, SecuritySpy will gather various statistics, including the number of files created, the amount of data recorded, and camera uptime. At midnight, a report will be sent by email containing a summary of this information. This is useful for quickly confirming that your system is performing as expected. You can enter multiple email addresses, each separated by a comma.
Choose your preferred date format, which is used whenever a date is displayed (e.g. in timestamps on video frames, and in file names).
Choose a date format, and choose a 12-hour clock (e.g. "2 pm") or a 24-hour clock (e.g. "14:00").
Password for settings changes
You can set a password here that will be required by anyone attempting to access settings or disarm cameras. It is also advisable, in the "SecuritySpy & Privacy" system preference, to set the Mac itself to require a password after a short time of inactivity. While this doesn't prevent someone from physically tampering with the computer, implementing these basic security precautions provides a useful first layer of protection.
Password for quitting
You can set a password here that will be required by anyone attempting to quit SecuritySpy.
Default capture destination
By default, movie and image files are saved to a Captured Files folder, within the SecuritySpy folder in your Home folder (i.e. ~/SecuritySpy/Captured Files/). However, you can customise where SecuritySpy saves files using this setting, by selecting a volume or folder anywhere on your file system.
Important: when using a NAS (Network Attached Storage) device as the capture destination, make sure it is set to use AFP (Apple File Protocol), otherwise SecuritySpy may not be able to automatically delete old files, or display files correctly in its Browser feature. Most NAS devices support AFP, though this feature may not be enabled by default.
If you want to choose a capture destination for specific cameras only, you can do this under
Preferences -> Cameras -> Setup.
Under the Cameras section, you can configure all cameras to be used by SecuritySpy. This section is further sub-divided into the following tabs: Device, Setup, Masks, Audio, Continuous Capture, Motion Capture, and Actions.
The Device tab contains settings related to video devices themselves (the screenshot below show the settings available for network devices; for local devices - i.e. those connected by USB, Thunderbolt or built-in devices such as FaceTime cameras - there are many fewer options available as these are plug-and-play devices that don't need to be set up in the same way).
Enter the IP address, hostname, or Bonjour address of the device. By clicking the Auto-Discovered Devices button below this field, SecuritySpy will display a list of devices that were discovered on your local network, for example:
Select a device from this list, and the Address field will be automatically populated with the address of the selected device. This menu consists of two sections:
Both the above addressing methods remove the need to configure your cameras with fixed IP addresses: for a camera that obtains an IP address automatically via DHCP (which is usually the case), setup is simply a case of connecting it to your network and selecting it in the above list.
Many cameras support both ONVIF and Bonjour, so you may see two entires in the list for such devices; in this case you can select either (though using the ONVIF address may be slightly faster and more reliable in some circumstances).
These are the network ports that SecuritySpy uses to communicate with the device. The standard ports are 80 for HTTP and 554 for RTSP (or 8000 in both cases if the network device is another copy of SecuritySpy). If your device uses standard ports (most do), you can leave these fields empty, but if it uses non-standard ports, you should enter them here.
Username / Password
If the network device requires authentication, enter its username and password here.
Most IP surveillance products sold in the last few years implement the ONVIF protocol, which is a universal way of communicating with IP cameras. So, if your camera supports this, then you should use the ONVIF profile in SecuritySpy. Alternatively, SecuritySpy has many profiles designed specifically for individual camera makes and models, so check this list to find one to match your device. Or, if you want to enter the HTTP/RTSP streaming request yourself, use the Manual configuration option.
If your device doesn't support ONVIF, and you are not sure which other profile to use, click the Auto-Detect Profiles button. SecuritySpy will then test each profile in turn with your camera, and will return a list of ones that work. Before you run this test, make sure that you have entered the camera's address, ports, username and password correctly.
This menu lists the available formats supported by the network device, which will be a combination of the following:
If you are connecting to a camera over a local network, then the "H.264 RTSP" format is typically the best one to use. If connecting over the internet, then the "H.264 RTSP-over-HTTP" format is most appropriate, if your camera supports it.
Enter a video size (resolution) to request from the device. If you leave these fields empty, the default video size of the network device will be used. This setting is not available for all devices; typically you will need to configure the device directly to set its video size.
Enter the frame rate at which you want the device to send video frames. This setting is not available for all devices; typically you will need to configure the device directly to set its frame rate.
Input or stream number
For devices that have multiple inputs or streams, here you can specify the one you want to use. For example, some devices have multiple physical inputs or image sensors, while others have multiple streams with different compression settings. This option will only be available if this feature is supported by the device.
Options - Use SSL
SSL is a cryptography protocol that provides secure encrypted communication with network devices. For devices that support this feature, SSL provides additional security by preventing the decoding of intercepted data streams. It can therefore be useful when transmitting data over the internet, but typically is not required when transmitting over a local network. Note that this may significantly slow down video transmission due to the extra processing required by the device. In order to use SSL you will have to set up the device with a certificate (either self-signed or from a certificate authority, although the latter is not really necessary since you are setting up the server yourself and there is therefore no question about its authenticity).
Options - Disable Pan/Tilt/Zoom support for this device
Many profiles in the above "Device type" list have PTZ support enabled for them, in order to control cameras with mechanical PTZ. If your device does not have PTZ features, or if you otherwise want to disable PTZ support for a particular camera, enable this option. This simply removes the PTZ controls associated with the camera from SecuritySpy's user interface.
Options - Recompress video data from this device
Network devices supply video data in a variety of compressed formats (typically JPEG, MPEG-4 or H.264). By default, the video data supplied by the camera will be captured directly from the device to the movie files that SecuritySpy creates. This ensures optimum quality, performance and lowest CPU usage. However, if you want SecuritySpy to apply a text overlay, a transformation (rotation/flip), or a video blanking mask (to obscure sections of the image), or if you want to re-encode the data to a more space-efficient format, then enable this option, and SecuritySpy will use the settings set under the Compression section in order to recompress the data while recording. Generally, if you require a text overlay, transformation or blanking mask, it should be applied in the camera itself (if available there), rather than SecuritySpy, to avoid the need for SecuritySpy to recompress the video data.
Options - Recompress audio data from this device
Network devices supply audio data in a variety of compressed formats (typically G.711, G.726, AMR or AAC). By default, the audio data supplied by the camera will be captured directly from the device to the movie files that SecuritySpy creates. This ensures optimum quality, performance and lowest CPU usage. However, it may be useful to enable this feature in order to record with AAC audio compression if your camera is not capable of providing this format, because when the video format is H.264 and the audio format is AAC, SecuritySpy can create MP4 files instead of MOV files. MP4 files play back in web browsers, whereas MOV files generally will not, so this is important if you will be viewing recorded footage via SecuritySpy's web interface.
This setting is available when you select Manual configuration as the profile. This is the request text that is sent to the device to instruct it to send media data. This setting is useful if you want to use a network device that doesn't support ONVIF, and isn't supported under an existing profile. Consult the documentation or manufacturer of your device for information about the format of HTTP or RTSP requests it understands.
When camera manuals specify this information, they typically do so in the form of a URL, for example:
This indicates that the RTSP format should be used, with the RTSP port set to port, and request.h264 as the Request.
This tab shows general configuration options for each camera, as follows:
Status - Enable this camera
This checkbox allows you to turn a particular camera off without completely removing it from the software. If you turn a camera off it will no longer be used and will not be viewed or captured from.
This menu has several options for transformations that can be applied to the video image to compensate for the mounting position of the camera (for example if it mounted upside-down or rotated to one side). The available transformations are: 180° rotation, 90° rotation clockwise, 90° rotation counter-clockwise, horizontal flip, and vertical flip. Note that, for network cameras, this setting is only available if you have chosen to recompress video data from the camera, under the Device section.
Text overlay - Enable text overlay
Use this option to draw a text overlay on all video frames. Use the placeholders +n, +d, +w, and \n to represent the camera name, date and time, day name, and line break respectively. Note that, for network cameras, this setting is only available if you have chosen to recompress video data from the camera, under the Device section.
Motion triggers - Video motion detection
The video motion detection feature analyses the incoming video stream to detect motion. When the motion level exceeds the threshold (shown as the red line in the motion bar under the video image), for the duration specified by the "trigger time" setting, motion capture and actions will be triggered.
The sensitivity adjustment allows for variations in camera installation conditions, and whether you want SecuritySpy to capture upon the slightest movement, or instead limit recording to high levels of movement. High values make sure that motion detection will be triggered by even small amounts of motion in the video stream, however this may also result in false-positive triggers.
The "trigger time" setting specifies the minimum duration of continuous motion that will result in a trigger. The most sensitive setting is "1 frame", which will trigger if there is motion detected in a single video frame. However, this is likely to produce many false-positive triggers due to rain, lighting changes, insects and other transient motion. A trigger time of between 1 and 2 seconds is normally ideal: this provides a low rate of false-positive triggers while still being highly sensitive to real motion. Note that this feature works best when the frame rate of the incoming video is at least 5fps.
Motion triggers - Audio level detection
This feature triggers motion capture and actions when the audio level exceeds a certain threshold. The higher the sensitivity setting, the more SecuritySpy will trigger on very quiet sounds. To use this feature, an audio source must be enabled for this camera (under the Audio tab).
Motion triggers - Camera input ports
This feature triggers motion capture and actions when one of the camera's input ports is triggered. IP cameras typically have one or more input ports (sometimes called "IO ports", "Alarm inputs", "External inputs" or "Digital inputs") that can be connected to sensors such as PIR (Passive Infra Red) motion sensors, glass break detectors, door/window sensors etc. SecuritySpy currently supports the input ports of Axis, D-Link, Canon and Hikvision cameras.
Motion triggers - Camera PIR sensor
This feature triggers motion capture and actions when the camera's built-in PIR sensor detects motion. This is currently supported for Hikvision cameras only.
Motion triggers - Camera motion detection
This feature triggers motion capture and actions when the camera's on-board motion detection algorithm detects motion. This is currently supported for Hikvision cameras only.
By default, movie and image files are saved to a Captured Files folder, within the SecuritySpy folder in your Home folder (i.e. ~/SecuritySpy/Captured Files/). However, you can customise where SecuritySpy saves files using this setting, by selecting a volume or folder anywhere on your file system.
Important: when using a NAS (Network Attached Storage) device as the capture destination, make sure it is set to use AFP (Apple File Protocol), otherwise SecuritySpy may not be able to automatically delete old files, or display files correctly in its Browser feature. Most NAS devices support AFP, though this feature may not be enabled by default.
Any capture destination set here will override the default one set under Preferences -> General
There are two masks that can be configured in this section:
Motion Detection Mask
This defines areas in the video image to be ignored by SecuritySpy's motion detection algorithm.
Video Blanking Mask
This defines areas in the video image to be completed obscured (drawn in black) in the live and recorded video footage.
Choose the mask you want to edit from the drop-down menu. To the right of this menu there are some handy options for manipulating the mask (e.g. to clear or invert it). Note that, for network cameras, the video blanking mask is only available if you have chosen to recompress video data from the camera, under the Device section.
This tab allows you to specify the audio settings for each camera:
Choose an audio input device to associate with this camera. Typically, for IP cameras, you will want to use the option "This network device", which indicates that SecuritySpy should take the audio feed from the camera itself.
This menu also lists all available local audio devices attached to your computer (built-in, USB, FireWire and Thunderbolt audio inputs), and you can associate any of these audio inputs with any camera.
If the audio device has more than one data source, these are listed here. For example, most built-in audio inputs in Mac computers have two data sources: Line In and Digital In; to use an analog audio source you would select Line In, or to use a digital source you would select Digital In.
This is the main factor that determines the quality of the audio - the higher the sample rate the better the quality, but the larger the captured files. A sample rate of 8000 Hz is normally adequate for video surveillance, though if you want higher quality, a setting of around 16000-22050 Hz will provide a significant improvement.
Left/mono channel, Right channel
Each camera can use one or two of the audio device's channels. Using the left and right channel menus, you can select which channel on the device (numbered in the menu) is recorded to which channel in the captured movie (left or right). For example, if the audio device has 10 input channels and you want input 5 recorded to the movie as the left channel and input 6 recorded as the right channel, you would select 5 and 6 in these menus respectively. To simply record people speaking, only mono (one channel) audio is required, in which case you should select "None" for the right channel. If you are using stereo audio (two channels), this doubles the size of the audio data, so use this only if you need to.
You can choose whether to include audio in continuous-capture recordings and/or motion-capture recordings. By default, both options are enabled.
This tab allows you to specify settings for the Continuous Capture recording mode:
Movie capture - Capture movie continuously
Enable this option to capture a movie file whenever the continuous-capture recording mode is armed.
Movie capture - Capture rate
This is the rate at which to capture frames to the movie (leave empty for the maximum rate). Note however that if the incoming video is in MPEG-4 or H.264 format, and you have chosen not to recompress the video (see the Device settings), SecuritySpy will be unable to change the frame rate of the video, and it will therefore be recorded at whatever rate is being supplied by the camera.
Movie capture - Playback rate
This feature is useful for capturing timelapse movies, where you can specify a playback rate that is different (usually significantly higher) than the capture rate.
Movie capture - Create new
Here you can specify when to create new movie files - there are four options:
Daily at midnight: a new movie file will be created at midnight each day. All footage captured during the day will be added to the same movie file, even if continuous-capture mode is disarmed and armed during this time.
Hourly (on the hour): a new movie file will be created at the beginning of each hour. All footage captured during each hour will be added to the same movie file even if continuous-capture mode is disarmed and armed during this time. This is a useful alternative to the Daily option above, producing smaller and therefore more manageable files that can be downloaded easily over the Internet.
Each time continuous capture is armed: a new movie file will be created whenever continuous-capture mode is armed, and will continue to be captured to until it is disarmed.
Every x Minutes/Hours/Days: a new movie file will be created at the frequency you specify. Whenever continuous-capture mode is disarmed and then armed, a new movie will also be created.
Movie capture - Upload to
Enable this option to upload all continuous-capture movie files to an FTP server. If the "create new" setting is set to Daily at midnight, movies will be uploaded at the end of the day; otherwise movies will be uploaded as soon as they are finished.
Image capture - Capture images continuously
This feature captures an image file to disk in JPEG format at the rate you specify.
Image capture - Upload to
Enable this option to upload all continuous-capture image files to an FTP server.
Webcam image - Upload and replace image on server
Use this option to periodically upload a JPEG image file with a fixed name to an FTP server, replacing the previous file each time. This is useful for continually updating an image on a web page.
This tab contains settings for the motion-capture recording mode, which captures movies or images in response to the motion triggers configured under the Setup tab:
Movie capture - Capture movie in response to motion trigger
Enable this option to capture a movie in response to a motion trigger. Motion triggers include video motion detection, audio detection and camera input ports, which can be enabled via the Setup tab.
Movie capture - Capture type
There are two options for the motion-capture movie:
One movie per event: a separate movie file will be created for each motion detection event. This may result in a large number of individual movie files if there are frequent events, however it offers more resiliency to computer problems or tampering.
One movie per day: one movie file will be created each day containing all the motion detection events of that day. One large file may be easier to manage than lots of smaller files.
Movie capture - Capture rate
Specify the rate at which to capture frames to the movie (leave empty for the maximum rate). Note however that if the incoming video is in MPEG-4 or H.264 format, and you have chosen not to recompress the video (see the Device settings), SecuritySpy will be unable to change the frame rate of the video, and it will therefore be recorded at whatever rate is being supplied by the camera.
Movie capture - Pre-capture
It is often useful to have video from both before and after a motion event; in the time before and after, even though the motion is not high enough to trigger recording, there is often something interesting happening that is worth capturing. This is the purpose of the Pre-capture and Post-capture features. The pre-capture feature uses a buffer of video frames in memory, so that when the capture is triggered, some video before the trigger is also captured.
Movie capture - Post-capture
Specify the number of seconds to continue capturing the movie after the motion trigger has stopped. This should be set to at least a few seconds in order to avoid many small movie files being captured for one longer period of motion.
Movie capture - Upload to
Enable this option to upload all motion-capture movie files to an FTP server for off-site backup. If the capture type is set to One movie per day, movies will be uploaded at the end of the day; if the capture type is One movie per event, movies will be uploaded as soon as they are finished.
Image capture - Capture images in response to motion trigger
Enable this option to periodically capture JPEG image files when motion is detected.
Image capture - Frequency
Specify the capture frequency in terms of the number of seconds between image file captures.
Image capture - Post-capture
Specify the number of seconds to continue to capture image files after the motion trigger has stopped.
Image capture - Upload to
Use this option to upload all motion-capture image files to an FTP server for off-site backup.
This tab contains settings for actions to be performed in response to the motion triggers configured under the Setup tab:
Select a sound to play when motion is triggered. As well as the standard system sounds, there are several built-in sounds designed to scare off intruders, and you can add your own by placing sound files in SecuritySpy's Sounds folder (to locate this folder, click on the file File menu and select Reveal Folder in Finder / Sounds). Most sound formats are supported, including AIFF, WAV, MP3, and AAC.
Play sound - Duration
Specifies the duration in seconds to play the sound after the motion trigger has stopped.
You can select a script to run when motion is triggered. To create your own scripts, use the Script Editor application that comes with macOS (this application is called AppleScript Editor on older system versions). Place your scripts in SecuritySpy's Scripts folder to make them available to invoke as actions (to locate this folder, click on the file File menu and select Reveal Folder in Finder / Scripts). A few scripts are included with SecuritySpy, including ones that control switch/relay devices that can trigger external devices such as lights and alarms. The built-in scripts work with WebRelay and Web-i IO devices.
Send email to
This feature sends an email, optionally with attached JPEG images, to an address you specify. To send the email to multiple addresses, enter them separated by commas.
Trigger other cameras
This setting allows you to trigger recording in one camera based on a motion trigger in another. This could be useful for when you have multiple cameras covering the same area, and want recording to take place in all the cameras when any one detects motion, thereby increasing the chance of capturing something interesting.
Show video - Come to the front and open this camera's video window
If this option is enabled, whenever there is a motion trigger for this camera, SecuritySpy will come to the front, above all other applications, and will display the camera's video window.
This option allows you to specify a delay in seconds after a motion trigger, before performing any of the actions
Action reset time
Once the actions are triggered, this delay specifies the minimum time before they can be triggered again. Without this delay, an action could be invoked many times in quick succession if there is lots of motion, which is usually undesirable. Therefore, it is advisable to specify a delay here of at least the length of a typical motion detection event.
This section allows you to specify groups of cameras that can be displayed via their own group windows. For large installations, organising the cameras into logical groups in this way makes viewing them much more manageable.
Choose how you want cameras to appear in the group window:
Display cameras in grid - just like the All Cameras window, the group window will display all its member cameras at once, in a grid arrangement.
Cycle between each camera - this option will display one camera at a time, sequentially.
Cycle between groups of four cameras - this option will display four cameras at a time, sequentially in groups of four.
Specify the number of seconds between cycles, when using either of the Cycle display options.
Simply enable the checkbox next to each camera you want to include in the group.
Schedules define when cameras should be armed and unarmed throughout the week. All schedules created here will be available to all cameras, and can be used to arm their continuous-capture, motion-capture and action modes independently.
Times when cameras will be armed are represented as red "time objects". Each time object has a start and end time, which define when the camera will be automatically armed and then automatically disarmed. Click and drag to create new time objects, or to move or edit existing time objects. To remove a time object, select it and press the delete key on the keyboard.
In the above example, the camera will be armed during office hours on weekdays only. SecuritySpy doesn't need to be running before the start time of a time object — if you launch it at any time marked red on the schedule, all cameras using the schedule will be armed automatically.
Clicking the "Advanced Schedule Options" button allows you to configure some additional options, as follows:
The options allow you modify the built-in sunrise/sunset schedules so that recording starts a certain number of minutes before or after sunrise or sunset. For example, if you want recording to start 5 minutes before sunrise, then you should set the Sunrise offset time for the Armed Sunrise To Sunset schedule to -5.
Determining sunrise and sunset times requires accurate location and time information. If you plan to use these schedules, check the Date & Time System Preference to make sure your Mac's location and clock are set correctly.
A schedule preset defines a set of schedules that will be applied to your cameras when the preset is invoked. For example, a "Home" and "Away" preset can define different sets of schedules to use when a property is occupied vs. when it is empty.
For each camera, you can define a schedule or you can specify "No Change" to indicate that a particular camera's schedule should not be changed when the preset is applied.
Schedule presets can be invoked from the Control menu.
This section allows you to specify the video and audio compression that will be performed for any camera set to be compressed by SecuritySpy. This applies in the following cases:
For any network camera that is supplying H.264 video data, for optimum quality and performance, you should not enable the Recompress video data option in the Cameras -> Device settings unless you need to do so for some specific reason (e.g. you want SecuritySpy to add a date/time overlay on the video stream and the camera is incapable of doing this).
Limiting the use of audio recompression is less important, because it requires much less CPU time than video recompression. Ideally, your cameras can supply audio in AAC format, but for any camera that cannot, you might want to set SecuritySpy to re-encode to AAC format. The advantage of recording AAC audio is that SecuritySpy can then create MP4 movie files (rather than MOV movie files), which are much more compatible for playback by web browsers. If you don't need to play back the captured files in web browsers, then it's best to leave the Recompress audio data option turned off.
Video Compression - Codec
Choose between the following video compression codecs:
JPEG: Produces high-quality video and is fast to compress, so performance with this codec is very good, however the size of captured movie files will be large.
MPEG-4: Produces video at lower data rates than JPEG. It is reasonably quick to compress and will give good performance on a reasonably fast computer. This is a somewhat obsolete codec, which is only available when running the 32-bit version of SecuritySpy.
H.264: This is a very efficient codec that will produce small file sizes. On modern Macs with built-in hardware video compression capabilities, this will be fast to compress, but the number of cameras that can be compressed by hardware will vary between Mac models. On older Macs without hardware video compression capabilities, this uses significant CPU time to compress. Use this option if you need SecuritySpy to create MP4 movie files that play back in web browsers.
MPEG-4 and H.264 support temporal compression. Depending on the content, video can have a high level of temporal redundancy, that is, very often one frame is similar to the last frame. Temporal compression exploits this redundancy to reduce the file size of the resulting video. Temporal compression works by using "key frames" at regular intervals, followed by several "delta frames". The key frames contain the complete video image; the delta frames contain only the portions of the image that have changed since the last key frame.
Images from surveillance cameras often have a high level of temporal redundancy because usually most of the image is constant and only a small portion is changing. Therefore the use of temporal compression can significantly decrease captured file sizes without significantly degrading quality.
Video Compression - Quality
The higher the quality setting, the better the visual quality of the resulting movie files. However, higher quality settings will result in larger files. A setting of around 50-60 is normally ideal.
Audio Compression - Codec
Choose between the following audio compression codecs:
None: No compression - this setting gives the best quality and lowest processor usage. Since the data rate of audio is generally much lower than that of video, unless you require very small file sizes, using no audio compression can be a good option. If you choose this option, you should set a low sample rate and mono audio in order to minimise the data rate (these options are set independently for each device, via the Cameras -> Audio settings.
Apple Lossless: This gives quality equal to no compression (since it is a lossless codec), at roughly half the data rate, and is reasonably quick to compress.
µ-Law: This is a very efficient codec designed specifically for compressing speech quickly at a very low data rate (64kbps).
AAC: This produces high-quality audio at low data rates, but is the most processor-intensive of the available codecs. Use this option if you need SecuritySpy to create MP4 movie files that play back in web browsers.
Audio Compression - Quality
For the AAC codec, you can set a quality level, which will determine the bitrate of the encoded audio data (the exact bitrate used will depend on the sample rate of the source audio, which can vary from camera to camera). A value of around 50 gives reasonably good quality audio at an efficient bitrate.
Whenever SecuritySpy needs to create a still JPEG image, it will use this quality setting for the encoding. This applies to still images captured to disk, images attached to emails, and images delivered via the web interface.
This section allows you to specify settings for sending emails:
Number of images per email
When an email is sent in response to a motion trigger on a particular camera, this setting defines now many JPEG images from the camera will be attached to the email.
Frame rate of image capture for emails
This defines the frame rate at which images are added to motion-triggered emails.
Size of images attached to emails
You can send images at full size, but with high-resolution cameras this results in large emails that are slow to transfer. To keep email sizes small and transfer speeds high, choose a smaller size from one of the available options.
This is the subject field that is used for emails triggered by motion detection. If you leave this blank, a subject will be created automatically. When specifying a custom subject, you can enter +d for the current date and time, and +n for the camera name.
By default, SecuritySpy will use its own email relay service, which requires no configuration whatsoever. This service is provided by us, and its usage is free for all SecuritySpy users (though we do limit the size and frequency of emails, in order to ensure good performance for all users).
The other option is to use your own SMTP server — this requires configuration as follows:
SMTP server address
The address of the server used to send mail. This is normally provided by your ISP (Internet Service Provider).
If your server uses a non-standard port, you can specify this here using a colon and then the port number. For example, if your server uses port 28, you would enter "smtp.example.com:28". Most SMTP servers operate on standard ports (25 for non-encrypted communication and 465 for encrypted SSL communication), so if you have not been told by your ISP to use a particular port, don't specify a port number and the standard one will be used automatically.
The small pop-up menu to the right of this field contains a few presets for common email accounts; select one and the server address any any other appropriate settings will be set automatically.
This is the return address sent with emails to identify the sender. You should always use a valid email address here, as spam filters will block messages without one. Also, many SMTP servers will not accept just any return address: usually it must be from the same provider as the SMTP server.
This is the name associated with the return address. It is optional, however if you don't specify a name here, there is a higher chance of emails being blocked by spam filters.
Username and password
Most SMTP servers require authentication - if yours does, enter your username and password here. The username is typically your email address.
You can choose between no encryption, implicit encryption, or explicit encryption (if your mail server uses encryption, it will probably use the explicit method). An increasing number of email servers support encryption (some even require it), however many servers do not support it, and enabling this feature when using such servers will prevent emails from being sent. Therefore, you should check the instructions supplied by the provider of the SMTP server, and enable this feature only if your email server supports it.
Once you have configured the email settings, you can test them by clicking this button. SecuritySpy will attempt to send a test email, and will report any problems it encounters.
This section allows you to specify settings for FTP uploads to remote servers, which is useful for off-site backup of footage. The same FTP server with different paths may be used for different upload destinations, so one camera can be set to upload to a particular directory on the server and another camera to a different directory on the same server. To check directory paths and download or delete files, you will need to use a graphical FTP client utility such as Cyberduck.
Enter the IP address (e.g. 192.168.1.1) or hostname (e.g. ftp.example.com) of the FTP server.
Path on server
If you specify a path that starts with a forward slash character, this denotes an absolute path from the server's root directory. A path that does not begin with a forward slash character denotes a relative path from the default directory. The default directory depends on the server - generally each user has a folder on the server which is used as the default directory and set automatically by the server when that user logs in.
For example, consider the following directory layout:
If you were to log in as user1, the server will most likely set the initial directory as /pub/user1/. In this case, to have images uploaded to the user1 directory, you could either leave the path field empty, or you could specify "/pub/user1/" to be explicit. To have images uploaded to the "images" folder within the "user1" folder, you could specify either "/pub/user1/images/" or simply "images" for the path (in all cases it doesn't matter whether you put a forward slash at the end of the path or not). Generally, you should let the server decide the default directory and use a relative path, unless you have a specific reason to use an absolute path.
If the specified directory does not already exist on the server, SecuritySpy will attempt to create it.
Append camera name to path
Enable this option to automatically append camera names to the server path, so that each camera will upload to a separate folder on the server.
Append day folder name to path
Enable this option to automatically append day folder names to the server path, so that files for each day will be placed in separate folders on the server. Day folder names comprise the date when the file was created, in the format YYYY-MM-DD.
Choose from the following protocols:
FTP: this is the standard unencrypted file transfer protocol. It is widely supported and reliable, however being unencrypted is not as secure as the following two protocols.
FTPS: sometimes called FTP-SSL, this is the secure encrypted version of the FTP protocol. Unfortunately it is not very widely supported.
SFTP: sometimes called SSH File Transfer Protocol, this is a widely-supported secure file transfer protocol that provides secure encrypted communication. This is generally the one to use when you want encryption.
To copy the files to a local drive, rather than a remote server, enter local as the server address, and specify the path of a folder on your local file system (drag the folder from the Finder into the Path box to have the path filled out automatically). Paths to folders on the local file system typically start with /Volumes/VolumeName/… to refer to a folder on an attached volume, or /Users/UserName/… to refer to a folder within your user directory.
To see the status of current uploads at any time select Uploads from the Window menu.
SecuritySpy features a built-in web server that allows you to view live camera streams, download captured footage, change settings and control the software, all from a remote location over a local network or the Internet.
Enable web server
SecuritySpy includes both a standard HTTP web interface and an encrypted secure HTTPS web interface. Standard HTTP sends and receives data in its raw form, which is suitable for local networks but not safe for communicating over the internet where the data could potentially be intercepted by a third party. By contrast, HTTPS is a secure protocol that employs encryption, making it extremely difficult for someone to decode any intercepted data. HTTPS is therefore strongly preferred for sending sensitive information over the internet, such as passwords and CCTV camera footage.
The HTTP and HTTPS servers each operate on their own network port. A port number represents a "channel" for network communication, and allows different applications on the same device to use the network without interfering with each other. Note that on macOS, it is not possible for an application such as SecuritySpy to use ports below 1024 (unless you specifically run it as a root process, which is not advisable). SecuritySpy's default ports are 8000 and 8001 for HTTP and HTTPS respectively.
From another computer on your local network (LAN), you can access the server with a web browser using the server's IP address and port number, or its Bonjour name and port number, for example:
When using the DDNS feature in conjunction with the Automatic port forwarding options (see below for explanations of these features), you will be able to access SecuritySpy from the Internet like this:
Note that local network addresses won't work from the Internet, and Internet addresses may not work from within your local network (depending on your router).
Click the How Do I Access This Server? button to get a list of the addresses you can use to access your SecuritySpy server from your local network and from the Internet. If you need to configure your Mac's LAN IP address, you can do so via the Network pane of the System Preferences.
HTTPS Keys and Certificates
Secure servers require a private key and a certificate in order to perform the encryption and identify the server. There are two kinds of certificate you can use: a self-signed certificate, or a certificate signed by a certificate authority. Both provide the same level of encryption, however self-signed certificates do not provide the same level of assurance to the client regarding the authenticity of the server, hence a web browser connecting to such a server will display a warning to this effect. For SecuritySpy however, you are the one setting up the server and so you can be certain about its authenticity. Therefore the use of a self-signed certificate for SecuritySpy is entirely suitable; simply ignore the warning displayed by the web browser.
There is one caveat here, in that iOS will refuse to play back movie files delivered by an HTTPS server with a self-signed certificate. So, if you want to play back movies on an iPad or iPhone, you will either need to use the standard HTTP interface, or you will need to purchase an official certificate to use with SecuritySpy.
The address you use to access SecuritySpy should match the certificate's hostname, otherwise you will get an additional warning from the web browser about a hostname mismatch. Therefore, for connecting to SecuritySpy over the internet, we recommend that you use SecuritySpy's Dynamic DNS feature (see below), set this as the hostname in the certificate, and use it to access SecuritySpy over the internet.
In order to use a self-signed certificate with SecuritySpy, simply enable the "HTTPS server enabled" option in the above window - SecuritySpy will generate a key and certificate automatically. The Dynamic DNS address that you have set up will be used as the certificate's hostname, so make sure to create this and use it to access SecuritySpy.
In order to use a certificate obtained from a certificate authority, firstly you will need to generate a private key and a certificate signing request (typically using OpenSSL via the Terminal - instructions should be provided by the certificate authority). You send the certificate signing request to the certificate authority and they send back a signed certificate. Place the private key, main certificate, and any intermediate certificates into the SecuritySpy folder within the Home folder (i.e. ~/SecuritySpy/), and then quit and relaunch SecuritySpy.
When supplying a private key, it must be as follows:
When supplying a certificate, it must be as follows:
Automatic port forwarding
To allow access to SecuritySpy from the Internet, your router must be configured to forward incoming connections to SecuritySpy. Use these options to enable automatic port forwarding for the HTTP and/or HTTPS port. For this to work, your router must support, and have enabled, either NAT Port Mapping Protocol (NAT-PMP), or Universal Plug and Play (UPnP). Almost all routers support at least one of these protocols, and most have this feature enabled by default.
IMPORTANT: when using this feature, your system becomes much easier to access from the Internet, so you should create at least one web server account, with a strong password, to protect your SecuritySpy web server.
Dynamic DNS name (DDNS)
Most Internet connections provide a dynamic public IP address, which can change from time to time. If you want to access your system over the Internet, you will need a static address, which is what SecuritySpy's DDNS system provides. Simply enter the DDNS name you want to use and click the Test button; the indicator will turn green to indicate success or red to indicate a problem (e.g. if the name you requested is not available). Once enabled, the Internet address example.viewcam.me will always point to your public IP address, even when it changes.
IMPORTANT: with DDNS enabled, your system becomes easier to access from the Internet, so you should create at least one web server account, with a strong password, to protect your web server.
Web server name
You can enter any text here in order to customise the name of the web server. As well as being used as the Bonjour name (see below), this name gets displayed by a web browser when it requests authentication. For example, here is the message displayed by the Safari web browser when it connects to a password-protected server with the name "My Web Server" (other web browsers display similar messages):
Require clients to use TLS version 1.2 or later (option available on macOS 10.9 or later)
This requires that HTTPS web clients use the latest and most secure version of TLS (the cryptographic protocol underlying HTTPS). Leave this option enabled unless you need the web server to be accessible to to older clients that don't support TLS 1.2. Note that macOS system versions before 10.9 do not support TLS 1.2, so most software running on these systems will not be able to connect to the server if this option is enabled.
Disable cyphers that use insecure protocols (option available on macOS 10.8 or later)
There are a variety of different cryptographic protocols that can be used for an HTTPS connection; these are negotiated between the client and server whenever a new connection is made. Many older protocols (such as RC4, MD5 and DES) have been found to have security flaws, and therefore should be avoided if possible. Enabling this option ensures that these insecure protocols will not be used, however this may prevent older clients from being able to connect to the web server.
Advertise this web server via Bonjour
Bonjour is a method of "zero configuration" network setup, which makes it easy to find devices. Enabling Bonjour allows Safari, iOS apps, and other instances of SecuritySpy to easily find your SecuritySpy server on the network.
Make movies Fast Start on-the-fly
Normally, QuickTime movies and MP4 files have a movie resource at the end of the file (the movie resource holds necessary information about all the frames in the movie and therefore has to be written to the file last, after all the frames have been written). This works well when the movie is on a local drive because the movie resource is instantly accessible, however if the movie is being received from a slower source such as the Internet the whole movie must be downloaded before it can be played, which may take some time. In Fast Start movies, the movie resource is at the beginning of the file so that the movie can start to play before it has completely downloaded.
If this option is enabled, the movie resource will be read from the end of the file and sent first, so the movie will be Fast Start when it is received by the client computer.
Write log file of all connections
When enabled, SecuritySpy will create a text file containing information about every connection to the web server, including the connection time, the client's address, and the requested page. To view the log, select the "Open Web Log" option from the File menu in SecuritySpy.
SecuritySpy uses the server name text (see above) as its Bonjour name. Note that if you have enabled the macOS firewall feature on the computer running SecuritySpy, this may prevent Bonjour from working properly. Therefore you may have to disable the firewall if you want to use Bonjour to connect to SecuritySpy servers. The firewall settings are accessible in the Security & Privacy System Preference.
To enable password protection to restrict access to your SecuritySpy server, you must add at least one web server account; if you don't add any accounts, there will be no password protection. If your SecuritySpy server will be accessible from the Internet, we strongly recommend that you enable password protection.
This pane allows you to specify settings for a web server account:
Username / Password
Enter the username and password that will be required to log in with this account. The username is not case sensitive, but the password is; both can be up to 31 characters long.
Video stream duration limit
Specify a number of seconds after which to cut off any live video stream being viewed via this account.
Timed daily access
This setting allows you to restrict access to the web server via this account to certain times of the day.
There are a few preset permissions levels, and a fully customisable one, as follows:
View - the user can view live video from any camera.
View, Download - the user can view live video, and download previously-captured footage for any camera.
View, Download, control PTZ - the user can view live video, download previously-captured footage, and control Pan/Tilt/Zoom for any camera.
Administrator - the user has full access to every web server feature.
Custom - under this setting, you can specify which features of which cameras the user has access to. Select the camera(s) for which you want to allow certain actions, and set the permissions accordingly. Select the All cameras option to set permissions that will apply to all cameras — this makes it easy to give a particular user a certain level of access for all cameras, while still being able to apply additional permissions for individual cameras.
Accessing SecuritySpy from the Internet
Setting up access to your system from the Internet requires configuration of your router. For instructions, please see the Remote monitoring section of the SecuritySpy Installation Manual.
SecuritySpy comes with its own Dashboard widget for easy remote viewing of video streams from your SecuritySpy server over a local network or the Internet. Click here to download the SecuritySpy widget - it will be installed automatically into your widgets folder and will be immediately available in Dashboard. The first time you load the widget you will need to specify some settings so that it knows where the SecuritySpy web server is. To open the settings window click the info button (the i symbol in the bottom right hand corner of the widget). The settings look like this:
The widget has the following settings:
If, instead of the image, you get a question-mark icon, it means that the widget wasn't able to get the image. Check the address, camera number, username and password to make sure they are all correct.
You can create multiple instances of the widget in order to view several different cameras at the same time, and the widget can be used without restriction on as many computers as you like.
This widget can also be used on Windows and Linux computers with the Kludget Engine software.
SecuritySpy's Browser feature allows you to view and manage captured footage. Choose Browser from the Window menu to open the Browser:
Select one or more cameras and specify a date, and the Browser will display all files matching these criteria. The main components of the browser are:
For the date you specify, the Browser displays all footage captured during that day. Click the calendar icon to get a pop-up graphical calendar, which makes choosing the desired date much easier.
This list shows all active cameras in SecuritySpy. Select up to six cameras to view footage from them all, synchronised together. To select multiple cameras, shift-click or command-click entries in the list.
This list shows all files that have been captured by all selected cameras on the specified day. Click on any file in this list to jump to the start of that file in the timeline, or double-click on a file to start playing it immediately.
Hold the alt (option) key on the keyboard when selecting a motion-capture file, and the timeline will jump to the first actual motion in the file, rather than the very beginning. This is useful when using SecuritySpy's pre-capture feature to start recording some seconds before the motion trigger.
The timeline shows a graphical representation of time periods during the day that have captured video footage for each selected camera. Click anywhere in the timeline to change the current cursor time, and click and drag left and right to scrub backwards and forwards through the video footage. Hold the shift key on the keyboard while dragging the timeline cursor to select a time period, which you can then export.
Any files captured since the last scan will be added in red, indicating that they have not yet been queued for display in the movie area. To play these files, use the Rescan option in the Browser menu (see below) to add them to the movie display.
Files in the trash are showed in grey, but will still be playable until you empty the trash.
This is the area that actually displays the captured footage. If you have selected multiple cameras, they will be displayed in a grid, in the most optimal arrangement for the size of the Browser window and the resolution of each selected camera.
The Browser menu in the menu bar contains the following options:
Browser Menu - Export File
This option allows you to export any file that is currently selected in the file list. The video and audio data is copied directly to the exported file, so there is no loss of quality.
When exporting a file, you have the option to set the playback frame rate. In this way, you can create timelapse movies that play back at much faster speeds than real-time. Note that doing so will remove any audio track in the movie.
Browser Menu - Export Selection
Make a selection in the timeline by dragging the cursor while holding the shift key. Then, for any camera that is currently selected in the camera list, this option allows you to export the video footage contained within the selected time period. The video and audio data is copied directly to the exported file, so there is no loss of quality.
Browser Menu - Export Current Frame
For any camera you have selected in the camera list, this option allows you to export a still image from the current time as a JPEG file. This option is available only if there is some valid footage for the specified camera at the current time.
Browser Menu - Rescan
This rescans files for the currently-selected camera(s) and date. This is useful for adding to the movie display any files that have been captured since the last scan, in order to play them.
Browser Menu - Reveal in Finder
This option tells the Finder to show all the files that are currently selected.
Browser Menu - Move to Trash
This moves all selected files to the Browser's trash. The Browser keeps its own trash, separate from the Finder's trash.
Browser Menu - Empty Trash
Use this option to permanently delete all files in the Browser's trash.
Browser Menu - Zoom In/Out Timeline
Use these options to zoom in or out in the timeline view. Zoom in to see the position of time objects in detail, or zoom out to get a more general picture of captured footage throughout the day.
The Browser also supports JKL keyboard shuttle controls: pressing L causes the playback to speed up in the forward direction by a factor of 2, J causes the playback to speed up in the reverse direction by a factor of 2, and K pauses the playback.
Zoom In/Out Video Playback
To zoom in or out of the captured footage during playback, hold the Command key (⌘) and scroll up or down on your mouse or trackpad (on a trackpad, use the two-finger gesture to scroll). Once zoomed in, release the Command key and scroll in any direction to pan around the image.
Network devices connect to the computer over a wired or wireless ethernet network. There are two kinds of network device: network cameras and network video servers (sometimes referred to as IP cameras and IP video servers). They are similar in the way that they send video over the network, but whereas a network camera is a self-contained all-digital unit, a network video server has one or more analog inputs for connecting analog cameras. Due to significant limitations of analog video, all new installation should exclusively use IP cameras.
To find a camera suitable for your system, see our comprehensive searchable list of supported network cameras. Even if a particular camera is not on this list, it is highly likely that it will work with SecuritySpy using the ONVIF protocol, or with the correct HTTP or RTSP request string (this can usually be obtained from the camera's documentation or by requesting this information directly from the manufacturer). SecuritySpy supports all major video streaming formats produced by network cameras (HTTP and RTSP protocols; JPEG, MPEG-4 and H.264 video formats; AAC, G.711, G.726, PCM and AMR audio formats).
While SecuritySpy is attempting to connect to a network devices it displays a flashing connection icon. If, for any reason, the connection fails, you will see an icon of a camera with a cross through it, and a message to inform you of the problem. Connections can fail for a number of reasons such as an incorrect username/password, incorrect IP address, or network problem. If a connection fails, check the log (select Open Log from the File menu), as it will give you more information about what the problem is. SecuritySpy will repeatedly attempt to connect to network devices, to ensure reliability in the event of a temporary problem with the network or device.
Each video window containing a camera that supports PTZ will have a PTZ button in the right side of the window's title bar: click this button and a PTZ drawer will slide out, allowing you to control the cameras in the window:
The PTZ controls act as a "virtual joystick", allowing you to control direction, as well as speed of movement, for cameras that support variable-speed movement (the further you move the blue indicators from the centre of their respective control areas, the faster the movement).
If your camera supports preset positions, the eight preset buttons will be available. To save the current position of the camera as one of the presets, hold the alt (option) key on the keyboard and click a preset button (the Home position, if available, is typically pre-set by the manufacturer and cannot be changed).
Click the gear button in the top right of the PTZ drawer to reveal these settings:
Here you can name each preset position, as well as specify the maximum speed at which your camera will move (if you camera supports variable-speed movement).
PTZ Keyboard Shortcuts
You can also control PTZ from the keyboard, using the arrow keys, or the numeric keypad on the right of standard keyboards (1 on the keypad corresponds to down-left and so on). For cameras that support variable-speed movement, holding the shift key while using these keyboard shortcuts moves the camera 50% faster than the standard speed.
You can recall presets by pressing a number key at the top of the keyboard; hold alt (option) with a number key to save a preset.
Even if you don't have the PTZ drawer open, simply click once on the video image of the camera you want to control, and you can then use these keyboard shortcuts.
PTZ Mouse Shortcuts
Hold the shift key (or enable caps lock), and click directly in a camera's image in any video window to control its pan and tilt: a click on the right side of the video image will move the camera right and so on. If your camera supports variable-speed movement, the distance of your click from the centre of the image defines the speed of movement.
PTZ Control Permissions
Note that devices typically require administrator username/password details for controlling PTZ, so make sure these have been entered correctly in the Preferences -> Cameras -> Device window. Non-admin authentication details required for simply viewing video may not be enough for controlling PTZ.
You can use one instance of SecuritySpy running on one Mac to view cameras attached to another instance of SecuritySpy running on a different Mac. In this way, you can use SecuritySpy as client viewing software, providing a better user experience than viewing via web browser. For the purposes of viewing-only, SecuritySpy can be used free of charge in its unlicensed state.
To set up one Mac (the server) to transmit video to another Mac (the client):On the server Mac
There are two ways to add cameras to the SecuritySpy client instance:On the client Mac: adding all cameras in one go
On the client Mac: adding cameras individually
Note that each viewing instance puts additional processing load on the server. You can reduce this load by specifying a low frame rate in the above window, and/or by using JPEG compression rather than H.264 compression (but be aware that JPEG compression uses more bandwidth).
Here are the steps we recommend to set up your SecuritySpy system to operate autonomously:Set SecuritySpy to open whenever the computer starts up
Open SecuritySpy and click and hold the mouse button on the SecuritySpy icon in the Dock. From the menu that pops up, select Options -> Open at Login:
Set the computer to never sleep
Open System Preferences and click the Energy Saver item. Drag the Computer sleep slider control all the way to the right, where it says Never. It is also recommended for best performance to disable the setting Put hard disks to sleep when possible. Display sleep should be enabled to save power and prevent monitor damage.
Set the computer to restart after a power failure
Open System Preferences and click the Energy Saver item. Enable the option Start up automatically after a power failure. For extra protection, click the Schedule... button and set the Mac to start up automatically every day.
Enable remote monitoring and administration
See the Preferences -> Web section in this manual for details.
Close all video windows
Video windows are not required if there is no one operating the computer, and they will use CPU time resulting in lower performance.
Using multiple cameras simultaneously involves moving, calculating and storing large amounts of data. To get the most out of your computer you should:
For information about how to choose, install and set up the hardware of your video surveillance system, see the SecuritySpy Installation Manual.
For up to date troubleshooting and help please see the SecuritySpy online help pages.
If your question is not answered in the online help pages, please email it to firstname.lastname@example.org.
To find out which specification of computer is required for a particular camera setup, see the SecuritySpy System Requirements Calculator.