Securityspy 4 2 9 – Multi Camera Video Surveillance App

broken image


SecuritySpy 5.2.5: Update to macOS CCTV Software

All Hikvision cameras work well with SecuritySpy – you will be able to add them to SecuritySpy on your Mac, and use SecuritySpy to view and record the cameras on your Mac. We also have an iOS app for viewing on your iPhone, iPad or Apple TV. With SecuritySpy, you will not need a separate DVR/NVR device.

  1. This Android IP camera viewer app offered by Vivotek enables surveillance users to monitor live streaming video from all of their IP cameras, or those that are managed by Vivotek's video management software for up to 360 seconds at a time. Note that this app currently works only with Android V2.3 and higher.
  2. Support for cameras with pan and zoom; SecuritySpy provides a fully-functional video surveillance system that runs on the Mac. Licensing and Demo. SecuritySpy's licensing is based upon the number of cameras you want to use. SecuritySpy starts from $50 for a single-camera license, up to $832 for unlimited camera support.

Odessa, Ukraine - Ben Software today announced the release of SecuritySpy 5.2.5, an update to the premier multi-camera video surveillance software for the Mac. With smart motion detection powered by Artificial Intelligence, flexible recording features, remote monitoring via web browser or iOS app, and an intuitive user interface, SecuritySpy is ideal for all CCTV applications, from large professional installations to small home systems. Version 5.2.5 adds the ability for advanced search of captured footage for events such as the movement of humans and vehicles in specific areas of each camera's video feed.
'This update represents our ongoing commitment to maintain top-quality macOS NVR software and respond to our customers' feedback' said Ben Bird, the developer of SecuritySpy. 'We are excited to deliver some significant improvements to make SecuritySpy even more powerful.'
SecuritySpy supports virtually all network cameras on the market, including the popular Axis, Cisco, Dahua, Canon, Amcrest, Hikvision, Vivotek and Zavio ranges. SecuritySpy features advanced AI-powered motion detection, which can be used to trigger recordings as well as email alerts, audio alarms, iOS push notifications and external devices. The built-in secure web server allows remote monitoring of live streams and captured footage from over the Internet, using any web browser or our SecuritySpy app for iPhone, iPad or Apple TV.
The main features of SecuritySpy are as follows:
* Supports all major brands of IP camera as well as ONVIF-compatible cameras
* Carefully designed user interface and automatic camera detection for easy setup
* AI-powered smart motion and object detection for accurate triggering of recording
* Efficient software design allows one Mac to handle high numbers of cameras
* Built-in secure web server for remote monitoring and administration
* Automatic DDNS, port forwarding and SSL/TLS certificate generation for easy web setup
* Flexible scheduling options for recording at particular times of the day or week
* Browser feature for synchronized multi-camera playback and AI-powered object search
* Supports all industry-standard media formats (H.265, H.264, MPEG-4, JPEG, AAC)
* Hardware-accelerated video compression and decompression for low CPU usage
* Companion iOS and tvOS apps for iPhone, iPad and Apple TV
* Notifications including alarms, emails, scripts and iOS Push Notifications
* Pan/Tilt/Zoom (PTZ) support using virtual joystick
* Secure off-site backup of captured footage
* Integration with home automated systems such as Indigo and Control4
* Supports non-IP cameras such as built-in cameras, USB webcams and Blackmagic devices
Pricing and Availability:
Pricing is in British Pounds, Euros or US Dollars and depends on the number of cameras used, ranging from GBP 29.90 (approx. USD $40) for a single-camera license, to GBP 649.00 (approx. USD $890) for an unlimited-camera license. SecuritySpy 5.2.5 requires macOS 10.13 High Sierra or later.
SecuritySpy can be tested for 30 days before purchase, with no demo limitations.
Ben Software: https://www.bensoftware.com/
SecuritySpy 5.2.5: https://www.bensoftware.com/securityspy/
Direct Download Link: https://www.bensoftware.com/securityspy/SecuritySpy.dmg

Web Server Specification

This document describes the web server interface of the latest version of SecuritySpy v5. Both HTTP and RTSP services run from the same port (which by default is 8000 for HTTP/RTSP and 8001 for HTTPS/RTSPS). All below requests use the HTTP protocol unless otherwise specified. This is an advanced document and basic knowledge of HTTP and HTML is assumed. Parameters in [square brackets] are optional.

Live video

HTML page containing live video or still images

Request format
live?cameraNum=X[&cameraNum=X][&imageSize=X][&req_fps=X][&viewMethod=X]

Parameters
cameraNum: the camera number(s) to display (more than one can be specified)
imageSize: the image size, either in format '640x480' or 'scale2' (double size) or 'scale0.5' (half size)
req_fps: the requested frame rate of the video streams
viewMethod: the viewing method of images on the page, one of the following numbers:

0Auto - SecuritySpy will try to detect the browser's capabilities and will choose a viewing method to suit
3JavaScript JPEG (works on all web browsers; video and audio)
4Server-push JPEG stream (works on most web browsers; video and audio)
5Still JPEG images (works on all web browsers)
7HTTP Live Streaming (works in Safari only; video and audio)

Example
live?cameraNum=0&cameraNum=2&cameraNum=3&imageSize=640x480&method=0

Returned data
A HTML page containing live images from the cameras you specify.


Still JPEG image

Request format
image?cameraNum=X[&width=X][&height=X][&quality=X]

Parameters
cameraNum - the number of the camera, as displayed in the Camera Info window
width - the width of the image in pixels
height - the height of the image in pixels
quality - the compression quality in the range 1 to 100

Example
image?cameraNum=0&width=640&height=480&quality=50

Returned data
A single JPEG image from the specified camera.


Multipart JPEG 'server push' video stream

Request format
video?cameraNum=X[&width=X][&height=X][&quality=X][&req_fps=X]

Parameters
cameraNum - the number of the camera, as displayed in the Camera Info window
width - the width of the image in pixels
height - the height of the image in pixels
quality - the compression quality in the range 1 to 100
req_fps - the FPS of video that SecuritySpy will attempt to send

Example
video?cameraNum=0&width=640&height=480&quality=50&req_fps=10

Returned data
A multipart-mixed-replace video-only JPEG stream, as follows:

HTTP/1.1 200 OKrn
Server: BBVSrn
Content-Type: multipart/x-mixed-replace;boundary=ssBoundary8345rn
rn
--ssBoundary8345rn
Content-Type: image/jpegrn
Content-Length: 21325rn
rn
rn
--ssBoundary8345rn
Content-Type: image/jpegrn
Content-Length: 22128rn
rn
rn
....

Note
This method works in all major browsers except Internet Explorer, using an HTML tag.


H.264 stream (RTSP)

Request format
stream?cameraNum=X[&codec=X][&width=X][&height=X][&req_fps=X]

Parameters
cameraNum - the number of the camera, as displayed in the Camera Info window
codec - the video compression codec - currently the only supported value is h264
width - the width of the image in pixels
height - the height of the image in pixels
req_fps - the frame rate of the video that SecuritySpy will attempt to send Exifeditor 1 1 14.

Example
stream?cameraNum=0&codec=h264

Security Spy 4 2 9 – Multi Camera Video Surveillance App Download

Returned data
An H.264 RTSP video/audio stream, which can be received by any RTSP player, such as VLC.

Note
SecuritySpy supports TCP Interleaved transport only (not UDP).
When using a client like VLC, make sure to use a URL that starts with the protocol specifier rtsp://


HTTP Live Streaming H.264 stream

Request format
hls?cameraNum=X

Parameters
cameraNum - the number of the camera, as displayed in the Camera Info window

Example
hls?cameraNum=0

Returned data
An H.264 HTTP Live Streaming video/audio stream, which can be used in Safari within an HTML tag.


Live audio

Audio GET

Request format
audio?cameraNum=X

Parameters
cameraNum - the number of the camera, as displayed in the Camera Info window

Example
audio?cameraNum=0

Returned data
A G.711 μ-law 8000kHz mono audio stream, as follows:

HTTP/1.1 200 OKrn
Server: BBVSrn
Content-Type: audio/basicrn
rn


Audio POST for two-way audio

Request format
audio?cameraNum=X

Parameters
cameraNum - the number of the camera, as displayed in the Camera Info window

Example
audio?cameraNum=0

POST data
A G.711 μ-law 8000kHz mono audio stream, which SecuritySpy will forward to the specified camera.


Captured footage

HTML/XML page containing links to captured footage

Request format
download?cameraNum=X[&cameraNum=X][&ccFilesCheck=X][&mcFilesCheck=X][&imageFilesCheck=X][&ageText=X][&date1Text=X][&date2Text=X][&format=X][&results=X][&continuation=X]

Parameters
cameraNum - the camera number(s) (more than one can be specified)
ccFilesCheck - specify 1 to include continuous-capture files
mcFilesCheck - specify 1 to include motion-capture files
imageFilesCheck - specify 1 to include still (JPEG) image files
ageText - the maximum age of files to list, in days
date1Text, date2Text - A date range (format corresponds to the setting in SecuritySpy's General Preferences)
format - the format of the returned data: 'list', 'grid' or 'xml'
results - the maximum number of files to return (if not specified, up to 200 files will be returned)
continuation - the continuation value specified in the data returned by the last call to download (see below)

Using the continuation parameter (XML only)
There is a limit of the number of files that will be returned with each call to download (this limit can specified via the results parameter described above). If there are more files available that meet the specified search criteria, a value will be included in the head of the returned XML page. Subsequently, to obtain the next batch of files matching the search criteria, make the same request again, but this time include this continuation value as a parameter to the download call. You can repeat this process until there are no further files to obtain, which will be indicated when the returned XML page does not contain a continuation value.

Example
download?cameraNum=0&cameraNum=2&ccFilesCheck=1&ageText=5

Returned data
An HTML or XML page containing a list of files that match the search criteria, with download links to the the files themselves.


Download a file

Request format
getfile?cameraNum/date/filename (default download)
getfilehb?cameraNum/date/filename (high-bandwidth download)
getfilelb?cameraNum/date/filename (low-bandwidth download)

Parameters
cameraNum - the number of the camera
date - the date in the format YYYY-MM-DD
fileName - the URL-encoded name of the file

In reality, you would not construct these parameters from scratch: the data returned by the download request contains full requests for each file.

Example
getfile/1/2019-01-22/22-01-2019+13-13-36+M+Street.m4v

Securityspy 4 2 9 – Multi Camera Video Surveillance App

Returned data
The requested file.


PTZ

PTZ controls HTML page

Request format
ptz/controls?cameraNum=X

Parameters
cameraNum - the number of the camera, as displayed in the Camera Info window

Example
ptz/controls?cameraNum=0

Returned data
An HTML page with buttons to control the PTZ of the specified camera.


PTZ command

Request format
ptz/command?cameraNum=X&command=X[&speed=X]

Parameters
cameraNum - the number of the camera, as displayed in the Camera Info window
speed - the speed of movement, from 1-100
command - command to execute, which is a number as follows:

1Left12Preset 1112Save preset 1
2Right13Preset 2113Save preset 2
3Up14Preset 3114Save preset 3
4Down15Preset 4115Save preset 4
5Zoom in16Preset 5116Save preset 5
6Zoom out17Preset 6117Save preset 6
7Home18Preset 7118Save preset 7
8Up-left19Preset 8119Save preset 8
9Up-right
10Down-left
11Down-right99Stop movement

Example
ptz/command?cameraNum=0&command=7

Returned data
'OK' as text if the command was accepted.

Note
Command 99 is only applicable to cameras that support continuous movement. For cameras that support movement in individual steps, this command does nothing.


PTZ capabilities

Request format
getptzcapabilities?cameraNum=X

Parameters
cameraNum - the number of the camera

Example
getptzcapabilities?cameraNum=0

Returned data
A text page containing a single number, which is the sum of the following constants:

1Pan and Tilt
2Home
4Zoom
8Presets
16Continuous movement

So for example if the number returned is 9, this means the camera support Pan, Tilt, and Presets, but not Home or Zoom, and that the camera moves in discreet steps and does not require 'Stop movement' commands. If the camera does continuous movement, it is necessary to issue a 'Stop movement' command (99) after issuing any move or zoom command (1-11 in the PTZ command table above).


Scheduling

Set a schedule and/or schedule override for a camera

Request format
setSchedule?cameraNum=X&schedule=X&override=X&mode=X

Parameters
cameraNum - the number of the camera, or -1 for all cameras
schedule - which schedule to set, as follows:

0Unarmed 24/7
1Armed 24/7
2Armed Sunrise To Sunset
3Armed Sunset To Sunrise
Custom schedule IDs can be obtained from the System Information data (see below)
override - which schedule override to set, as follows:
0No override
1Unarmed Until Next Scheduled Event
2Armed Until Next Scheduled Event
3Unarmed For 1 Hour
4Armed For 1 Hour
5Unarmed For 2 Hours
6Armed For 2 Hours
7Unarmed For 3 Hours
8Armed For 3 Hours
9Unarmed For 4 Hours
10Armed For 4 Hours
11Unarmed For 5 Hours
12Armed For 5 Hours
13Unarmed For 6 Hours
14Armed For 6 Hours

mode - the mode(s) to set the schedule for, as follows:

CContinuous-capture mode
MMotion-capture mode
AActions mode

Example
setSchedule?cameraNum=0&schedule=1&override=0&mode=CA

Returned data
'OK' as text if the command was accepted.


Invoke a schedule preset

Request format
setPreset?id=X

Parameters
id - the schedule preset to invoke, as obtained from the System Information data (see below)

Example
setPreset?id=100

Returned data
'OK' as text if the command was accepted.


Get Camera Modes

Request format
cameramodes?cameraNum=X

Parameters
cameraNum - the number of the camera

Example
cameramodes?cameraNum=0

Returned data
Three lines of plain text that specifies the armed status of Continuous Capture, Motion Capture and Actions respectively. For example:

C:ARMED
M:DISARMED
A:ARMED

NOTE: Depending on the version, SecuritySpy may use either a Line Feed (10) or Carriage Return (13) between lines.


Settings

Camera settings

Request format
HTTP POST to camerasettings with any of the following parameters:

cameraNumThe camera number (REQUIRED)
actionThe action value, normally save (REQUIRED)
ndInputNumberNetwork device input number
ndFrameRateNetwork device frame rate
ndVideoWidthNetwork device video width
ndVideoHeightNetwork device video height
ndDisablePTZNetwork device 'disable PTZ' option (0/1)
camEnabledCheckCamera enabled (0/1)
mdCheckMotion detection enabled (0/1)
cameraNameCamera name (UTF-8)
mdSensitivityTextMotion detection sensitivity (0-100)
mdTriggerTimeMotion detection trigger time multiplied by 2
transformationMenuImage transformation (0-5)
overlayCheckOverlay enabled (0/1)
overlayTextOverlay text (UTF-8)
overlayFontSizeOverlay font size
overlayPositionOverlay position (0-3)
mdSoundTriggerCheckTrigger on sound enabled (0/1)
mdSoundTriggerTextSound level trigger value (1-100)
mcThresholdHMotion Capture human AI threshold
mcThresholdVMotion Capture vehicle AI threshold
aThresholdHActions human AI threshold
aThresholdVActions vehicle AI threshold
ccCaptureMovieCheckContinuous Capture movie recording enabled (0/1)
ccFPSTextContinuous Capture movie recording frame rate
ccImageCaptureCheckContinuous Capture image recording enabled (0/1)
ccImageCaptureIntervalTextContinuous Capture image recording interval
ccFTPUpdateCheckWebcam image enabled (0/1)
ccFPTUpdateFreqWebcam image interval
mcCaptureMovieCheckMotion Capture movie recording enabled (0/1)
mcFrameRateTextMotion Capture movie recording frame rate
mcPreCaptureTextMotion Capture pre-capture
mcPostCaptureTextMotion Capture post-capture
mcCaptureImageCheckMotion Capture image capture enabled (0/1)
mcImageFreqTextMotion Capture image capture frequency
mcImagePostCaptureTextMotion Capture image capture post-capture
emailTextActions notification email address (ASCII)
frontCheckActions 'come to front' enabled (0/1)
delayTextActions delay before
resetTimeTextActions reset time
ccFTPUploadMoviesCheckEnable upload of Continuous-Capture movies (0/1)
ccFTPUploadImagesCheckEnable upload of Continuous-Capture images (0/1)
mdFTPUploadMoviesCheckEnable upload of Motion-Capture movies (0/1)
mcUploadImagesCheckEnable upload of Motion-Capture images (0/1)

Example
cameraNum=9&ccCaptureMovieCheck=1&ccFPSText=5&action=save

General settings

Request format
HTTP POST to preferences with any of the following parameters:

actionThe action value, normally save (REQUIRED)
camInfoCheckDisplay info in video windows enabled (0/1)
halfRateCheckDisplay cameras at half frame rate enabled (0/1)
fullVolCheckFull volume before playing sounds enabled (0/1)
autoSleepCheckAllow automatic Mac sleep enabled (0/1)
emailTextEmail address for error reports (ASCII)
statsEmailTextEmail address for daily statistics (ASCII)
emailImageCountNumber of images included in triggered emails
emailImageFPSEmailed image capture frame rate
emailSubjectTextEmail subject line (UTF-8)
emailImageSizeEmailed image scaling (0-5)
bonjourCheckWeb server Bonjour enabled (0/1)
realmTextWeb server realm text (ASCII)
ddnsTextWeb server DDNS name (ASCII)

Example
camInfoCheck=1&halfRateCheck=0&action=save


Miscellaneous

HTML/XML page containing list of sounds

Request format
sounds[?format=X]

Parameters
format - the format of the returned data: 'html' or 'xml'

Returned data
An HTML or XML page with a list of sounds installed in the SecuritySpy server with links. Clicking on a link will play the sound on the server computer.


HTML/XML page containing list of scripts

Request format
scripts[?format=X]

Parameters
format - the format of the returned data: 'html' or 'xml'

Returned data
An HTML or XML page with a list of scripts installed in the SecuritySpy server with links. Clicking on a link will run the script on the server computer.


Event Stream

Request format
eventStream?version=3[&format=multipart]

Returned data
A stream of events, in either plain text or as a multipart/mixed stream (if the 'format' parameter is specified as above), that provides live events for all cameras. Each line is as follows:

[TIME] [EVENT NUMBER] [CAMERA NUMBER] [EVENT] [INFO]

[TIME] is specified in the order year, month, day, hour, minute, second and is always 14 characters long
[EVENT NUMBER] increments for each subsequent event
[CAMERA NUMBER] specifies the camera number, or X if the event does not refer to a specific camera
[INFO] is event-specific information
[EVENT] describes the event, as follows:

ARM_C
The camera's Continuous Capture mode has been armed

DISARM_C
The camera's Continuous Capture mode has been disarmed

ARM_M
The camera's Motion Capture mode has been armed

DISARM_M
The camera's Motion Capture mode has been disarmed

ARM_A
The camera's Actions mode has been armed

DISARM_A
The camera's Actions mode has been disarmed

ERROR
An error has been generated for the specified camera
INFO: error codes and error description

CONFIGCHANGE
There has been a configuration change for the specified camera

OFFLINE
The specified camera has just gone offline

ONLINE
The specified camera has just come online

MOTION
Motion has been detected in the specified camera
INFO: the position and size of the bounding box of the motion, in the format X Y W H, with the origin being the top left of the camera's image

CLASSIFY
AI classification results for the specified camera
INFO: the prediction percentages from the human and/or vehicle classifier

TRIGGER_M
Motion Capture has been triggered for the specified camera
INFO: trigger reason code (see below)

TRIGGER_A
Actions have been triggered for the specified camera
INFO: trigger reason code (see below)

FILE
For images, this happens immediately when an image file is created; for movie files, this happens when a recording has finished and the file has been completed (which may be some time after it was actually created).
INFO: the full path to the file

Bettertouchtool 2 297 – customize multi touch trackpad gestures. NULL
This 'heartbeat' event is sent every 10 seconds to confirm that the stream is still active

Trigger reason codes
These apply to the TRIGGER_M and TRIGGER_A events. The sum of the following codes indicates the reason(s) for the trigger:
1: Video motion detection
2: Audio detection
4: AppleScript
8: Camera event
16: Web server event
32: Triggered by another camera
64: Manual trigger
128: Human
256: Vehicle

Example (plain text)

Notes

  • INFO may or may not be supplied; your parser must not require its presence or absence.
  • New EVENT types may be added in the future; your parser should ignore unknown event types.

Trigger motion-detection for a camera

Request format
triggermd?cameraNum=X

Parameters
cameraNum - the number of the camera, or -1 for all cameras

Example
triggermd?cameraNum=0


System Information

Request format
systemInfo

Returned data
An XML document listing details of available cameras (all cameras that the client has authentication to view).

Example



SecuritySpy
4.0



0
ComputerCam
yes
640
480
armed
armed
disarmed
no
0
iSight
Local


1
Front Door
yes
1200

Security Spy 4 2 9 – Multi Camera Video Surveillance App Free

800
armed
armed
armed
yes
11
Axis Network Camera
Network
192.168.1.10
80


Camera parameters
the camera number
the camera name
whether this camera is connected (yes or no)
the pixel with of this camera's video
the pixel height of this camera's video
whether Continuous Capture mode is armed
whether Motion Capture mode is armed
whether Actions mode is armed
whether the camera is associated with an active audio input (yes or no)
a constant describing the PTZ capabilities of the camera - see the 'PTZ capabilities' request above
the name of the underlying video device
the type of device this is: Network, Local or DV

the network address (network devices only)
the network port (network devices only)


Authentication in URL

It is possible to encode a username and password into the URL itself, so that when it's used, the web browser won't ask for login details. This can be useful, for example, if you want to password-protect your SecuritySpy server, but then make a particular camera publicly available. With SecuritySpy there are two way to do this:

The standard way to encode the username and password into the URL is like this:

Security Spy 4 2 9 – Multi Camera Video Surveillance Apps

http://username:password@address/resource

SecuritySpy also supports the use of an auth parameter on any resource, like this:

Anytrans 4 9 4 – complete ios content management. http://address/resource?auth=xyz

Parameters to HTML requests go after a question mark character after the resource name, and if there are multiple parameter=value pairs, they are separated by ampersand characters, for example:

Security Spy 4 2 9 – Multi Camera Video Surveillance App Camera

http://address/resource?param1=value1¶m2=value2&auth=xyz

The value of the auth parameter is the Base64-encoded version of the string username:password. So for example, to request a video stream for camera 1, where the username is user and the password is pass, the URL would be as follows:

http://address/video?cameraNum=1&auth=dXNlcjpwYXNz






broken image